Quelques notions de base
Rappel :
L'organisation en fichiers possède les inconvénients suivants :
Lourdeur d'accès aux données. En pratique, pour chaque accès, même le plus simple, il faudrait écrire un programme.
Manque de sécurité. Si tout programmeur peut accéder directement aux fichiers, il est impossible de garantir la sécurité et l'intégrité des données de ce fichier.
Redondance de données. Étant donné que les fichiers sont généralement conçus par des équipes différentes, il y a un risque qu'un même ensemble de données figurent dans deux ou plusieurs fichiers : c'est la redondance. En plus du gaspillage de l'espace disque, il y a un risque d'incohérence dans le cas ou la mise à jour n'a pas touché la totalité des copies.
Limites à l'utilisation des fichiers : l'utilisation de fichiers impose d'une part, à l'utilisateur de connaître l'organisation de chaque fichier qu'il utilise afin de pouvoir accéder aux informations dont il a besoin et, d'autre part, d'écrire des programmes pour pouvoir effectivement manipuler ces informations. Les utilisateurs, quant à eux, ne veulent plus de systèmes d'information constitués d'un ensemble de programmes inflexibles et de données inaccessibles à tout non spécialiste; ils souhaitent avoir des systèmes d'informations globaux, cohérents, directement accessibles (sans qu'ils aient besoin d'écrire des programmes ou de demander à un programmeur de les écrire pour eux) et des réponses immédiates aux questions qu'ils posent.
On a donc recherché des solutions tenant compte à la fois des désirs des utilisateurs et des progrès techniques. Cette recherche a abouti au concept de base de données.
Éléments constituant une information
Les données sont généralement regroupées selon leur appartenance à un objet du monde réel.
L'ensemble d'objets homogènes (cohérents) constitue ce qui est couramment appelé entité.
Une entité est décrite par un ensemble d'attributs (ou propriétés). Chacun de ces attributs prend ses valeurs dans un ensemble appelé Domaine.
Parfois, l'information provient de deux ou plusieurs entités reliées entres elles par ce qui est couramment appelé association.
Exemple :
Compléter les deux derniers exemples de l'image précédente.
Définition :
Une base de données est une collection de données structurées relatives à un ou plusieurs domaines du monde réel.
Le modèle de base de données le plus utilisé est le modèle relationnel basé sur des tables ayant une clé, par la répétition de clé d'une table dans une autre, les tables peuvent être liées par un mécanisme de jointure.
Simulation : Croiser les données
Complément : Créer et alimenter une base de données . . .
Afin de retrouver un ami rencontré sur internet, vous vous munissez de la liste, récupérée sur http://opendata.paris.fr, des noms et des adresses de ces lieux parisiens où le café est encore servi pour moins d'un euro. La liste se trouve dans le fichier suivant :
À l'aide du logiciel DB Browser for SQLite, créez une nouvelle base de données dans un fichier nommé cafes.db.
(Pour faciliter l'installation au lycée, si vous êtes sous Windows vous pouvez choisir la version portable)
a) Créez la table dont le schéma relationnel est : cafes( nom:text, adresse:text)
b) En utilisant la fonction Importer du menu, importez les données du fichier cafe.csv ci-joint.
c) Sachant qu'il aime retrouver son cantal natal, à quelle adresse le retrouverez-vous ?
d) Combien de cafés de la base ont leur adresse dans le sixième arrondissement ?
Simulation : Activités sur les bases de données issues de l'académie de Clermont-Ferrand
Ce texte montre comment sont constituées physiquement les bases de données.
Nous souhaitons ici fournir des éléments de réponse à la question de savoir comment l'on arrive à constituer ces bases de données et comment l'on procède pour rendre ensuite ces données accessibles.
Dans ce document nous construisons une base de données bien réelle.
L'approche est donc plutôt technique et nous permet de comprendre comment l'on fait pour créer de toutes pièces une base de données en utilisant alternativement le langage HTML et le langage PHP.