59
Modélisation Conceptuelle Partie 2: Le modèle Entité-Association

Modélisation Conceptuelle - University of Lausanne

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modélisation Conceptuelle - University of Lausanne

Modélisation Conceptuelle

Partie 2: Le modèle Entité-Association

Page 2: Modélisation Conceptuelle - University of Lausanne

2

Modèle de type conceptuel

n But: permettre la description conceptuelle des structures de données d'une application

n Les concepts de base (correspondent aux concepts d’abstraction de la réalité):u objet <=> entité u lien <=> association (relationship)u propriété <=> attribut

n + la représentation multiple => lien is-a

Page 3: Modélisation Conceptuelle - University of Lausanne

3

Entités et types d’entités

n Entité: représentation d’un objet du monde réel ayant une existence propre

n Type d'entité (TE): représentation d'un ensemble d'entités perçues comme similaires et ayant les mêmes caractéristiques

Lisa FredPhilippe ...Zoë

Personne

Page 4: Modélisation Conceptuelle - University of Lausanne

4

Associations et types d’associations

n Association: représentation d'un lien non orienté entre plusieurs entités (qui jouent chacune un rôle déterminé)

n Type d'association (TA): représentation d'un ensemble d'associations ayant la même sémantique et décrites par les mêmes caractéristiques

1 "achète" = < 1 personne, 1 maison >

Personne MaisonAchète

Page 5: Modélisation Conceptuelle - University of Lausanne

5

Population d'un TA

Personne MaisonAchète

Page 6: Modélisation Conceptuelle - University of Lausanne

6

Rôles

1 "achète" = < 1 personne, 1 maison >

ACHETEUR ACHETÉ

Personne MaisonAchète

Association binaire: deux rôles

Page 7: Modélisation Conceptuelle - University of Lausanne

7

Associations Ternaires

1 "achète" = < 1 client, 1 produit, 1 fournisseur >

3 rôles

Client Produitachète

Fournisseur

Page 8: Modélisation Conceptuelle - University of Lausanne

8

Associations Cycliques

1 "marié à" = < 1 personne, 1 personne >

?

Personne Marié à

2 rôles (au moins) lient le même type d'entité

Problème: comment savoir dans un couple qui est le mari et qui est la femme ?

< Dupont Dominique, Dupont Dominique >

Page 9: Modélisation Conceptuelle - University of Lausanne

9

Associations cycliques : rôles nommés

1 "marié à" = < 1 personne/FEMME, 1 personne/MARI >

Solution: spécifier le rôle de chaque entité pour supprimer les ambiguïtés?

MARI

FEMME

Personne Marié à

< Dupont Dominique / femme, Dupont Dominique / mari >

Page 10: Modélisation Conceptuelle - University of Lausanne

10

Association cyclique : population

MARI

FEMME

Personne Marié à

JeanAnniePhilippeZoéKathiaEric….

Marié à1

Marié à2

femme

femme

mari

mari

Diagramme

Population

Page 11: Modélisation Conceptuelle - University of Lausanne

11

Associations cycliques

n Ternaires (ou n-aires) :Emprunteur

Personne Emprunt BanqueGarant

L’AUTRE

L'UN

Personne Ami de

n Symétriques : A faire dans l’application

<Phil/l'un , Jean/l'autre> <Jean/l'un , Phil/l'autre>

Page 12: Modélisation Conceptuelle - University of Lausanne

12

Associations cycliques (suite)

n Transitives : A faire dans l’application

DESCENDANT

ASCENDANT

Personne ancêtre

< Jean / ascendant , Paul / descendant >< Paul / ascendant , Anne / descendant >

< Jean / ascendant , Anne / descendant >

Page 13: Modélisation Conceptuelle - University of Lausanne

13

Cardinalité des rôles

n Combien de voitures (minimum) une personne peut-elle avoir ?

n Combien de voitures (maximum) une personne peut-elle avoir ?

Personne VoiturePossède

Min : MaxPersonne Possède

Si maximum > 1 : les rôles liant l'entité peuvent constituer un ensemble (par défaut) ou une liste

Page 14: Modélisation Conceptuelle - University of Lausanne

14

Contraintes de cardinalité

