Digramme En+té – Associa+on
(En+ty Rela+onship Diagram)
Mourad Gridach
Filière : Génie Informatique. EST d’Agadir
Année Universitaire : 2019 - 2020
Last Lecture
ü Partie primordiale dans le processus du développement d’une base de données
ü Ambiguïté de développement
ü La participation de nombreux intervenants
ü Le diagramme entité association (Entity-Relationship Diagram)
ü Notation d’un ERD
ü Concepts de base : entité type, attribut, association, cardinalités, etc.
2
Today’s Lecture
üAutre type d’associations
üRappel sur la notation ERD
ü La conception logique des bases de données
üRègles de conversion
3
Objectifs • Compréhension profonde de la notation ERD
• Expliquer un exemple utilisant le concept “identification dependency”
• Appliquer la relation d’équivalence entre l’association M-N et l’entité-type associative
• Se familiariser avec les associations spécialisées en minimisant les erreurs de conception
• Associations spécialisées: “identification dependency”, association M-N avec des attributs, l’association M-way,
• Sources communs d’erreurs5
Identification Dependency
BldgIDBldgNameBldgLocation
Building
RoomNoRoomCapacity
RoomContains
Identification Dependency Symbols:� Solid relationship line for identifying
relationships� Diagonal lines in the corners denote
weak entities.
ü L’identification de l’entité type « Room » est entièrement dépendante de l’entité type
« Building »
6
Iden+fica+on Dependency - Concept
• Quelques entités types empruntent une partie ou la totalité du PK
• Similaire au FK qui est partie d’un PK dans un modèle relationnel
• Entités liées: contenance physique
– Une chambre est physiquement contenue dans un bâtiment
– L’identification de la chambre contient celle du bâtiment
• Autres exemple: pays-états ou région
7
Identification Dependency - Symbols
• Entité faible (weak entity)
ü Emprunte une partie ou la totalité de PK
ü Lignes diagonales dans les coins
8
Identification Dependency - Example
• La clé primaire d’une chambre est la combinaison de RoomNo (clé local)
et BuildingID (clé emprunté)
• La cardinalité d’un entité faible dans l’association identifié doit être 1-1
• Une chambre ne peut exister sans l’existence d’un bâtiment associé
9
M-N Relationships with Attributes
StdNoStdName
Student OfferNoOffLocationOffTime
Offering
EnrollsIn
EnrGrade
attribute of relationship
10
CourseNoCourseLocation
Course
¤ Exemple
ü EnrGrade: grade recorded for a student in a particular course
ü Depends on the combination of Student and Course
ü EnrGrade is not part of the Student or Course entity types
Association M-N avec des Attributs
• Les associations sont les citoyens de première classe J
ü Possibilité d’avoir des attributs
ü Les attributs dépendent des deux entités types, et non pas une seule
entité
ü Une association 1-M avec des attributs nécessite une révision
11
M-N Relationships with Attributes (II)
AuthNoAuthName
AuthorISBNTitle
Book
AuthOrder
b) Writes relationship
Writes
PartNoPartName
PartSuppNoSuppName
Supplier
Qty
Provides
a) Provides relationship
12
Notation ERD pour les Associations Réflexives
14
FacNoFacName
Faculty
a) manager-subordinate
Supervises
b) course prerequisites
CourseNoCrsDesc
Course PrereqToProfNo
ProfName
Professor
Notation ERD pour une Association Réflexive
• Association liant une entité type à elle même
• Position des cardinalités est moins important: association nécessitant la même entité type
• Sinon, le reste est le même pour une association réflexive.
• Point clé :
ü 1-M vs. M-N
ü Utiliser les diagrammes d’instance pour faciliter la tache
15
Diagrammes d’Instance pour une Association Réflexive
Faculty1
Faculty2 Faculty3
Faculty4 Faculty5
IS300
IS320
IS480 IS460
IS461
(a) Supervises (b) PreReqTo
16
FacNoFacName
Faculty
a) manager-subordinate
Supervises
b) course prerequisites
CourseNoCrsDesc
Course PrereqToProfNo
ProfName
Professor
Professor 1
Professor 2 Professor 3
Professor 5Professor 4
Objectif
• Soit le schéma de la base de données Bibliothèque suivante :
ü Etudiant (NumEtd, NomEtd, AdresseEtd)
ü Livre (NumLivre, TitreLivre, NumAuteur, NumEditeur, NumTheme, AnneeEdition) (confusion)
ü Auteur (NumAuteur, NomAuteur, AdresseAuteur)
ü Editeur (NumEditeur, NomEditeur, AdresseEditeur)
ü Theme (NumTheme, IntituléTheme)
ü Prêt (NumEtd, NumLivre, DatePret, DateRetour) (confusion)
– Comment établir un tel schéma ?18
Phases de Développement d’une BD - Rappel
Modélisation Conceptuelle de Données
Conception Logique de laBase de Données
Conception Physique de laBase de Données
ERD
Tables
Schéma Interne, DB
Données Nécessaire
Symboles de Bases - Rappel
ü Professor to Course : Teach
ü Course to Professor : IsTaughtBy
Symbole de l’Entité Type
Symbole de l’Association
Nom de l’Entité Type
Nom de l’Association
Clé Primaire
Alributs
Phases de Développement d’une BD
Modélisation Conceptuelle de Données
Conception Logique de laBase de Données
Conception Physique de laBase de Données
ERD
Tables
Schéma Interne, DB
Données Nécessaire
Règles de Conversion
Règle de l’Entité type • Tables
Règles d’une Association
1-M• FKs dans les tables fils
Règles d’une Association
M-N
• L’associa+on est conver+t en table
• PK = combinaison des FKs
Exemple 1 – Association 1-M
ü Convertir ce digramme ERD en modèle logique ?
ü Professor (professorID, pName, salary)
ü Course (courseID, courseName, enrollment, #professorID)
q CREATE TABLE Professor (…, PRIMARY KEY (professorID) )
q CREATE TABLE Course (…, PRIMARY KEY (courseID), FOREIGN KEY (professorID) REFERENCES Professor, CONSTRAINT professorID NOT NULL)
q Pourquoi on a : “CONSTRAINT professorID NOT NULL” ?
Exemple 2 – Association M-N
¤ Convertir ce digramme ERD en modèle logique ?
¤ Student (studentID, StudentName)
¤ Course (courseID, courseName, enrollment)
¤ EnrollsIn (studentID, courseID, EnrMark)
Exemple 2 – Association M-N
q CREATE TABLE Student (…, PRIMARY KEY (StudentNo) )
q CREATE TABLE Course (…, PRIMARY KEY (CourseID) )
q CREATE TABLE EnrollsIn (…, PRIMARY KEY (StudentNo, CourseID), FOREIGN KEY (StudentNo) REFERENCES Student, FOREIGN KEY (CourseID) REFERENCES Course)
q Pourquoi on a pas : “CONSTRAINT … NOT NULL” ?
Exemple Pra+que
• Soit le schéma de la base de données Bibliothèque suivante :ü Etudiant (NumEtd, NomEtd, AdresseEtd)
ü Livre (NumLivre, TitreLivre, NumAuteur, NumEditeur, NumTheme, AnneeEdition)
ü Auteur (NumAuteur, NomAuteur, AdresseAuteur)
ü Editeur (NumEditeur, NomEditeur, AdresseEditeur)
ü Theme (NumTheme, IntituléTheme)
ü Prêt (NumEtd, NumLivre, DatePret, DateRetour)
– Etablir le diagramme Entité-Association correspondant 27
Solution
ü Livre (NumLivre, TitreLivre, NumAuteur, NumEditeur, NumTheme, AnneeEdition)
ü Auteur (NumAuteur, NomAuteur, AdresseAuteur)
28
Solution
ü Livre (NumLivre, TitreLivre, NumAuteur, NumEditeur, NumTheme, AnneeEdition)
ü Editeur (NumEditeur, NomEditeur, AdresseEditeur)
29
Solution
ü Livre (NumLivre, TitreLivre, NumAuteur, NumEditeur, NumTheme, AnneeEdition)
ü Theme (NumTheme, IntituléTheme)
30
Solution
ü Etudiant (NumEtd, NomEtd, AdresseEtd)
ü Livre (NumLivre, TitreLivre, NumAuteur, NumEditeur, NumTheme,
AnneeEdition)
ü Prêt (NumEtd, NumLivre, DatePret, DateRetour)
31
Top Related