A copier dans le cahier.
Il est courant de voir les abréviations suivantes lorsque l'on parle des bases de donnéesn relationnelles :
Un SGBD (Système de gestion de base de données) est un logiciel qui stocke, gère et partage des données, en masquant la complexité sous-jacente. Il est apparu dans les années 1960 pour répondre au besoin de manipuler efficacement de grands volumes d’informations.
Contrairement à un simple fichier CSV, l’utilisateur ne gère pas directement les fichiers : c’est le SGBD qui s’en occupe.
Il existe plusieurs types de SGBD :
Un SGBD se compose de différents programmes :
Concevoir une base de données peut être extrêmement difficile sur de gros projets.
Il est nécessaire donc de faire au préalable une représentation schématique d'une future base de données, puis de l'adapter sous forme de tableaux réalisables informatiquement et enfin de l'implémenter dans un système de gestion de bases de données.
Le but de cette étape est de dégager des entités dans notre base de données.
A chaque entité, il y a un identifiant qui doit être unique afin de pouvoir distinguer sans confusion les identités entre elles.
Enfin, pour chaque entité, on peut stocker des attributs.
On représente ceci par ce schéma :

Une fois ceci fait et après avoir créer plusieurs entités, on schématise les associations entre celles-ci :

La cardinalité représente le nombre d'entités pouvant être associé à l'autre.
Dans le schéma précédent une "entité1" peut être associée à 0 ou une "entité2".
Une "entité2" peut être associée à une ou plusieurs "entité1".
Copier l'exemple fait en classe dans le cahier.
En classe est présenté le schéma entité/association.
Dans cette étape, les associations doivent être traduites soit en attribut supplémentaire, soit en entité supplémentaire.
Les entités sont d'abord recopiées à l'identique, les identifiants étant nommés "Primary Key".
Copier l'exemple fait en classe dans le cahier.
A l'aide du schéma entité/association, on construit le modèle relationnel.
Une clé primaire est un champ (ou un ensemble de champs) qui permet d’identifier de manière unique chaque ligne d’une table.
Propriétés d’une clé primaire :
Exemple :
Table ELEVE
id_eleve (clé primaire) | nom | classe
1 | Alice | 1NSI
2 | Bob | 1NSI
Une clé étrangère est un champ d’une table qui fait référence à la clé primaire d’une autre table.
Elle permet de créer un lien entre deux tables.
Exemple :
Table NOTE
id_note | id_eleve (clé étrangère) | note
1 | 1 | 15
2 | 2 | 12
Ici, id_eleve est une clé étrangère qui référence la clé primaire id_eleve de la table ELEVE.
Les clés primaires et étrangères permettent de garantir la cohérence des données :
Erreur 1 : ajouter une ligne avec une clé primaire déjà utilisée
Impossible d’ajouter un ElEve avec un id_eleve déjà présent.
La base de données refuse l’insertion.
Erreur 2 : ajouter une clé étrangère inexistante
Impossible d’ajouter une note pour un ElEve qui n’existe pas dans la table ELEVE.
Erreur 3 : supprimer une clé primaire encore référencée
Supprimer un ElEve alors que des notes utilisent encore son id_eleve provoque une erreur.
On parle de violation de l’intégrité référentielle.
À faire dans le cahier.
On considère une base de données d’un lycée avec deux tables :
ELEVE(id_eleve, nom, prenom)
INSCRIPTION(id_inscription, id_eleve, specialite)
id_eleve est la clé primaire de la table ELEVE.
id_inscription est la clé primaire de la table INSCRIPTION.
id_eleve est une clé étrangère dans INSCRIPTION qui référence ELEVE(id_eleve).
ELEVE
(1, "Durand", "Alice")
(2, "Martin", "Benoît")
(3, "Nguyen", "Chloé")
INSCRIPTION
(10, 1, "NSI")
(11, 1, "Maths")
(12, 2, "SES")
Indique la clé primaire de chaque table et explique en une phrase à quoi sert une clé primaire.
Quelle est la clé étrangère ? Explique en une phrase le rôle d’une clé étrangère.
Que se passe-t-il si on essaie d’ajouter l’élève(2, "Petit", "David") dans ELEVE ? Pourquoi ?
Que se passe-t-il si on essaie d’ajouter l’inscription (13, 4, "NSI") dans INSCRIPTION ? Pourquoi ?
On veut supprimer l’élève d’identifiant 1. Explique pourquoi cela peut provoquer une erreur et donne une solution possible.
Parmi les opérations suivantes, indique celles qui respectent l’intégrité référentielle, et justifie :
Supprimer l’inscription (11, 1, "Maths")
Supprimer l’élève(3, "Nguyen", "Chloé")
Ajouter l’inscription (14, 2, "NSI")
Ajouter l’inscription (10, 2, "NSI")