n Une personne peut ne pas avoir de voiture, en avoir 1, 2, … n

0 : nPersonne Possède

0 : n 1 : 1Personne VoiturePossède

n Une voiture a un et un seul propriétaire

n 0:n pas de contrainten i:j contrainte sur le TE lié

Page 15: Modélisation Conceptuelle - University of Lausanne

15

Population d'un TA

Personne MaisonAchète0:n 1:1

Page 16: Modélisation Conceptuelle - University of Lausanne

16

TA : notations alternatives

Personne MaisonAchète0:n 1:1

Personne Maison0:n 1:1

Achète

Personne Maison0:n 1:1

Achète

Page 17: Modélisation Conceptuelle - University of Lausanne

17

Cardinalités : notations alternatives

Minimum Maximum

0 1

1 1

0 n

1 n

n m

0 : n 1 : 1Personne VoiturePossède

Page 18: Modélisation Conceptuelle - University of Lausanne

18

Attributs

n Décrivent l’information (les propriétés) à conserver sur:u un objetu une associationu un attribut

nom prénom salaireDate_mariage

jour mois annéeDomaine [1,31]

MARI

FEMME

Personne Marié à

Page 19: Modélisation Conceptuelle - University of Lausanne

19

Attributs simples

n simple (atomique): non décomposableu Exemples: jour, prénom

n Feuilles de l’arbre des attributs: seuls les attributs simples portent des valeurs

n Le domaine de valeurs est constitué de valeurs atomiquesu Ex.: jour - domaine de valeurs: {1, 2, …., 31}u Domaines prédéfinis standard, intervalles, énumérés

Page 20: Modélisation Conceptuelle - University of Lausanne

20

Attributs complexes

n complexe: décomposé en d'autres attributsu Exemples: date (jour, mois, année)

adresse (rue, n°, ville, NPA)

n Un attribut complexe ne porte pas de valeur propre (pas de domaine directement associé)

n La valeur d'un attribut complexe est la composition des valeurs de ses attributs composants.

n Un composant d'attribut complexe peut être lui-même un attribut complexe.

Page 21: Modélisation Conceptuelle - University of Lausanne

21

Attributs mono- ou multivalués

nmonovalué: une seule valeur par occurrence (cardinalité max=1)

Exemples: date de naissance, numéro AVS

nmultivalué: plusieurs valeurs par occurrence (cardinalité max>1).

Exemples: prénoms, téléphonesUne valeur d'attribut multivalué est un ensemble (ou

liste ou multi-ensemble) de valeurs, prises chacune dans le domaine de valeurs associé à l'attribut.

Page 22: Modélisation Conceptuelle - University of Lausanne

22

Attributs obligatoires ou facultatifs

n obligatoire: une valeur au moins par occurrence (cardinalité min>=1).u Exemples: nom, prénoms

n facultatif: peut ne pas prendre de valeur (cardinalitémin=0).u Exemples: salaire, téléphones

n Le caractère obligatoire ou facultatif est déterminé par les besoins de l'application: u Si l'on accepte d'enregistrer une personne sans connaître sa

date de naissance, alors l'attribut date-de-naissance sera facultatif; sinon, il sera obligatoire

Page 23: Modélisation Conceptuelle - University of Lausanne

23

Attributs : exemple

simpleobligatoiremonovalué

complexe facultatif multivalué de type ensemble

Employé

No-emp nom prénoms CV postes

diplôme année intitulé salaires date-début date-fin

montant date

année mois

liste

simple, obligatoiremultivalué de type liste

Page 24: Modélisation Conceptuelle - University of Lausanne

24

Attributs : notation alternative

EmployéNo-empnomprénoms 1:n listeCV 0:n

diplômeannée

postes 1:nintitulésalaires 1:n

montantdate

annéemois

date-débutdate-fin

Page 25: Modélisation Conceptuelle - University of Lausanne

25

Identifiants de TE et TA

n Permet de désigner une entité (ou une association) de façon univoque

n Identifiant:uEnsemble minimal d'attributs tel qu'il n'existe pas

deux instances du TE (TA) où tous ces attributs aient la même valeur

Page 26: Modélisation Conceptuelle - University of Lausanne

