exo MLD et MCD
Correction des TD1 et TD 2 : Modélisation Entité Association et passage au modèle relationnel
1. Modélisation d'une base concernant des buveurs de bières et des bars
Un buveur aime certaines marques de bière, un bar sert certaines marqes de bières et un buveur fréquente certains bars.
Modèle E/A
MARQUES
BUVEUR nom 1,n ou
age adresse 0,n
aime
1,n ou
0,n
nom type ....
1,n ou
1,n ou
0,n
0,n sert fréquente
1,n ou
0,n
BAR
0,n
nom ville rue departement Passage au modèle relationnel:
• Les contraintes de domaines et le schéma relationnel:
Les associations SERT, AIME, et FREQUENTE sont de type multiple-multiple (ou complexe - complexe) conditionnelles (le 0). On crée donc une relation pour chacune de ces associations.
SERT(NomBAR:chaîne(30),NomBière:chaîne (30)). NomBière et NomBar sont des clés étrangères.
AIME(NomBuveur :chaîne(30),NomBière:chaîne (30)). NomBière et NomBuveur sont des clés étrangères.
FREQUENTE(NomBar :chaîne(30),NomBuveur :chaîne (30)). NomBuveur et NomBar sont des clés étrangères.
Ensuite, on crée une relation par type d'entité :
BIERE(NomBière:chaîne(30); Type:chaîne{Blonde,Brune}).
BUVEUR(NomBuveur:chaîne(30),adresse:chaîne(200))
BAR(NomBar:chaîne30, localisation:chaîne(100), département:entier(2))
• Les clés (contraintes fonctionnelles):
NOM de BUVEURS est la clé primaire bien que ce ne soit pas très judicieux... si deux personnes ont le même nom.
NOM de BAR est la clé primaire. On suppose que deux bars ne portent pas le même nom.
NOM de BIERE est sa clé primaire car deux bières ne portent pas le même nom.
• Les contraintes d'inclusions (référentielles) :
NomBière dans AIME et SERT est référencé par NomBière de BIERE : on ne peut pas rajouter un nom de bière dans AIME ou SERT si celui-ci ne gure pas dans BIERE. NomBuveur dans FREQUENTE et AIME est référencé par NomBuveur de BUVEUR. NomBar de SERT et