33
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

Digramme En+té –Associa+on (En+tyRela+onship Diagram)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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

Nota+on pour les Diagrammes En+té - Associa+on

Part 3: Type des Associations I

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 pour les Diagrammes Entité - Association

Part 3: Type des Associations II

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

Conception Logique d’une Base de

Données

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

Buts et Etapes de la Conception

Logique d’une Base de Données

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

Solution

32

Conclusion

• La conception logique des bases de données

• Règles de conversion

• Règle de conversion 1-M

• Règle de conversion M-N

33