26

Identifiants du TE Employé

Employé

No-emp nom prénoms CV postes

diplôme année intitulé salaires date-début date-fin

montant date

année mois

Il n'a a pas deux employés qui ont le même numéro Il n'y a pas deux employés qui

ont à la fois le même nom et les mêmes prénoms

Deux identifiants de Employé : No-emp, nom+prénoms

Page 27: Modélisation Conceptuelle - University of Lausanne

27

Identifiant d'un TA: rôles multivalués

n Cas fréquent :

id.TA = ensemble des identifiants des TE liés

Etudiant CoursObtenu

No-carte nom année note No-cours intitulé

Identifiant de Obtenu : Etudiant.No-carte + Cours.No-cours

Page 28: Modélisation Conceptuelle - University of Lausanne

28

Identifiant d'un TA: attribut propre

n id.TA = attribut du TA

No-client nom No-commande date quantité No-produit nom

Deux identifiants pour Commande: 1) No-commande2) Client.No-client + Produit.No-produit

(il n’existe qu’une seule commande d’un client donné pour un produit donné)

Client ProduitCommande

Page 29: Modélisation Conceptuelle - University of Lausanne

29

Identifiant d'un TA: id.TE +attribut propre

n Un client peut commander le même produit plusieurs fois à des dates différentes

Client ProduitCommande

No-client nom date quantité No-produit nom

Identifiant de Commande: Client.No-client + Produit.No-produit + Commande.date

Page 30: Modélisation Conceptuelle - University of Lausanne

30

Identifiant d'un TA: rôle monovaluén Règle:

Tout rôle monovalué induit un identifiant du TA (l’identifiant du TE lié est aussi identifiant du TA)

Identifiant de Assure: Voiture.No-imm.

No-AVS No-imm.

Personne VoitureAssure

Compagnie Ass.

Nom

Page 31: Modélisation Conceptuelle - University of Lausanne

31

Identifiant d'un TA cyclique

n Comme pour les autres TA

Deux rôles monovalués:deux identifiants pour Marié à:

1) Personne/Femme.nom 2) Personne/Mari.nom

nom prénom salaireDate_mariage

jour mois année

MARI

FEMME

Personne Marié à

Page 32: Modélisation Conceptuelle - University of Lausanne

32

Identifiant de TE faible

n Un TE qui ne peut être identifié par ses seuls attributs propres, mais qui l'est par ses attributs plus une occurrence d'un autre TE, occurrence à la quelle il est lié, est appelé "TE faible"

Identifiant de Exemplaire: (Livre.No-ISBN + No-exemp.)

Identifiant de Existe: (Livre.No-ISBN + No-exemp.)

Livre ExemplaireExiste

No-ISBN titre date-achat No-exemp. état

Page 33: Modélisation Conceptuelle - University of Lausanne

33

TE sans identifiant

n Location de bicyclettes

Vélo PersonneLocation

type date-achat date caution nom prénom

Page 34: Modélisation Conceptuelle - University of Lausanne

34

Exemple de schéma EA

Gestion d'un hypermarché

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef dechef

subord.

NomR étage quantité NomA type

nom salaire NomF adresse

quantité

Page 35: Modélisation Conceptuelle - University of Lausanne

35

Représentation multiple

n Un objet peut avoir plusieurs représentations

Plusieurs points de vue :• un article• un article alimentaire• un produit laitier

Articles

Alimentaire

HabillementHi-Fi

Produit laitiers

Viandes

FruitsLégumes

Page 36: Modélisation Conceptuelle - University of Lausanne

36

Lien de Généralisation / Spécialisation

Lien IS-AUn article alimentaire

Est un article

Raffinement de classification

Article

Articlehabillement

ArticleHi-Fi

Produitlaitier

Fruits et legumesViande

Articlealimentaire

Page 37: Modélisation Conceptuelle - University of Lausanne

37

Hiérarchie de Généralisation/Spécialisation

X Est un YX sous-type de YY sur-type de X

Y

Inclusion de populations :tout X est un Y

X

TE générique

TE spécifiques

SpécialisationGénéralisation

Article

Articlehabillement

Lien IS-A

ArticleHi-Fi

