II : Les bases de données relationnelles¶
Cours : Les anomalies¶
TD : Contraintes d’intégrité et anomalies¶
Exercice 1 : contraintes d’intégrité¶
On définit une table Citoyens (clé primaire : Id), et une table Ville (clé primaire : Ville).
Id | Nom | Prénom | Date de naissance | Ville |
---|---|---|---|---|
1 | Dupont | Jeanette | 15/12/1972 | Paris |
2 | Terta | Henry | 12/06/1978 | Nice |
3 | Grimard | Aubin | 25/11/1999 | Marseille |
Ville | Maire | Population |
---|---|---|
Paris | Anne Hidalgo | 2 175 601 |
Nice | Christian Estrosi | 342 522 |
Marseille | Benoit Payan | 861 635 |
-
Quelle est la clé étrangère identifiable dans la table Citoyens ?
Dans chacune des questions suivantes, indiquer quelle contrainte d’intégrité n’est pas respectée.
-
Que se passe-t-il si l’on souhaite insérer l’enregistrement suivant dans Citoyen ?
(3, Tartempion, Eva, 26/10/1992, Paris)
-
Que se passe-t-il si l’on souhaite insérer l’enregistrement suivant dans Citoyen ?
(4, Tartempion, Roger, 01/08/1989, Brest)
-
Que se passe-t-il si l’on supprime l’enregistrement suivant dans Ville ?
(Marseille, Benoit Payan, 861 635)
Exercice 2 : conception d’une table de livres¶
Soit la table Livres suivante, dont la clé primaire est id :
id | titre | publication | auteur | naissance | note |
---|---|---|---|---|---|
1 | Le temps des tempêtes | 2020 | Nicolas Sarkozy | 1955 | 3 |
2 | Pas plus de 4 heures de sommeil | 2014 | Marlène Schiappa | 1982 | 5 |
3 | Trop vite | 2017 | Nabilla Benatia | 1992 | 1 |
4 | Dune | 1965 | Frank Herbert | 1920 | 10 |
Pour chacune des questions suivantes, indiquer quel type d’anomalie est repéré si c’est le cas.
-
Que se passe-t-il dans la table si je rajoute le livre "J’arrête de m’épuiser ! 21 jours pour prévenir le burn-out" de Marlène Schiappa, née en 1982, livre paru en 2015, avec une note de 9 ?
-
Que se passe-t-il si, après avoir inséré le n-uplet de la question précédente, je modifie la date de naissance de Marlène Schiappa dans l’enregistrement dont l’id est 1 ?
-
Que se passe-t-il si on supprime le livre "Trop vite" de la table ?
-
Proposer une autre structure de la base de données permettant d’éviter les anomalies repérées.
Exercice 3 : conception d’une table de films¶
Soit la table Films suivante, dont la clé primaire est filmID :
filmID | titre | annee | acteur principal | nationalité |
---|---|---|---|---|
1 | Le Seigneur des Anneaux : la communauté de l’anneau | 2001 | Elijah Wood | anglaise |
2 | Le Seigneur des Anneaux : les deux tours | 2002 | Elijah Wood | anglaise |
3 | Match Point | 2005 | Scarlett Johansson | américaine |
4 | OSS 117 : Le Caire, nid d’espions | 2006 | Jean Dujardin | française |
5 | Star Wars : Le retour du Jedi | 1983 | Mark Hamill | américaine |
Pour chacune des questions suivantes, indiquer quel type d’anomalie est repéré si c’est le cas.
-
Que se passe-t-il lorsque l’on supprime l'enregistrement correspondant au filmID 5 ?
-
Que se passe-t-il lorsque l’on modifie la nationalité d’Elijah Wood, qui est en fait américaine, dans l'enregistrement correspondant au filmID 1 ?
-
Que se passe-t-il lorsque l’on ajoute l'enregistrement suivant :
(6, Star Wars : Un nouvel espoir, 1977, Mark Hamill, américaine) ?
-
Proposer une autre structure de la base de données permettant d’éviter les anomalies repérées.
-
Si l’on voulait ajouter des informations sur les différents acteurs des films, et pas seulement l’acteur principal, quel modèle pourrait-on proposer ?