Développement d'applications

avec une base de données

Introduction

Définition

Une base de données est une structure qui contient de très grandes quantités d'informations.

Exemple

  1. Agendas qui contiennent les noms, adresses et numéros de téléphone de contacts.
  2. Livres de recettes.
  3. Bibliothèque
  4. Post-it

Problèmes pratiques

Le fait de devoir gérer de très grandes quantités d'informations nous imposent 4 besoins

  1. Accumulation : il faut mettre en oeuvre un système d'entrée de données pour faciliter l'enregistrement et la conservation des données. Par exemple, dans le cas des agendas papiers, il peut arriver que l'agenda soit plein. Comment alors retranscrire tous ses contacts?
  2. Maintenance: il arrive que certaines données changent au cours du temps. Par exemple, un client peut changer son numéro de téléphone. Comment éviter les grabouillis?
  3. Recherche: le but d'accumuler des données est de pouvoir retrouver les informations. Comment les organiser pour en choisir une en particulier, rapidement. Par exemple, retrouver le dossier d'un client qui se présente au comptoir?
  4. Rapport : le but d'accumuler des données est de pouvoir retrouver les informations. Comment les organiser pour créer des rapports de synthèses ou des statistiques. Par exemple, monter des états financiers à partir des transactions de l'année?

SGBD

Signifie "Système de Gestion de Base de Données". C'est une organisation des informations qui permet de remplir les 4 besoins précédents.

En principe, rien n'oblige à ce que le SGBD soit un logiciel. En pratique, avec les coûts assez bas et la quantité grandissante des besoins, les SGBD sont tous des logiciels. Exemple : Access (Microsoft Office), Oracle (très puissant et assez couteux pour un individu), MySql (Oracle, gratuit), Derby (Apache, gratuit).

Logique formelle

La logique utilisée par les sgbd pour remplir leurs fonctions est de diviser les données en structures très formelles et homogènes, qui peuvent être contenues dans un tableau. Toutes les données non homogènes doivent être regroupées dans un autre ou plusieurs autres tableaux.

La souplesse des sgbd vient de leur capacité à relier les différents tableaux.

De plus, les SGBD mettent à la disposition des développeurs différents outils pour travailler les données, tel qu'illustré dans la figure suivante:

Mode multi-utilisateurs

En pratique, il est fréquent que les accès à la base de données se fassent de façon concurrente, i.e. que plusieurs utilisateurs peuvent faire des enregistrements ou des modifications en même temps.

Avec Windows (mais pas avec UNIX), lorsqu'un programme ouvre un fichier, Windows fait un "lock" sur le fichier ouvert pour interdire les accès concurrents. Les utilisateurs suivants doivent ouvrir le fichier en mode "Lecture seulement". Au contraire, il est possible d'utiliser ce mode sans problème avec les SGBD.

Module suivant