Traduction du modèle entité-association MEA vers le modèle relationnel Merise
Conception de base de données : méthodologie
Client(ClientNo,Nom, AdresseRue,AdresseVille,AdressePays)
Department(DNo,Name)
Employee(SSN,Name, DNo)
Employee.DNo référenceDepartment.DNo
Employee(SSN,Name)
Project(PNo,Name)
EmpProj(SSN,PNo)
EmpProj.SSN référenceEmployee.SSN
EmpProj.PNo référenceProject.PNo
Employee(SSN, FName, MInit, LName, BirthDate, Address)
Secretary(SSN, TypingSpeed)
Secretary.SSN référence Employee.SSN
Technician(SSN, TechGrade)
Technician.SSN référence Employee.SSN
Engineer(SSN, EngType)
Engineer.SSN référence Employee.SSN
Secretary(SSN, FName, MInit, LName, BirthDate, Address, TypingSpeed)
Technician(SSN, FName, MInit, LName, BirthDate, Address,,TechGrade)
Engineer(SSN, FName, MInit, LName, BirthDate, Address, EngType)
Employee(SSN, FName, MInit, LName, BirthDate, Address, TypingSpeed,
TechGrade, EngType)
Que peut-on dire des traductions des généralisations :
------------------------------------------------------------------------------------------------------
- Conceptuel : Schéma entité-association(EA)
- Logique : Modèle relationnel
- Physique : SQL
Modèle relationnel
- Dans ce modèle, le concept principal est la relation (~ table)
- Les entités, les associations et les attributs multivalués sont traduits par une relation
- Modèle : Relation(Clé(s),Attribut, Attribut optionnel,...)
- Traduction:
Employee(SSN,Name)
(1) Traduction des attributs multivalués
Livre(ISBN,...)
LivreAuteur(ISBN,Auteur)
LivreAuteur.ISBN référenceLivre.ISBN
LivreAuteur(ISBN,Auteur)
LivreAuteur.ISBN référenceLivre.ISBN
- Question : pourquoi(ISBN,Auteur)etpas(ISBN,Auteur)?
(2) Traduction des attributs composés
Client(ClientNo,Nom, AdresseRue,AdresseVille,AdressePays)
(3) Traduction des associations 'un à un' ou 'un à plusieurs'
Department(DNo,Name)
Employee(SSN,Name, DNo)
Employee.DNo référenceDepartment.DNo
- Association 'un à un' : si un des côtés est optionnel, la référence se place du côté obligatoire.
- Association 'un à plusieurs' : la référence se place du côté 'un' de l'association.
Employee(SSN,Name)
Project(PNo,Name)
EmpProj(SSN,PNo)
EmpProj.SSN référenceEmployee.SSN
EmpProj.PNo référenceProject.PNo
- Attention,(SSN,PNo) # (SSN,PNo)
(4) Traduction des généralisations : solution1
Employee(SSN, FName, MInit, LName, BirthDate, Address)
Secretary(SSN, TypingSpeed)
Secretary.SSN référence Employee.SSN
Technician(SSN, TechGrade)
Technician.SSN référence Employee.SSN
Engineer(SSN, EngType)
Engineer.SSN référence Employee.SSN
- + contraintes d'intégrité
- Attention aux références dessous-sous-entités
(4) Traduction des généralisations : solution2
Secretary(SSN, FName, MInit, LName, BirthDate, Address, TypingSpeed)
Technician(SSN, FName, MInit, LName, BirthDate, Address,,TechGrade)
Engineer(SSN, FName, MInit, LName, BirthDate, Address, EngType)
- + contraintesd'intégrité
(4) Traduction des généralisations : solution3
Employee(SSN, FName, MInit, LName, BirthDate, Address, TypingSpeed,
TechGrade, EngType)
- + contraintesd'intégrité
Que peut-on dire des traductions des généralisations :
- Totale,non-exclusive?
- Partielle,exclusive?
- Partielle,non-exclusive?
------------------------------------------------------------------------------------------------------
Article plus récent Article plus ancien