0% ont trouvé ce document utile (0 vote)
37 vues8 pages

Modèles de Données et Relations en BD

Transféré par

crazy 69
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
37 vues8 pages

Modèles de Données et Relations en BD

Transféré par

crazy 69
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Correction TD2 BD

Exercice 1
1. Dictionnaire des Données
Nom de l’attribut Type Rattachement
numLec N Lecteur
nomLec A Lecteur
adrLec AN Lecteur
IdSoc AN Société
dateRetour D emprunter
duréePret N Avoir Accès
numInv N Livre
nomAut A Livre
nomEdit A Livre
nbExemp N Livre
numCat N catégorie
libCat A catégorie
numTypeLec N TypeLecteur
libTypeLec A TypeLecteur
nomSoc A Société
adrSoc AN Société
2. Définition des entités
Nom de l’entité Attributs
Lecteur numLec (id)
nomLec
adrLec
Société IdSoc (id)
nomSoc
adrSoc
Livre numInv (id)
nomAut
nomEdit
nbExemp
catégorie numCat (id)
libCat

TypeLecteur numTypeLec(id)
libTypeLec

3. Définition des associations

Nom de l'association Entités participantes Type Données portées

Lecteur
être membre [1-N]
Société
Lecteur
emprunter [N-M] dateRetour
Livre
Mme S.GHORBEL 1/8
lecteur
appartenir [1-N]
typeLecteur
typeLecteur
Avoir accès [N-M] duréePret
catégorie
livre
connaître [1-N]
catégorie

4. Modèle E/A (ou MCD)

