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)

  1. Écrire formellement le schéma de la relation ETUDIANT.
  2. Définir par une expression l'ensemble de toutes les valeurs possibles des tuples de ETUDIANT.
  3. Exprimer formellement ce qu'est un tuple valide de la relation ETUDIANT.
  4. Dire si deux relations ayant le même schéma ont nécessairement la même valeur, et justifier par une expression.
  5. É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.

  1. Écrire une contrainte d'intégrité imposant Age ∈ [0,130].
  2. Écrire une contrainte imposant que tout étudiant mineur ne puisse pas être marié.
  3. Montrer par une expression que cette contrainte dépend d'un autre attribut.
  4. Dire si cette contrainte est une contrainte de domaine simple ou contextuelle (justification par expression).
  5. 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).

  1. Écrire l'expression formelle traduisant « A est une clé de R ».
  2. Écrire l'expression traduisant « {A,B} est une super-clé de R ».
  3. Écrire l'expression traduisant « A est une clé minimale ».
  4. Écrire une expression montrant que {A,B} peut être une super-clé sans être une clé.
  5. 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).

  1. Donner une expression indiquant que {A,B} est une super-clé.
  2. Donner une expression indiquant que {A} est aussi une super-clé.
  3. Écrire une expression montrant que {A,B} n'est pas minimale.
  4. Exprimer formellement que {A} est une clé candidate.
  5. É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).

  1. Écrire une expression garantissant l'unicité des valeurs de A.
  2. Écrire une expression montrant que deux tuples distincts ne peuvent pas avoir la même valeur de A.
  3. Écrire une expression montrant que deux tuples distincts peuvent avoir la même valeur de B.
  4. Exprimer formellement la violation de l'unicité de A.
  5. 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).

  1. Écrire une contrainte exprimant que toute personne participant à MARIAGE est mariée.
  2. Écrire une contrainte exprimant que seul un homme peut jouer le rôle époux.
  3. Écrire une expression montrant que cette contrainte dépend du rôle.
  4. Montrer par une expression qu'une cardinalité seule ne suffit pas à garantir cette règle.
  5. Écrire une expression montrant un cas de violation possible.

? Exercice 7 — Contraintes inter-attributs

Soit une relation DATE(jour, mois).

  1. Écrire une contrainte pour mois ∈ {1,…,12}.
  2. Écrire une contrainte reliant mois et jour pour février.
  3. Écrire une contrainte pour les mois à 30 jours.
  4. Montrer par une expression que ces contraintes ne sont pas indépendantes.
  5. Donner une expression montrant une date invalide.

? Exercice 8 — Base de données relationnelle

Soit une base de données BD = {R1, R2}.

  1. Écrire l'expression définissant la valeur de la base de données.
  2. Écrire une contrainte d'intégrité portant sur R1 uniquement.
  3. Écrire une contrainte portant simultanément sur R1 et R2.
  4. Montrer par une expression qu'une BD peut être incohérente même si chaque relation est valide isolément.
  5. Exprimer une contrainte globale sur la BD.

? Exercice 9 — Clés et contraintes d'intégrité

Soit la relation ETUDIANT(N_etud, Nom, Age).

  1. Écrire une contrainte imposant que N_etud soit clé.
  2. Écrire une contrainte sur Age dépendant de l'inscription de l'étudiant.
  3. Montrer par une expression que la clé n'impose aucune contrainte sur Age.
  4. Écrire une expression montrant que deux étudiants peuvent avoir le même nom.
  5. Écrire une expression montrant une violation de la clé.

? Exercice 10 — Synthèse (niveau élevé)

Soit une relation R(A,B,C).

  1. Écrire une contrainte indiquant que A est clé.
  2. Écrire une contrainte indiquant que B dépend de A.
  3. Écrire une contrainte reliant B et C conditionnellement.
  4. Montrer par une expression que cette contrainte ne peut pas être une simple contrainte de domaine.
  5. Écrire une expression démontrant que toutes ces contraintes peuvent être vraies simultanément.

Notations utilisées

  • t[A] = valeur de l’attribut A dans le tuple t
  • R est un ensemble de tuples
  • Dom(A) ou DA = domaine de A

? Exercice 1 — Relation, schéma et valeur (ETUDIANT)

