analyse et conception de systèmes d’information modèle ...efreidoc.fr/l3/bdd/cours/cours complet...
TRANSCRIPT
1
Analyse et Conception de Systèmes d’Information
Abdelkrim LAHLOU
Plan du cours
� Partie 1 : Modélisation conceptuelle◆ Concepts de base◆ Modèle Entité-Association
� Partie 2 : Modélisation logique◆ Concepts de base◆ Modèle relationnel◆ Traduction du MCD vers le MLD◆ Normalisation
2
Partie 1
Modélisation Conceptuelle
Le Modèle Entité-Association
I – Les concepts de base
Modélisation du réel
Réel
Modèle conceptuel
■ Indépendant du modèle de données
■ Indépendant du SGBD
Modèle logique
■ Dépendant du modèle de données
■ Indépendant du SGBD
CODASYL Relationnel Objet XML
Modèle Physique
■ Dépendant du modèle de données
■ Dépendant du SGBD
■ Organisation physique des données
■ Structures de stockage des données
■ Structures accélératrices (Index)
Médecin effectue Visite
4
2
Modèle de données
■ Ensemble de :◆ Concepts permettant la description et la manipulation des
données du monde réel◆ Règles d’utilisation de ces concepts
■ Ces concepts décrivent les aspects : ◆ Statiques : structures des données◆ Dynamiques : opérations sur les données+ contraintes explicites
■ Schéma : description de la BD obtenue en utilisant un modèle de données
5
Cycle de vie d'une base de données
LMD
�
utilisateurs
PersonneVoiture
Monde réel
Concepteur
�Personne Voitureconduit
Schéma conceptuel
�
PersonneDupontDurantRochat…
Table Personne Table Voiture Table Conduit…
Schéma logique
�
BD
VoitureFord KAPeugeot 106Toyota yaris…
�
�
Schéma physique 6
Objectif
■ La modélisation conceptuelle vise à la la définition duschéma conceptuel de la base de données
- Personne- Voiture
Monde réel
Concepteur
Personne Voitureconduit
Schéma conceptuel
7
Pourquoi la modélisation conceptuelle?
■ Représenter la réalité telle qu'elle est perçue par les utilisateurs
■ Contrairement aux modèles logiques qui décrivent la réalité en fonction du modèle du SGBD
■ Représentation à l’aide de la trilogie de base :◆ Objets◆ Liens◆ Propriétés
8
3
Avantages
■ Attention portée sur les applications
■ Indépendante des technologies◆ Portabilité◆ Longévité
■ Orientée utilisateur ◆ Compréhensibilité◆ Support du dialogue concepteurs / utilisateurs◆ Permet la collaboration et la validation par les utilisateurs
9
Avantages
■ Spécifications formelles, non ambiguës,
■ Puissance des concepts
■ Support d’interfaces visuelles (lisibilité)◆ Diagrammes de définition de données
◆ Manipulation de données
■ Facilite les échanges d’informations entre SGBD différents
10
Attention !
La qualité de la conception de la BD est un facteur critique de réussite
11
Elaboration du schéma conceptuel
■ Analyse du monde réel :◆ Identification des phénomènes à représenter dans la BD
✦ Délimitation de l’univers du discours
■ Représentation à l’aide des concepts du modèle :◆ Contenu ◆ Structure◆ Règles◆ Dynamique
■ Représentation◆ Partielle◆ Infidèle et Subjective
12
4
Abstraction ou classification
Type d’objet : PersonnePropriétés : - nom,
- âge, ...
De la réalité perçueà la représentation :
Faire abstraction des particularités permet de passer des objets aux types ou classes d'objets
Maud YvesPaul ...Zoë
13
Définition du schéma
■ Un schéma est une collection de types◆ d’objet <-> objets◆ d’association <-> liens
■ La bases de données contiendra les valeurs représentant les instances de ces types
Personne VoiturePossède
Est-marié-avec
14
Modèles conceptuels
■ Entité-Association (EA)
(ER: Entity-Relationship)
■ UML
■ Autres (OO, OR, etc…)
◆ NB : le modèle relationnel et certains modèles orientés objets sont des modèles logiques (objectif : implémentation)
15
Quelques termes
Ensemble d’objets perçus
comme similaires
étudiants
INSTANCES ou OCCURRENCES
Type d'objet Étudiant :- nom- prénoms- date de naissance- section- année
Base de données
POPULATION
Etudiant
SCHEMA
Le monde réel Abstraction/Description
Diagramme
16
5
Modélisation Conceptuelle
Le Modèle Entité-Association
II – Le modèle Entité-Association
Modèle de type conceptuel
■ But : permettre la description conceptuelle des structures de données d'une application
■ Les concepts de base (correspondent aux concepts d’abstraction de la réalité) :◆ Objet <=> Entité ◆ Lien <=> Association (relationship)◆ Propriété <=> Attribut
■ + la représentation multiple
18
MODELE ENTITE - ASSOCIATION
■ Le modèle Entité - Association (Entity – Relationship)est un modèle simple qui permet de visualisergraphiquement les objets du monde réel et lesassociations entre ce objets
■ Modèle inventé par P. Chen en 1976
■ Différentes variantes ont été proposées
■ Deux approches de base à la modélisation à la modélisation sont intégrées :
◆ Agrégation de données � Entités◆ Association de groupes de données � Associations
19
Concepts : Entité – Association - Attribut
■ Entité :Modèle d’objet identifié du monderéel dont le type est défini par unnom et une liste de propriétés
■ Association :Lien logique entre entités dont letype est défini par un verbe et uneliste éventuelle de propriétés. Uneassociation est caractérisée par sacardinalité
■ Attribut :Propriété d’une entité ou d’uneassociation caractérisée par unnom et un type élémentaire
Entité
Association
Attribut
20
6
Entités et types d’entités
■ Entité : représentation d’un objet du monde réel ayant une existence propre
■ Type d'entité (TE) : représentation d'un ensemble d'entités perçues comme similaires et ayant les mêmes caractéristiques
Aude PaulYves ...Zoë
Personne
21
Associations et types d’associations
■ Association : représentation d'un lien non orienté entre plusieurs entités (qui jouent un rôle déterminé)
■ 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
’achète ’ = < 1 personne, 1 maison >
Personne Maisonachète
22
Rôles d’une association
■ Dans une association, chaque entité joue un rôle déterminé
■ Association binaire: deux rôles
’achète’ = < 1 personne, 1 maison >
ACHETEUR ACHETÉ
Personne Maisonachète
23
Associations Cycliques
’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 l’époux et qui est l’épouse ?
< Dupont Dominique, Dupont Dominique >
24
7
Associations Cycliques : rôles nommés
’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 >
25
Associations Ternaires
’achète’ = < 1 client, 1 produit, 1 fournisseur >3 rôles OBLIGATOIREMENT
Client Produitachète
Fournisseur
26
Associations Cycliques
■ Ternaires :
Emprunteur
Personne Emprunt BanqueGarant
27
Population d'un TE et d’un TA
Personne Maisonachète
28
8
Cardinalité des rôles
■ Combien de voitures (minimum) une personne peut-elle avoir?
■ Combien de voitures (maximum) une personne peut-elle avoir?
Personne VoiturePossède
Min : MaxPersonne Possède
29
Contraintes de cardinalité
■ Une personne peut ne pas avoir de voiture, en avoir 1, 2, … n (pas de contrainte)
cardinalités : contraintes sur les données
0 : nPersonne Possède
0 : n 1 : 1Personne VoiturePossède
■ Une voiture a un et un seul propriétaire
30
Population d'un TA
Personne Maisonachète0:n 1:1
31
Valeurs et notations des cardinalités
Minimum Maximum
0 1
1 1
0 n
1 n
n m
0 : n 1 : 1Personne VoiturePossède
32
9
Associations ternaire : cardinalités
■ Plus difficiles à lire sur le schéma
■ Nombre min et max d’occurrences du TA qui peuvent lier une occurrence donnée du TE
No-SS No-imm.
Personne VoitureAssure
Compagnie Ass.
Nom 33
Attributs
■ Décrivent les propriétés associées à :◆ un type d’entité◆ un type d’association◆ un autre attribut
nom prénom salaireDate_mariage
jour mois annéeDomaine [1,31]
MARI
FEMME
Personne Marié à
34
Attributs simples
■ simple (atomique) : non décomposable◆ Exemples : jour, prénom
■ Le domaine de valeurs est constitué de valeurs atomiques
◆ Ex. : jour - domaine de valeurs : {1, 2, …., 31}◆ Domaines prédéfinis standard, intervalles, énumérés
35
Attributs complexes
■ Complexe : décomposé en d'autres attributs◆ Exemples : date (jour, mois, année),
adresse (rue, ville, code postal)
■ Un attribut complexe ne porte pas de valeur propre (pas de domaine directement associé)
■ La valeur d'un attribut complexe est la composition des valeurs de ses attributs composants
■ Un composant d'attribut complexe peut être lui-même un attribut complexe
36
10
Attributs mono ou multivalués
■ Monovalué : une seule valeur par occurrence (cardinalité max=1)
Exemples: date de naissance, numéro SS
■ Multivalué : 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
37
Attributs obligatoires ou facultatifs
■ Obligatoire : une valeur au moins par occurrence (cardinalité min>=1)
◆ Exemples: nom, prénoms
■ Facultatif : peut ne pas prendre de valeur (cardinalité min=0)
◆ Exemples : salaire, téléphone
38
Attributs : cardinalité
■ MIN : caractère facultatif ou obligatoire de l’attribut
■ MAX : caractère mono-valué ou multi-valué de l’attribut
■ Même notation pour les attributs que pour les cardinalités des rôles :
◆ Nom d’une personne 1:1◆ Prénoms 1:n◆ Téléphone fixe 0:1◆ Mobile 0:n
39
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 da te-fin
montant date
année mois
liste
simple, obligatoire, multivalué de type liste
40
11
Attributs: exemple
postes
intitulé salaires date-début date-fin
montant date
année mois
( doctorant,(2000, 1997, 10)(2500, 1998, 10)(3000, 1999, 10)
’01/01/1997’,’31/12/1999’ ),
( assistant-doctorant,(3500, 2000, 10)(4000, 2001, 10)
’01/01/2000’,’31/12/2001’ ),
( assistant,(4500, 2002, 10)
’01/01/2002’,’31/12/2002’ )
/* intitulé
/* salaires
/* date début/* date fin
41
Identifiants de TE et TA
■ Nécessité de pouvoir désigner une entité (une association) de façon univoque
■ Identifiant :◆ Ensemble minimal d'attributs tel qu'il n'existe pas
deux instances du TE (TA) où ces attributs aient la même valeur
42
Identifiants du TE Employé
Employé
No-emp nom prénoms CV postes
diplôme année intitulé salaires date-début da te-fin
montant date
année mois
Il n‘y 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
43
Identifiant d'un TA : attribut propre
■ id.TA = attribut du TA
No-client nom No-commande date quantité No-produit nom
Identifiant pour Commande : No-commande
Client ProduitCommande
44
12
Identifiant d'un TA : rôles multivalués
■ Cas le plus fréquent :
id.TA = ensemble des identifiants des TE liés
Etudiant CoursInscrit
N°-carte nom note N°-cours intitulé
Identifiant de Inscrit : Etudiant.N°-carte + Cours.N°-cours
45
Identifiant d'un TA : id.TE +attribut propre
■ Un client peut commander le même produit plusieurs fois à des dates différentes
Client ProduitCommande
N°-client nom date quantité N°-produit nom
Identifiant de Commande : Client.N°-client + Produit.N°-produit + Commande.date
46
Identifiant d'un TA : rôle monovalué■ 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.N°-imm.
N°-SS N°-imm.
Personne VoitureAssure
Compagnie Ass.
Nom
47
Identifiant d'un TA cyclique
■ 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é à
48
13
Identifiant de TE faible
■ Un TE qui ne peut être identifié par ses seuls attributs propres est appelé TE faible
Livre ExemplaireExiste
N°-ISBN titre date-achat N°-exemp. état
Identifiant de Exemplaire: (Livre.N°-ISBN + N°-exemp.)
Identifiant de Existe: (Livre.N°-ISBN + N°-exemp.)
49
Exemples de schéma EA (1)Exemple 1 : Gestion d'un hypermarché
Rayon ArticleVend
Affecté Livré par
Employé FournisseurChef dechef
subord.
NomR étage quantité NomA type
nom salaire NomF adresse
quantité
50
Exemples de schéma EA (2)
■ Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.
■ Les emprunts durent au maximum 15 jours
■ Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s).
■ On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt).
■ Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).
■ On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.
Exemple 2 : Gestion d’une bibliothèque
51
Objets ayant une existence propre
■ Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.
■ Les emprunts durent au maximum 15 jours
■ Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s).
■ On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt).
■ Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).
■ On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état. 52
14
Les types d’entités
■ Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application
Auteur
Livre
EditeurClient
Bibliothèque
?
53
Les types d’entités
■ Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application
Auteur
Livre
EditeurClient
Bibliothèque?
54
Les types d’entités
■ Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application
Auteur
Livre
EditeurClient
Bibliothèque
?55
Les types d’entités
■ Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application
Auteur
Livre
EditeurClient
Bibliothèque
?
?56
15
Les types d’entités
■ Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application
Auteur
Livre
EditeurClient
Bibliothèque
57
Les attributs du TE Livre
■ Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.
■ Les emprunts durent au maximum 15 jours
■ Un LIVRE est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s).
■ On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt).
■ Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).
■ On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état. 58
Type d’entité Livre et ses attributs
Livretitre
numéro
auteurs
éditeurétat date-achat
1:1
1:n
list
59
Les attributs du TE Client
■ Un CLIENT qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.
■ Les emprunts durent au maximum 15 jours
■ Un LIVRE est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s).
■ On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués(nombre, numéro et titre du livre, date de l'emprunt).
■ Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).
■ On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.
60
16
Type d’entité Client et ses attributs
Clientnuméro
nom
caution
adresse
n° rue ville
61
Les TE du schéma conceptuel
Livretitrenuméro
auteurs
éditeurdate-achatétat
Clientnuméro
nom
caution
adresse
n° rue ville
62
Les types d’association
■ Représentation d'un lien non orienté entre plusieurs entités (qui jouent un rôle déterminé)
ClientLivre
date-emprunt date-retour
emprunté emprunteurEmprunte
63
Schéma conceptuel Bibliothèque
numéro Clientnuméronomcaution
adresse
n° rue ville
titre
auteursLivre
éditeurdate-achatétat date-emprunt date-retour
emprunté emprunteurEmprunte
64
17
Contraintes d'intégrité (CI)
■ Règles définissant les états (CI statiques) et les transitions
d'état (CI dynamiques) possibles de la BD
■ 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
■ Une BD est cohérente si toutes les CI définies sont
respectées par les valeurs de la BD.
65
CI sur les attributs
■ Pour chaque occurrence d’Emprunt si la date-retour existe, alors elle doit être supérieure à la date-emprunt.
■ Pour chaque occurrence de Livre, la date-achat doit être inférieure à la date-emprunt de toutes les occurrences d’Emprunt qui lui sont liées.
numéro Clientnuméronomcaution
adresse
n° rue ville
titre
auteursLivre
éditeurdate-achatétat date-emprunt date-retour
emprunté emprunteurEmprunte
66
Représentation multiple
■ Un objet peut avoir plusieurs représentations
Plusieurs points de vues :• un article• un article alimentaire• un produit laitier
Articles
Alimentaire
HabillementHi-Fi
Produit laitiers
Viandes
FruitsLégumes
67
Lien de Généralisation / Spécialisation
Article
Articlehabillement
Lien IS_A
ArticleHi-Fi
Produitlaitier
Fruits et legumesViande
Articlealimentaire
Un article alimentaireEst un article
Raffinement de classification68
18
Hiérarchie de Généralisation/Spécialisation
Lien IS_A
TE générique
TE spécifiques
Spécialisation Généralisation
Article
Articlealimentaire
ArticleHi-Fi
Articlehabillement
X Est un YX sous-type de YY sur-type de X
Y
Inclusion de populations :tout X est un Y
X69
Contraintes d'intégrité sur Is-a
Lien IS_A
Article
Articlealimentaire
ArticleHi-Fi
Articlehabillement
Disjonction : les articles alimentaires et les articles d'habillement n'ont pas d'instances communes
Couverture : tout article appartient à l'un des sous-types (alimentaires, d'habillement ou Hi-Fi)
Partition : disjonction + couverture70
Clusters de spécialisation
Etudiant
Et.garçon Et.fille Et.Info Et.Math Et.3ème Et.4ème
Critère : sexe critère : section critère : année
71
Généralisation multiple
Doctorant ProfesseurAssistant
Etudiant Enseignant
…….
Assistant-Doctorant
assistants
doctorants
Assistants-doctorants
problèmes liés à l'héritage!
72
19
Héritage
Article
Articlealimentaire
ArticleHi-Fi
Articlehabillement
Ventenommarquetype
date limite tailles couleurs puissance
Réparation
Service après vente
La description des sous-types ne porte que sur les informations additionnelles propres au sous-type
73
Héritage et inclusion
Carré a Rectangleab
Carré
bRectanglea
CI: a=bRectangle b
Carré a
BD LPOO
mauvais
74
DESCRIPTION D’UN SCHÉMA EA
■ Types d’entités
■ Types d’association
■ Attributs
■ Liens is-a
■ Types d’identifiant
■ Domaines d’attribut
■ Contraintes d'intégrité
schéma conceptuel
EA = ( {TE}, {TA}, {CI} )
75
Description d'un TE
■ nom du type d'entité
■ nom du (ou des) type(s) d'entité sur-type de ce type d'entité, s'il en existe
■ une définition libre (commentaire) précisant la sémantique du TE◆ caractérisation exacte de la population du type d'entité
■ description des attributs du TE
■ composition des identifiants du TE, s'il en existe
■ contraintes d'intégrité propres au TE
76
20
Les entités dans le temps
TE Client : qu'est qu'un client ???
■ Toute personne qui a une commande en cours
■ Toute personne qui a fait une commande dans les six derniers mois
■ Toute personne qui a fait une commande dans le passé ou qui est susceptible de faire une commande dans le futur
■ ………77
■ nom du type d'association
■ une définition libre (commentaire) précisant la sémantique du TA
■ noms des TE participant au TA, avec le nom du rôleles associant au TA
■ pour chaque rôle, sa cardinalité
■ description des attributs du TA , s'il en existe
■ composition des identifiants du TA, s'il en existe
■ contraintes d'intégrité propres au TA
Description d'un TA
78
Les associations dans le temps
TA Personne – Emprunte – Livre
■ Quels emprunts veut-on dans la BD?
■ Seulement les emprunts en cours
■ Les emprunts des trois derniers mois
■ Aussi les emprunts à venir (réservations)
■ ….
79
Exemple: TA "Affecté" (BD hypermarché)
■ Nom : Affecté
■ Définition : "lie un employé au rayon dans lequel cet employé travaille aujourd'hui”
■ TE participants : <Employé, > , <Rayon, >
■ Cardinalités : Employé : min=0, max=1 Rayon : min=0, max=n
■ Attributs : /
■ Identifiant : Employé.nom
■ Contraintes d'intégrité : /80
21
Description d'un attribut
■ Nom de l'attribut
■ Définition libre de sa sémantique
■ Cardinalités
■ Si attribut simple : domaine de valeurs
■ Si attribut complexe : description des attributs composants
81
Domaine de valeurs d’un attribut simple
■ Le domaine de valeurs d’un attribut définit l'ensemble des valeurs permises pour cet attribut
■ Le domaine d’un attribut simple peut être :
◆ Un domaine de base : entiers, réels, string, booléen, date, …
◆ Un domaine de base avec restriction :
Entier [>=1,<=12] pour l'attribut mois
◆ Un domaine énuméré :
{janvier, février, …, décembre}
◆ Un domaine de type défini par l’utilisateur82
Contraintes d'intégrité (CI)
■ Règles définissant les états (CI statiques) etles transitions d'état (CI dynamiques)possibles de la BD
■ Doivent être décrites explicitement (avec unlangage approprié) si elles ne peuvent pas êtredécrites avec les concepts du modèle dedonnées
■ Une BD est cohérente si toutes les CI définiessont respectées par les valeurs de la BD
83
CI sur les attributs
■ Restrictions de domaine fixes :◆ âge ∈ [0 : 130 ]
■ Restrictions selon le contexte :◆ SI mois ∈ {4, 6, 9, 11} ALORS jour ∈ [1:30] ,
SINON SI mois=2 ALORS jour ∈ [1:29],SINON jour ∈ [1:31]
◆ ∀∀∀∀ x,y ∈ Personne, <x,y> ∈ Mariage => x.état-civil = "marié" & y.état-civil = "marié”
◆ ∀∀∀∀ x ∈ Personne, ∀∀∀∀ y ∈ Voiture, <x,y> ∈ Conduit => x.âge >=18
◆ ∀∀∀∀ x ∈ Personne, (x.sexe=F OR x.age<18) => x.statut_milit.=NUL
84
22
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
85
Encapsulation
■ Certains ateliers de modélisation représentant les données sous la forme d’entités « encapsulés »
■ L'entité "Propriétaire" est une entité parente et que les entités "Personne morale" et "Personne physique" sont des entités enfants, car il y a une notion d’héritage
86
Personnalisation
■ Une personnalisation est un regroupement dans une super entité de plusieurs entités munies d'une ou de plusieurs associations.
■ Par exemple, une compagnie d'aviation proposant des vols peut modéliser le planning des pilotes par le schéma suivant
87
Regroupement d'entités
■ Il arrive parfois que certaines entités apparaissent commeredondantes. Dans ce cas, et pour gagner de la place en matière destockage de l'information, il convient de regrouper ces entités dansune seule et même table du SGBDR en ajoutant un champsupplémentaire à cette table de manière à permettre de distinguer lesentités du schéma théorique
■ Par exemple si l'on désire modéliser une gestion de CD, on peut créerune entité "Compositeur" et une entité "Interprète". Mais onconstate qu'une grande majorité de compositeurs sont leurs propresinterprètes, ce qui signifie qu'une même personne peut se trouverprésente dans les deux entités. Pour résoudre ce problème il suffit deconstruire une seule table pour les deux entités (par exemple unetable "MUSICIEN") et d'y ajouter un champ permettant dedistinguer le type de "musicien" : compositeur ou interprète ou lesdeux
88
23
Exemple de MCD(Modèle Conceptuel de Données)
Lors de la réalisation de la base de données, les entités RÉALISATEUR et ACTEUR peuvent être regroupées en une seule table car il y a un nombre non négligeable de réalisateurs qui sont acteurs, et vice-versa. Dans ce cas, un champ d'un seul caractère permettra de faire la différence entre un réalisateur pur, un acteur pur et un acteur réalisateur. Notez aussi les cardinalités entre les entités ACTEUR et FILM, en effet, un film d'animation ne possède aucun acteur. Dans l'entité EXEMPLAIRE figure un attribut "dispo" permettant de savoir si l'exemplaire n°X d'un film est disponible ou en cours d'emprunt
89
Autre exemple
90