5. Modèle Relationnel
Société = (Id_Société, nomsoc, adrsoc);
catégorie = (numCat, libcat);
TypeLecteur = (numType, libType);
Lecteur = (numLec, nomLec, adrLec, #numType, #Id_Société);
Livre = (numInv, nomAut, nomEdit, nbExemp, #numCat);
emprunter = (#numLec, #numInv, dateRetour);
avoirAccès = (#numCat, #numType, duréePret);

Exercice 2
1. Dictionnaire des Données
Nom de l’attribut Type Rattachement
numImmat (id) AN avion
nomProp (id) A propriétaire
adrProp AN
numTelProp AN
typeProp A ou
{société ;particulier}
dateAchat D EtrePropriété
nomTypeAv (id) AN TypeAvion
Mme S.GHORBEL 2/8
nomCons A
PuissanceMot N
nbPlace N
objInterv A intervenir
dateInterv D
duréeInterv N
nomMec (id) A Mécanicien
adrMec AN
TelMec AN
nomPilote (id) A Pilote
adrPilote AN
TelPilote AN
numPilote N
nbVOL N habiterPiloter

2. Modèle E/A (ou MCD)

Autres possibilités…
1) L’association etrePropriété est de type [N-M]
Dans une première solution on a considéré que l'attribut date d'achat est un attribut qui dépend des 2 entités
qui sont l'entité avion et l'entité propriétaire. alors on l'a mis dans l'association êtrePropriété reliant ces 2
entités. De cette façon on peut conserver toute l'historique des achats pour les différents propriétaires avec
leurs dates d'achat. la cardinalité côté l'entité avion est 1,n. L'association dans ce cas et dite porteuse de
données. elle est du type plusieurs à plusieurs.

Mme S.GHORBEL 3/8


Modèle Relationnel

propriétaire = (nomProp, typeProp, adrProp, TelProp);


TypeAvion = (nomType, nomCST, puissanceMot, nbPlaces);
Mécanincien = (nomMec, adrMec, TelMec);
Pilote = (nomPilote, adrPilote, TelPil, numPilote);
Avion = (numImmat, #nomType);
etrePropriété = (#numImmat, #nomProp, dateAchat);
habiliterIntevenir = (#nomType, #nomMec);
intervenir = (#numImmat, #nomMec, objInterv, dateInterv, duréeInterv);
habiterPiloter = (#nomType, #nomPilote, nbVols);

2) L’association etrePropriété est de type [1-N]


C'est possible aussi de considérer que la date d'achat est un attribut caractérisant l'entité avion. alors dans ce
cas si je prends une instance de l'entité avion elle va être associée à une et une seule instance de l'autre côté
qui est l'entité propriétaire, donc la cardinalité devient 1,1 côté avion ; un avion étant caracérisé par une date
d’achat, ne peut avoir qu'un et un seul propriétaire. Et donc l'association devient de type un à plusieurs. si
l'association possède d'un côté une cardinalité 1,1, l'association ne peut être jamais porteuse de données. De
cette façon on ne peut pas sauvegarder l'historique des achats de cet avion, mais juste on sauvegarde, dans la
base de données, la dernière date d'achat.

Modèle Relationnel

propriétaire = (nomProp, typeProp, adrProp, TelProp);


TypeAvion = (nomType, nomCST, puissanceMot, nbPlaces);
Mécanincien = (nomMec, adrMec, TelMec);
Pilote = (nomPilote, adrPilote, TelPil, numPilote);
Avion = (numImmat, dateAchat, #nomType, #nomProp);
habiliterIntevenir = (#nomType, #nomMec);
intervenir = (#numImmat, #nomMec, objInterv, dateInterv, duréeInterv);
habiterPiloter = (#nomType, #nomPilote, nbVols);
Mme S.GHORBEL 4/8
3) Conception avec Héritage
Une autre possibilité c'est de travailler avec l'héritage. donc on peut faire la généralisation/ spécialisation. On
peut considérer une autre entité, l'entité personne, qui va être l'entité la plus générale. cette entité va être
l'entité mère pour les entités filles qui sont mécanicien, propriétaire et pilote. L’entité Personne va avoir les
attributs en commun qui sont le nom, l'adresse et le numéro de téléphone. dans les entités filles on laisse
juste les attributs spécifiques à elles . Par la suite on termine le reste des associations avec ces entités filles.

Modèle Relationnel

Personne = (nomPers, adrPers, telPers);


propriétaire = (#nomPers, typeProp);
Mécanincien = (#nomPers);
Pilote = (#nomPers, numPilote);
TypeAvion = (nomType, nomCST, puissanceMot, nbPlaces);
Avion = (numImmat, #nomType);
etrePropriété = (#numImmat, #(#nomPers), dateAchat);
habiliterIntevenir = (#(#nomPers), #nomType);
intervenir = (#numImmat, #(#nomPers), objInterv, dateInterv, duréeInterv);
habiterPiloter = (#nomType, #(#nomPers), nbVols);

Mme S.GHORBEL 5/8


Exercice 3
1. Modèle E/A (ou MCD)

2. Modèle Relationnel

PersMed = (nomPers, adrPers, telPers);


Medecin = (#nomPers, spécialité);
Patient = (numPatient, nomParient, adrPatient, telPatient, numSecSoc);
service = (codeSV, nomSv, batSv, etgSV, #(#nomPers));
Infirmier = (#nomPers, #codeSV);
Salle = (numSalle, nbLits, #(#nomPers), #codeSV);
etreHospiltalisé = (#(#nomPers), #numSalle, #numPatient, numLit, diagnostic, dateAdmission, dateSortie);

Exercice 4
1. Modèle E/A (ou MCD)

Mme S.GHORBEL 6/8


2. Modèle Relationnel
pièce = (codePiece, libPiece, prixunitaire);
opération = (codeSpécifique, dénomination, descriptif);
typeVéhicule = (codeType, marqueCST, Appelation);
Client = (numClient, nom, prenom, adrClient, telClient);
véhicule = (numImmat, AnnéeCirculation, #codeType, #numClient);
Intervention = (numInterv, libInterv, dateEntréeVéhicule, kilométrageVéhicule, #numImmat);
facture = (numFacture, dateEmission, #numInterv);
affecter = (#codeSpécifique, #codeType, coûtHoraire);
occasionner = (#codePiece, #codeSpécifique, #numInterv, quantitéPiece);
former = (#codeSpécifique, #numInterv, duréeOpération);
etreCompatible = (#codePiece, #codeType);

Mme S.GHORBEL 7/8


Exercice 5
1. Modèle E/A (ou MCD)

L’entité Appartement est considérée comme entité faible par rapport à l’immeuble. Son identifiant est relatif
par rapport à l’immeuble.

2. Modèle Relationnel

immeuble = (numImmb, adrImmb);

Appartement = (#numImmb, numApp, surfaceApp, nbPieces);

locataire = (numLoc, nomLoc, prenomLoc, adrLoc);

louer = (#(#numImmb, numApp), #numLoc, dateLoc, periode);


avec (#numImmb, numApp) correspond à la clé primaire de la relation Appartement.

Mme S.GHORBEL 8/8

Vous aimerez peut-être aussi