Donné : ETUDIANT(N_etud:Dnum, Nom:Dnom, Prenom:Dnom, Age:Dage)

  1. Schéma formel
    ETUDIANT(N_etud:Dnum, Nom:Dnom, Prenom:Dnom, Age:Dage)
  2. Ensemble de tous les tuples possibles
    Tposs = {t = {N_etud:n, Nom:x, Prenom:y, Age:a} | n∈Dnum ∧ x∈Dnom ∧ y∈Dnom ∧ a∈Dage}
  3. Tuple valide
    t∈ETUDIANT ⇒ (t[N_etud]∈Dnum ∧ t[Nom]∈Dnom ∧ t[Prenom]∈Dnom ∧ t[Age]∈Dage)
  4. Même schéma ⇒ même valeur ?
    Sch(R₁)=Sch(R₂) ∧ ∃t (t∈R₁ ∧ t∉R₂) ⇒ Valeur(R₁)≠Valeur(R₂)
  5. Ordre des attributs sans importance
    {A₁:v₁,…,An:vn} = {Aπ(1):vπ(1),…,Aπ(n):vπ(n)} (π permutation)

? Exercice 2 — Contraintes sur domaines d'attributs (Age)

  1. Age∈[0,130]
    ∀t∈ETUDIANT, 0≤t[Age]≤130
  2. Mineur ⇒ pas marié (supposons etat_civil)
    ∀t∈ETUDIANT, (t[Age]<18) ⇒ (t[etat_civil]≠'marié')
  3. Dépendance à un autre attribut (âge ↔ état civil)
    ∃t∈ETUDIANT, (t[Age]<18) ∧ (t[etat_civil]='marié')
  4. Domaine simple ou contextuelle
    ∃A,B, ∀t, (t[A]=v) ⇒ (t[B]∈S) ⇒ CIcontextuelle
  5. Cas de violation
    ∃t∈ETUDIANT, (t[Age]<18) ∧ (t[etat_civil]='marié')

? Exercice 3 — Clés (R(A,B,C))

  1. « A est une clé de R »
    ∀t₁,t₂∈R, t₁[A]=t₂[A] ⇒ t₁=t₂
  2. « {A,B} est une super-clé de R »
    ∀t₁,t₂∈R, (t₁[A]=t₂[A] ∧ t₁[B]=t₂[B]) ⇒ t₁=t₂
  3. « A est une clé minimale »
    (∀t₁,t₂∈R, t₁[A]=t₂[A] ⇒ t₁=t₂) ∧ ¬(∃X⊂{A}, SuperCle(X))
  4. Super-clé non clé
    SuperCle({A,B}) ∧ SuperCle({A}) ⇒ ¬Cle({A,B})
  5. Clé intentionnelle (valable pour toutes extensions)
    Cle(K)∈Sch(R) ∧ ∀R′, (Sch(R′)=Sch(R))⇒(∀t₁,t₂∈R′, t₁[K]=t₂[K] ⇒ t₁=t₂)

? Exercice 4 — Super-clés et clés candidates (R(A,B,C,D))

  1. {A,B} super-clé
    ∀t₁,t₂∈R, (t₁[A]=t₂[A] ∧ t₁[B]=t₂[B]) ⇒ t₁=t₂
  2. {A} super-clé
    ∀t₁,t₂∈R, t₁[A]=t₂[A] ⇒ t₁=t₂
  3. {A,B} non minimale
    SuperCle({A,B}) ∧ ∃Y⊂{A,B}, SuperCle(Y)
  4. {A} clé candidate
    SuperCle({A}) ∧ ¬∃Y⊂{A}, SuperCle(Y)
  5. Plusieurs clés candidates
    ∃K₁,K₂⊆Attr(R), (K₁≠K₂) ∧ Cle(K₁) ∧ Cle(K₂)

? Exercice 5 — Unicité (R(A,B))

  1. Unicité de A
    ∀t₁,t₂∈R, t₁[A]=t₂[A] ⇒ t₁=t₂
  2. Deux tuples distincts ne peuvent pas avoir même A
    ∀t₁,t₂∈R, (t₁≠t₂) ⇒ (t₁[A]≠t₂[A])
  3. Deux tuples distincts peuvent avoir même B
    ∃t₁,t₂∈R, (t₁≠t₂) ∧ (t₁[B]=t₂[B])
  4. Violation unicité de A
    ∃t₁,t₂∈R, (t₁≠t₂) ∧ (t₁[A]=t₂[A])
  5. « B peut être une clé » (condition)
    Cle({B}) ⇔ ∀t₁,t₂∈R, t₁[B]=t₂[B] ⇒ t₁=t₂

? Exercice 6 — Associations (PERSONNE, MARIAGE)

  1. Participation ⇒ état civil marié
    ∀x,y∈Personne, ⟨x,y⟩∈Mariage ⇒ x[etat_civil]='marié'
  2. Seuls les hommes peuvent être « époux »
    ∀x,y∈Personne, ⟨époux:x, y⟩∈Mariage ⇒ x[sexe]='M'
  3. Dépendance au rôle
    ∀x,y, (⟨époux:x,y⟩∈Mariage ⇒ x[sexe]='M') ∧ ¬(⟨x,y⟩∈Mariage ⇒ x[sexe]='M')
  4. Cardinalités insuffisantes
    Card(Mariage) ∧ ∃⟨époux:x,y⟩∈Mariage, x[sexe]≠'M'
  5. Cas de violation
    ∃x,y, ⟨époux:x,y⟩∈Mariage ∧ x[sexe]='F'

