modélisation conceptuelle - university of lausanne

Post on 18-Jun-2022

15 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Modélisation Conceptuelle

Partie 2: Le modèle Entité-Association

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

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

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

5

Population d'un TA

Personne MaisonAchète

6

Rôles

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

ACHETEUR ACHETÉ

Personne MaisonAchète

Association binaire: deux rôles

7

Associations Ternaires

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

3 rôles

Client Produitachète

Fournisseur

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 >

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 >

10

Association cyclique : population

MARI

FEMME

Personne Marié à

JeanAnniePhilippeZoéKathiaEric….

Marié à1

Marié à2

femme

femme

mari

mari

Diagramme

Population

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>

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 >

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

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é

15

Population d'un TA

Personne MaisonAchète0:n 1:1

16

TA : notations alternatives

Personne MaisonAchète0:n 1:1

Personne Maison0:n 1:1

Achète

Personne Maison0:n 1:1

Achète

17

Cardinalités : notations alternatives

Minimum Maximum

0 1

1 1

0 n

1 n

n m

0 : n 1 : 1Personne VoiturePossède

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é à

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

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.

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.

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

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

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

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

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

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

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

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

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

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é à

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

33

TE sans identifiant

n Location de bicyclettes

Vélo PersonneLocation

type date-achat date caution nom prénom

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é

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

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

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

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

39

Héritage et inclusion

Carré a Rectangleab

Carré

bRectanglea

CI: a=bRectangle b

Carré a

BD LPOO

mauvais

40

Généralisation multiple

assistants

doctorants

assistants-doctorants

PopulationsDoctorant ProfesseurAssistant

Etudiant Enseignant

Assistant-Doctorant

Personne

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

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

43

Groupes de is-a : notation alternative

Article

Articlehabillement

ArticleHi-Fi

Articlealimentaire

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é

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

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………

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

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

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é: /

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

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

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.

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

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

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)

56

Institut de formation (suite)

Etudiant

n°EdateN

jourmois année

diplôme année

étudesliste

Enseignant

tel.statut banque

agencecompte

rens.banc.

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)

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)

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)

top related