1
Le modèle relationnel Corrigé Exercices - Série 4
Exercice 1 : Gestion d'un zoo
Employé
Gardien Chef
Secteur
Secteur
Parcelle Espèce
salaires mois montant naissance
date lieu
nom prénom
AVS code adr tel fonction service
nom-mari
Surveillance
Dirige Choix
Découpe Contient
nom taux
grade
affinité
jour heure
No
Individu
mère
enfant père
sang nom date-n
date-décès
mesures
date poids taille nom
intitulé
enfant
Parenté Paternelle
liste [0:12]
disjoint
Parenté Maternelle
0:6
Groupe d’individus
nombre Appartient-
Groupe Appartient-
Individu
Identifiants:
L'identifiant de Choix est Gardien+Secteur (un gardien ne peut choisir deux fois le même secteur).
A chaque heure de chaque jour donné, il y a un et un seul gardien par parcelle: les identifiants de Surveillance sont Parcelle+jour+heure et Gardien+jour+heure.
Contraintes d'intégrité:
− La date de naissance des employés doit être cohérente avec le jour actuel (disons au minimum 16 ans de différence).
− La fonction de chaque employé doit être cohérente avec son service.
− Pour un gardien donné, à un jour donné, toutes les parcelles qu'il surveille sont situées dans le même secteur, et il ne peut surveiller deux fois de suite (à deux heures successives) la même parcelle.
− Pour chaque gardien le nombre d'occurrences de Choix le liant avec affinité ="oui" est limité à 3. De même pour ceux avec affinité = "non".
− Pour chaque secteur, les numéros de parcelles doivent être successifs (entre 1 et le nombre de parcelles du secteur).
− Si elle existe, la date de décès d'un individu est postérieure à la date de naissance.
− Les dates de naissance (et de décès éventuels) des parents (s'ils existent) de chaque individu sont cohérentes, respectivement antérieures et postérieures (avec des marges pour tenir compte du délai de fécondité et du temps de gestation), avec la date de naissance de l'individu.
− Toutes les mesures d'un même individu doivent avoir des dates différentes.
− Si le père et la mère sont de la même espèce, alors l’individu doit aussi appartenir à la même espèce.
− Si un individu a une parenté paternelle alors il doit aussi avoir une parenté maternelle.
3
Traduire en schémas relationnels les diagrammes entité association suivants. Préciser les identifiants et les identifiants externes des relations.
Exercice 2.1: Bibliothèque
Livre(numéro, titre, éditeur, DateAchat-Jour, DateAchat-Mois, DateAchat-Année, état, [centre]1) LivreAuteur(NuméroLivre, auteur, ordreAuteur)
NuméroLivre référence Livre.numéro
Commentaire: ordreAuteur est un attribut de type entier. Il est ajouté car l'attribut auteur de Livre est de type "liste de valeur".
Abonné(Numéro, nom, prénom, caution, rue, ville, NPA)
Emprunt(NuméroLivre, NuméroAbonné, ordreEmprunt, DeJour, DeMois, DeAnnée, [DrJour], [DrMois], [DrAnnée])
NuméroLivre référence Livre.numéro NuméroAbonné référence Abonné.numéro
Commentaire: ordreEmprunt est un attribut de type entier. Il est ajouté car le rôle entre Emprunt et Livre est de type "liste de valeur".
Exercice 2.2: Editeur
Auteur(nom, prénom, [pseudonyme]) Livre(no-ISBN, titre)
LivrePrixLittéraire(no-ISBN, Prix-nom, Prix-année) no-ISBN référence Livre.no-ISBN
Edition(no-ISBN, numéro, année, nb-exempl, prix-vente) no-ISBN référence Livre.no-ISBN
Librairie(nom, adresse-rue, adresse-ville, adresse-NPA)
Commande(no-ISBN, numéro, nomLibrairie, qté, date-Jour, date-Mois, date-Année) no-ISBN référence Edition.no-ISBN
numéro référence Edition.numéro nomLibrairie référence Librairie.nom
Commentaire: On a mis l'attribut date dans l'identifiant car on considère que la même librairie peut commander plusieurs fois le même livre mais à des dates différentes.
Droits(nom, no-ISBN, année, montant) nom référence Auteur.nom
no-ISBN référence Livre.no-ISBN
1 Les crochets, [ et ], signalent les attributs facultatifs qui peuvent prendre la valeur nulle; les autres attributs sont obligatoires.
Exercice 2.3: Les courses de chevaux, version 1
nom date pari
somme num-cheval chevaux-inscrits
nom num
montant ordre rapports montant
désordre
type
type
cote
Course
place à l’arrivée
liste gain
Course (nom, date, gain)
ChevauxInscrits (nomCourse, date, nom, num, cote, [place-arrivée]) (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.
PariChevaux (N°pari, nomCourse, date, numCheval, place) (nomCourse + date + N°pari) REFERENCE Pari
Rapports (nomCourse, date, type, montant-ordre, montant-désordre) (nomCourse + date) REFERENCE Course
Les courses de chevaux, version 2
somme type
date
place-arrivée num num cote
rapports
Course Participe Cheval
Contient Pari
Concerne
nom
montant ordre montant
désordre type
liste
gain
Course (nom, date, gain) Cheval (num)
Participe (nomCourse, date, numCheval, num, cote, [place-arrivée]) (nomCourse + date) REFERENCE Course
5
numCheval 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
Exercice 2.4: Aéroport
Type (Nom, constructeur, Puissance, Nbplaces) Mécanicien (Nom, Adresse,Téléphone)
Pilote (Nom,Adresse,#tel,#brevet)
Propriétaire (Nom,Adresse,#tel,Catégorie)
Avion (Immatriculation, Date-achat, Nom-propriétaire,Nom-type) nom-propriétaire référence Propriétaire.Nom
nom-type référence Type.nom Habilitation (Mécanicien, Type)
Mécanicien référence Mécanicien.Nom Type référence un Type.Nom
Habilité (Pilote, Type,Nbvols) Pilote référence Pilote.Nom Type référence un Type.Nom
Intervention (Avion, Date, Réparateur, Vérificateur, Objet, Durée) Avion référence Avion.Immatriculation
Réparateur référence Mécanicien.Nom Vérificateur référence Mécanicien.Nom
Exercice 2.5: Personnel
Service(Nom, numéroCadre)
numéroCadre référence Cadre.numéroCadre ServiceLocal(NomService, Local)
NomService référence Service.Nom
Personnel(numéro, nom, prénom, salaire, adresse, nom-banque, nom-agence, #compte, NomService) NomService référence Service.Nom
Technicien(numéroTechnicien, heures-supp)
numéroTechnicien référence Personnel.numéro TechnicienMachine(numéroTechnicien, machine)
numéroTechnicien référence Technicien.numéroTechnicien
Administratif(numéroAdministratif, heures-supp) numéroAdministratif référence Personnel.numéro Cadre(numéroCadre, bureau, #poste)
numéroCadre référence Personnel.numéro EmployéPar(numéroAdministratif, numéroCadre)
numéroAdministratif référence Administratif.numéroAdministratif numéroCadre référence Cadre.numéroCadre
Exercice 2.6: Généalogie, version 1
femme mère
père mari
Individu
date
nom prénom
Mariage
lieu date
date divorce lieu
Parents enfant
naissance décès date lieu
sexe
liste
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 (mari, femme, lieu, date, [date-divorce]) mrai REFERENCE Individu
femme REFERENCE Individu
7
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.
Parents
Homme Femme
Mariage
date divorce
enfant lieu date
nom prénom
date lieu naissance date lieu
décès
Individu
partition
liste