? Exercice 7 — DATE(jour, mois)

  1. mois ∈ {1..12}
    ∀t∈DATE, 1≤t[mois]≤12
  2. février
    ∀t∈DATE, (t[mois]=2) ⇒ (1≤t[jour]≤29)
  3. mois à 30 jours
    ∀t∈DATE, (t[mois]∈{4,6,9,11}) ⇒ (1≤t[jour]≤30)
  4. Contraintes non indépendantes
    ∃t∈DATE, (t[mois]=2) ∧ (t[jour]=31) ⇒ (CI₁ ∧ ¬(CI₂))
  5. Date invalide (exemple formel)
    ∃t∈DATE, (t[mois]=2) ∧ (t[jour]=30)

? Exercice 8 — Base de données BD = {R1, R2}

  1. Valeur d'une BD
    Valeur(BD) = ⟨Valeur(R1),Valeur(R2)⟩
  2. CI sur R1 uniquement (ex. unicité de A)
    ∀t₁,t₂∈R1, t₁[A]=t₂[A] ⇒ t₁=t₂
  3. CI sur R1 et R2 (ex. inclusion)
    ∀t∈R1, ∃u∈R2, t[X]=u[Y]
  4. BD incohérente malgré relations valides isolément
    (∀t₁,t₂∈R1,…) ∧ (∀u₁,u₂∈R2,…) ∧ ∃t∈R1, ¬∃u∈R2, t[X]=u[Y]
  5. Contrainte globale (ex. pas de doublon inter-relations)
    ¬∃t∈R1,∃u∈R2, t[id]=u[id]

? Exercice 9 — ETUDIANT(N_etud, Nom, Age)

  1. N_etud est clé
    ∀t₁,t₂∈ETUDIANT, t₁[N_etud]=t₂[N_etud] ⇒ t₁=t₂
  2. CI sur Age dépendant de l'inscription (supposons INSCRIT)
    ∀e∈ETUDIANT, (∃i∈INSCRIT, i[N_etud]=e[N_etud]) ⇒ (e[Age]≥16)
  3. La clé n'impose rien sur Age
    Cle({N_etud}) ∧ ∃t₁,t₂∈ETUDIANT, (t₁≠t₂) ∧ (t₁[Age]=t₂[Age])
  4. Deux étudiants même nom possible
    ∃t₁,t₂∈ETUDIANT, (t₁≠t₂) ∧ (t₁[Nom]=t₂[Nom])
  5. Violation de la clé
    ∃t₁,t₂∈ETUDIANT, (t₁≠t₂) ∧ (t₁[N_etud]=t₂[N_etud])

? Exercice 10 — Synthèse (R(A,B,C))

  1. A est clé
    ∀t₁,t₂∈R, t₁[A]=t₂[A] ⇒ t₁=t₂
  2. B dépend de A (fonctionnelle)
    ∀t₁,t₂∈R, t₁[A]=t₂[A] ⇒ t₁[B]=t₂[B]
  3. Contrainte conditionnelle entre B et C
    ∀t∈R, (t[B]>0) ⇒ (t[C]∈S)
  4. Pas une simple contrainte de domaine
    ∃t₁,t₂∈R, (t₁[C]=t₂[C]) ∧ (t₁[B]≠t₂[B])
    et la validité de C dépend de B : (t[B]>0) ⇒ (t[C]∈S)
  5. Toutes vraies simultanément (existence d'une instance)
    ∃R, [(∀t₁,t₂∈R, t₁[A]=t₂[A] ⇒ t₁=t₂) ∧
    (∀t₁,t₂∈R, t₁[A]=t₂[A] ⇒ t₁[B]=t₂[B]) ∧
    (∀t∈R, (t[B]>0) ⇒ (t[C]∈S))]

Voir Aussi :

Teacher 3


 

Exercice BD La Banque

Soit le schéma de base de donnée relationnel suivant d'une Banque:
AGENCE (Num_Agence, Nom, Ville, Actif)......

EXERCICE BD CARNET DE VOYAG

Soit la relation suivante, donnée avec une couverture minimale de ses DFE :CarnetDeVoyage (numAuteur.....

Exercice BD La Gestions Des

Soit une université

EXERCICE BD FICHE TD

Exercice 1: Mr kenfack Alain Paulin vous demande de Construire le modèle Entité-Association relatif aux informations suivantes .....

 

voir plus

 

Questions / Réponses

Aucune question. Soyez le premier à poser une question.
Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam