Exercices de modélisation en relationnel Corrigé indicatif

Transcription

Exercices de modélisation en relationnel Corrigé indicatif
Exercices de modélisation en relationnel
Corrigé indicatif
1.1 Traduction de schémas entité association
Courses de chevaux (version 1)
Course (nom, date)
ChevauxInscrits (nomCourse, date, nom, num, cote, [place-arrivée]1)
(nomCourse + date) REFERENCE Course
Pari (N°pari, nomCourse, date, type, somme)
(nomCourse + date) REFERENCE Course
Commentaire: le type d'entité Pari n'a pas d'identifiant. En effet, il peut exister plusieurs paris de même
montant et qui portent sur les mêmes chevaux. En relationnel, il faut donc introduire un identifiant. La
solution retenue ici est d'ajouter un attribut, N°Pari, qui, pour chaque course, numérote les paris de
cette course; les N°pari sont donc numérotés 1, 2, 3… pour chaque course.
PariChevaux (nomCourse, date, N°pari, nom, place)
(nomCourse + date + N°pari) REFERENCE Pari
Rapports (nomCourse, date, type, montant-ordre, montant-désordre)
(nomCourse + date) REFERENCE Course
Courses de chevaux (version 2)
Course (nom, date)
Cheval (nom)
Participe (nomCourse, date, nomCheval, num, cote, [place-arrivée])
(nomCourse + date) REFERENCE Course
nomCheval REFERENCE Cheval
Pari (N°pari, nomCourse, date, type, somme)
(nomCourse + date) REFERENCE Course
Commentaire: ici on a introduit un attribut, N°Pari, qui numérote tous les paris quelle que soit la
course.
Contient (N°pari, nomCheval, place)
N°pari REFERENCE Pari
nomCheval REFERENCE Cheval
CourseRapport (nomCourse, date, type, montant-ordre, montant-désordre)
(nomCourse + date) REFERENCE Course
1
Les crochets, [ et ], signalent les attributs facultatifs qui peuvent prendre la valeur nulle; les autres attributs sont obligatoires.
Généalogie (version 1)
Individu (N°, nom, sexe, DateNais, LieuNais, [DateDécès, LieuDécès], [Mère, Père])
Mère REFERENCE Individu
Père REFERENCE Individu
Contraintes d'intégrité:
Les deux attributs, Mère et Père, ont soit tous les deux une valeur, soit aucun des deux n'a de valeur.
Les deux attributs, DateDécès et LieuDécès, ont soit tous les deux une valeur, soit aucun des deux n'a
de valeur.
IndividuPrénom (N°individu, N°prénom, prénom)
N°individu REFERENCE Individu
Contrainte d'intégrité: Pour chaque valeur de N°individu, les valeurs de N°prénom constituent une
suite d'entiers sans trou: <1, 2, 3, …>.
Mariage (homme, femme, lieu, date, [date-divorce])
homme REFERENCE Individu
femme REFERENCE Individu
Généalogie (version 2)
Individu (N°, nom, DateNais, LieuNais, [DateDécès, LieuDécès], [Mère, Père])
Mère REFERENCE Femme
Père REFERENCE Homme
Contraintes d'intégrité:
Les deux attributs, Mère et Père, ont soit tous les deux une valeur, soit aucun des deux n'a de valeur.
Les deux attributs, DateDécès et LieuDécès, ont soit tous les deux une valeur, soit aucun des deux n'a
de valeur.
IndividuPrénom (N°individu, N°prénom, prénom)
N°individu REFERENCE Individu
Contrainte d'intégrité: Pour chaque valeur de N°individu, les valeurs de N°prénom constituent une
suite d'entiers sans trou: <1, 2, 3, …>.
Homme (N°)
N° REFERENCE Individu
Femme (N°)
N° REFERENCE Individu
Mariage (homme, femme, lieu, date, [date-divorce])
homme REFERENCE Homme
femme REFERENCE Femme
Contrainte d'intégrité supplémentaire par rapport à celles définies pour le schéma entité association:
Pour tout tuple de Individu, il existe un tuple de même numéro soit dans Homme, soit dans Femme.
1.2 Algorithme de traduction entité association –-> relationnel :
voir le polycopié, fin du chapitre sur la normalisation
2. Dictionnaire des données
Schéma
nom
créateur
dateCréation
PossèdeR
Relation
PossèdeA
Attribut
nom
nom
Identifiant
dateCréation
Composé
Composé
Référence
IdtExterne
domaine facultatif?
Schéma (nomSchéma, créateur, dateCréation)
Relation (nomSchéma, nomRelation)
(nomSchéma) REFERENCE Schéma
Attribut (nomSchéma, nomRelation, nomAttribut, facultatif?, domaine)
(nomSchéma + nomRelation) REFERENCE Relation
Identifiant (nomBD, nomRelation, n°Ident, nomAttribut)
(nomSchéma + nomRelation + nomAttribut) REFERENCE Attribut
IdentifiantExterne (nomBD, nomRelation, n°IdExt, nomRelationRéférencée)
(nomSchéma + nomRelation) REFERENCE Relation
IdExtComposition (nomBD, nomRelation, n°IdExt, nomAttribut)
(nomSchéma + nomRelation + n°IdExt) REFERENCE IdentifiantExterne
(nomSchéma + nomRelation + nomAttribut) REFERENCE Attribut
NB En SQL, le dictionnaire des données de votre base de données contient, entre autres, les tables
suivantes :
Tables
Columns
Reference_Constraints
Key_Column_Usage
Check_Constraints
…
Vous pouvez y accéder par les instructions SELECT …

Documents pareils