Articlealimentaire

Page 38: Modélisation Conceptuelle - University of Lausanne

38

Héritage

La description des sous-types ne porte que sur les informations additionnelles propres au sous-type

Article

Articlealimentaire

ArticleHi-Fi

Articlehabillement

Ventenommarquetype

date limite tailles couleurs puissance

Reparation

Service après vente

Page 39: Modélisation Conceptuelle - University of Lausanne

39

Héritage et inclusion

Carré a Rectangleab

Carré

bRectanglea

CI: a=bRectangle b

Carré a

BD LPOO

mauvais

Page 40: Modélisation Conceptuelle - University of Lausanne

40

Généralisation multiple

assistants

doctorants

assistants-doctorants

PopulationsDoctorant ProfesseurAssistant

Etudiant Enseignant

Assistant-Doctorant

Personne

Page 41: Modélisation Conceptuelle - University of Lausanne

41

Contraintes d'intégrité sur IS-A

Disjonction : les articles alimentaires et les articles d'habillement n'ont pas d'instances communes

Couverture : tout article appartient à l'un des sous-types (alimentaire, d'habillement ou Hi-Fi)

Partition : disjonction + couverture

Statique : un article ne peut pas changer de classification

Article

Articlehabillement

disjonction

ArticleHi-Fi

Articlealimentaire

statique

Page 42: Modélisation Conceptuelle - University of Lausanne

42

Plusieurs groupes de is-a (clusters)

Des classifications différentes selon des critères différents

critère: sexe critère: section critère: année

Etudiant

Et.garçon Et.fille Et.info Et.managt Et.3ème Et.4ème

partition statique disjoint disjoint

Page 43: Modélisation Conceptuelle - University of Lausanne

43

Groupes de is-a : notation alternative

Article

Articlehabillement

ArticleHi-Fi

Articlealimentaire

Page 44: Modélisation Conceptuelle - University of Lausanne

44

DESCRIPTION D’UN SCHÉMA EA

n Types d’entités

n Liens is-a

n Types d’association

n Attributs

n Identifiants

n Domaines des attributs simples

n Contraintes d'intégrité

Page 45: Modélisation Conceptuelle - University of Lausanne

45

Description d'un TE

n nom du type d'entité

n nom du (ou des) type(s) d'entité sur-type de ce type d'entité, s'il en existe

n une définition libre (commentaire) précisant la sémantique du TEu caractérisation exacte de la population du type d'entité

n description des attributs du TE

n composition des identifiants du TE, s'il en existe

n contraintes d'intégrité propres au TE

Page 46: Modélisation Conceptuelle - University of Lausanne

46

Les entités dans le temps

TE Client : qu'est qu'un client ???

n Toute personne qui a une commande en cours

n Toute personne qui a fait une commande dans les six derniers mois

n Toute personne qui a fait une commande dans le passé ou qui est susceptible de faire une commande dans le futur

n………

Page 47: Modélisation Conceptuelle - University of Lausanne

47

n nom du type d'association

n une définition libre (commentaire) précisant la sémantique du TA

n noms des TE participant au TA, avec le nom du rôle les associant au TA

n pour chaque rôle, sa cardinalité

n description des attributs du TA , s'il en existe

n composition des identifiants du TA, s'il en existe

n contraintes d'intégrité propres au TA

Description d'un TA

Page 48: Modélisation Conceptuelle - University of Lausanne

48

Les associations dans le temps

Quels emprunts veut-on dans la BD?

n Seulement les emprunts en cours

n Les emprunts des trois derniers mois

n Aussi les emprunts à venir (réservations)

n ….

Personne LivreEmprunte

Page 49: Modélisation Conceptuelle - University of Lausanne

49

Exemple: TA "Affecté" (BD hypermarché)

n nom: Affecté

n définition: "lie un employé au rayon dans lequel cet employé travaille aujourd'hui”

n TE participants: Employé , Rayon

n cardinalités: Employé : min=0, max=1 Rayon : min=0, max=n

n attributs: /

n identifiant: Employé.nom

n contraintes d'intégrité: /

Page 50: Modélisation Conceptuelle - University of Lausanne

50

Description d'un attribut

n nom de l'attribut

