Série d'exercices — Contraintes d'intégrité, relations et clés
⚠️ CONSIGNE IMPORTANTE : Toute réponse doit être justifiée et formulée sous forme d'expression logique.
Une réponse en langage naturel seul est considérée comme incomplète.
? Exercice 1 — Relation, schéma et valeur
Soit la relation suivante :
ETUDIANT(N_etud:Dnum, Nom:Dnom, Prenom:Dnom, Age:Dage)
- Écrire formellement le schéma de la relation ETUDIANT.
- Définir par une expression l'ensemble de toutes les valeurs possibles des tuples de ETUDIANT.
- Exprimer formellement ce qu'est un tuple valide de la relation ETUDIANT.
- Dire si deux relations ayant le même schéma ont nécessairement la même valeur, et justifier par une expression.
- Écrire une expression montrant que l'ordre des attributs dans un tuple n'a pas d'importance.
? Exercice 2 — Contraintes sur les domaines d'attributs
On considère l'attribut Age de la relation ETUDIANT.
- Écrire une contrainte d'intégrité imposant Age ∈ [0,130].
- Écrire une contrainte imposant que tout étudiant mineur ne puisse pas être marié.
- Montrer par une expression que cette contrainte dépend d'un autre attribut.
- Dire si cette contrainte est une contrainte de domaine simple ou contextuelle (justification par expression).
- Donner une expression montrant un cas de violation de cette contrainte.
? Exercice 3 — Définition formelle des clés
Soit la relation R(A,B,C).
- Écrire l'expression formelle traduisant « A est une clé de R ».
- Écrire l'expression traduisant « {A,B} est une super-clé de R ».
- Écrire l'expression traduisant « A est une clé minimale ».
- Écrire une expression montrant que {A,B} peut être une super-clé sans être une clé.
- Exprimer le fait qu'une clé est définie indépendamment des valeurs actuelles de la relation.
? Exercice 4 — Super-clés et clés candidates
On considère une relation R(A,B,C,D).
- Donner une expression indiquant que {A,B} est une super-clé.
- Donner une expression indiquant que {A} est aussi une super-clé.
- Écrire une expression montrant que {A,B} n'est pas minimale.
- Exprimer formellement que {A} est une clé candidate.
- Écrire une expression montrant que R peut avoir plusieurs clés candidates.
? Exercice 5 — Unicité et identification des tuples
Soit la relation R(A,B).
- Écrire une expression garantissant l'unicité des valeurs de A.
- Écrire une expression montrant que deux tuples distincts ne peuvent pas avoir la même valeur de A.
- Écrire une expression montrant que deux tuples distincts peuvent avoir la même valeur de B.
- Exprimer formellement la violation de l'unicité de A.
- Indiquer par une expression si B peut être une clé.
? Exercice 6 — Contraintes dépendant d'associations
Soient les entités PERSONNE et l'association MARIAGE(Personne1, Personne2).
- Écrire une contrainte exprimant que toute personne participant à MARIAGE est mariée.
- Écrire une contrainte exprimant que seul un homme peut jouer le rôle époux.
- Écrire une expression montrant que cette contrainte dépend du rôle.
- Montrer par une expression qu'une cardinalité seule ne suffit pas à garantir cette règle.
- Écrire une expression montrant un cas de violation possible.
? Exercice 7 — Contraintes inter-attributs
Soit une relation DATE(jour, mois).
- Écrire une contrainte pour mois ∈ {1,…,12}.
- Écrire une contrainte reliant mois et jour pour février.
- Écrire une contrainte pour les mois à 30 jours.
- Montrer par une expression que ces contraintes ne sont pas indépendantes.
- Donner une expression montrant une date invalide.
? Exercice 8 — Base de données relationnelle
Soit une base de données BD = {R1, R2}.
- Écrire l'expression définissant la valeur de la base de données.
- Écrire une contrainte d'intégrité portant sur R1 uniquement.
- Écrire une contrainte portant simultanément sur R1 et R2.
- Montrer par une expression qu'une BD peut être incohérente même si chaque relation est valide isolément.
- Exprimer une contrainte globale sur la BD.
? Exercice 9 — Clés et contraintes d'intégrité
Soit la relation ETUDIANT(N_etud, Nom, Age).
- Écrire une contrainte imposant que N_etud soit clé.
- Écrire une contrainte sur Age dépendant de l'inscription de l'étudiant.
- Montrer par une expression que la clé n'impose aucune contrainte sur Age.
- Écrire une expression montrant que deux étudiants peuvent avoir le même nom.
- Écrire une expression montrant une violation de la clé.
? Exercice 10 — Synthèse (niveau élevé)
Soit une relation R(A,B,C).
- Écrire une contrainte indiquant que A est clé.
- Écrire une contrainte indiquant que B dépend de A.
- Écrire une contrainte reliant B et C conditionnellement.
- Montrer par une expression que cette contrainte ne peut pas être une simple contrainte de domaine.
- Écrire une expression démontrant que toutes ces contraintes peuvent être vraies simultanément.