Repérer des anomalies dans une base de données relationnelle
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
Dans une base de données relationnelle, repérer les anomalies dans le schéma d’une relation.
- Les données d’une base de données doivent respecter certaines règles, sous peine de générer des anomalies.
- On peut repérer les anomalies d’une base de données en étudiant le schéma d’une relation de cette base de données.
- Les anomalies peuvent être des redondances de données ou des anomalies d’insertion, de suppression, de mise à jour de ces données.
- Base de données et schéma relationnel
- L’algèbre relationnel
Les données d’une base de données relationnelle sont rangées dans des tables nommées relations, qui contiennent différents enregistrements (lignes) qui doivent tous être différents.
Chaque colonne de la table est appelée un attribut de la relation, et chaque attribut doit prendre une seule valeur pour chaque enregistrement.
Les données d’une base de données doivent respecter certaines règles, sous peine de générer des anomalies.
On peut repérer les anomalies d’une base de données en étudiant le schéma d’une relation de cette base de données, ou le schéma relationnel de cette base de données.
- Le schéma d’une relation définit cette relation. Il est constitué du nom de la relation, du nom de ses attributs, de la clé primaire et des clés étrangères.
- Le schéma relationnel correspond à l'ensemble des relations présentes dans une base de données, qui sont associées entre elles.
Parmi les anomalies les plus courantes dans une base de données, il peut y avoir une redondance des données, ou encore un problème pour modifier, supprimer ou insérer des données.
Derrière ces notions d’anomalies se cachent des notions de dépendances fonctionnelles et de normalisation des relations, mais cela est hors programme.
Si des enregistrements sont redondants dans une ou plusieurs relations (tables), on peut en effet oublier de modifier l’un de ces enregistrements lors d’une mise à jour ; on aurait alors par exemple deux produits totalement identiques mais avec un prix différent, cela crée une incohérence qui risque de faire bugger le programme.
Dans une base de données, on doit avoir des valeurs d'attributs différents pour chaque enregistrement, afin de conserver l'unicité des enregistrements.
On étudie le schéma de la relation CLIENTS, où on repère les répétitions de données par des fonds de couleurs.
CLIENTS | |||||
id | nom | ville | num_livre | cours | note |
101 | ABC | Toulon | 2345 | NSI | 15 |
234 | DEF | Paris | 2345 | NSI | 16 |
101 | ABC | Toulon | 45 | Maths | 15 |
342 | RET | Paris | 67 | SVT | 16 |
On étudie le schéma de la relation CLIENTS.
CLIENTS | |||||
id | nom | ville | num_livre | cours | note |
101 | ABC | Toulon | 2345 | NSI | 15 |
234 | DEF | Paris | 2345 | NSI | 16 |
101 | ABC | Toulon | 45 | Maths | 15 |
342 | RET | Paris | 67 | SVT | 16 |
On souhaite modifier le premier enregistrement (première ligne), en changeant la ville associée à ABC.
Cela va nécessiter la modification du troisième enregistrement. Du coup on multiplie les actions, les risques d’erreurs et on risque aussi d’en oublier, notamment si les relations comportent plusieurs dizaines de milliers d’enregistrements.On étudie le schéma de la relation CLIENTS.
CLIENTS | |||||
id | nom | ville | num_livre | cours | note |
101 | ABC | Toulon | 2345 | NSI | 15 |
234 | DEF | Paris | 2345 | NSI | 16 |
101 | ABC | Toulon | 45 | Maths | 15 |
342 | RET | Paris | 67 | SVT | 16 |
CLIENTS | |||||
id | nom | ville | num_livre | cours | note |
101 | ABC | Toulon | 2345 | NSI | 15 |
234 | DEF | Paris | 2345 | NSI | 16 |
101 | ABC | Toulon | 45 | Maths | 15 |
- Un attribut ne doit pas forcément comporter une valeur. Lors de la création de la relation et de ses attributs, on peut indiquer que certains attributs doivent être remplis obligatoirement en ajoutant NOT NULL.
- Attention, l’attribut qui correspond à la clé primaire doit toujours contenir une valeur. Si on considère que toutes les cases doivent être remplies, cela peut compliquer l’ajout d’un nouvel enregistrement.
On considère le schéma de la relation CLIENTS, où on considère que toutes les cases doivent être remplies.
CLIENTS | |||||
id | nom | ville | num_livre | cours | note |
101 | ABC | Toulon | 2345 | NSI | 15 |
234 | DEF | Paris | 2345 | NSI | 16 |
101 | ABC | Toulon | 45 | Maths | 15 |
342 | RET | Paris | 67 | SVT | 16 |
Vous avez obtenu75%de bonnes réponses !