n définition libre de sa sémantique

n cardinalités

n si attribut simple: domaine de valeurs

n si attribut complexe: description des attributs composants

Page 51: Modélisation Conceptuelle - University of Lausanne

51

Domaine de valeurs d’un attribut simple

n Le domaine de valeurs d’un attribut définit l'ensemble des valeurs permises pour cet attribut

n Le domaine d’un attribut simple peut être u un domaine de base: entiers, réels, string, booléen, date …u un domaine de base avec restriction:

Entier [>=1,<=12] pour l'attribut moisu un domaine énuméré:

{janvier, février, …, décembre}u un domaine de type défini par l’utilisateur

Page 52: Modélisation Conceptuelle - University of Lausanne

52

Contraintes d'intégrité (CI)

n règles définissant les états (CI statiques) et les

transitions d'état (CI dynamiques) possibles de la BD

n doivent être décrites explicitement (avec un langage

approprié) si elles ne peuvent pas être décrites avec les

concepts du modèle de données

n une BD est cohérente si toutes les CI définies sont

respectées par les valeurs de la BD.

Page 53: Modélisation Conceptuelle - University of Lausanne

53

CI sur les attributs

n Restrictions selon le contexte :u Pour toute personne liée à Mariage, son attribut état-civil a

pour valeur "marié"

∀ x,y ∈ Personne, <x,y> ∈ Mariage => x.état-civil = "marié" & y.état-civil = "marié”

u Pour toute personne liée à Mariage par le rôle mari, son attribut sexe a pour valeur "M"

∀ x,y ∈ Personne, <x/mari, y/femme> ∈ Mariage => x.sexe = "M" & y.sexe = "F"

n Restrictions de domaine fixes :u âge ∈ [0 : 130 ]u état-civil : célibataire –> marié –> divorcé

veuf

Page 54: Modélisation Conceptuelle - University of Lausanne

54

Attributs dérivés

nombre d'enfants = nombre d'occurrences du TA “Parent” qui lient cette Personne

nomPersonne EnfantParent

nom prénoms nombre d'enfants nom prénoms

2:2

Page 55: Modélisation Conceptuelle - University of Lausanne

55

Exemple : Institut de formation

Personne

EnseignantEtudiant

nomprénoms (liste)adr.

Obtenu Inscrit Assure

Cours

Prérequis

nomCcycle

notes année

a-pour0:n

est-un0:n

couverture

0:n 1:1

0:n

0:n

0:n liste

0:n

(multi-ensemble)

Page 56: Modélisation Conceptuelle - University of Lausanne

56

Institut de formation (suite)

Etudiant

n°EdateN

jourmois année

diplôme année

étudesliste

Enseignant

tel.statut banque

agencecompte

rens.banc.

Page 57: Modélisation Conceptuelle - University of Lausanne

57

Schéma de FormaPerm (1)

n Définitions : Etudiant : tout individu qui est actuellement inscrit à l'institut, ou qui a

déjà passé avec succès l'un des cours de l'institut.Enseignant : tout individu assurant actuellement un ou plusieurs cours

à l'institut.

n Schéma :

Type d'entité : PersonneAttributs : nom : 1:1, simple: Dnom

prénoms : 1:n liste, simple: Dnomadr : 1:1 , simple: Dch100

Identifiant : (nom + prénoms)

Page 58: Modélisation Conceptuelle - University of Lausanne

58

Schéma de FormaPerm (2)

Type d'entité : Etudiant sous-type de PersonneAttributs : n°E: 1:1, simple: Entier

dateN: 1:1, complexe:(jour: 1:1, simple: Djourmois: 1:1, simple: Dmois)année: 1:1, simple: Dannée)

études: 0:n liste, complexe: (année: 1:1, simple: Dannéediplôme: 1:1, simple: Dnom )

Identifiant : (n°E)

Page 59: Modélisation Conceptuelle - University of Lausanne

59

Schéma de FormaPerm (3)

Type d'association : Obtenu

Rôles : Etudiant (0:n) listeCours (0:n)

Attributs : notes: 1:n multi-ensemble, simple: Dnoteannée: 1:1, simple: Dannée

Identifiant : (Etudiant + Cours)