analyse et conception de systèmes d’information modèle ...efreidoc.fr/l3/bdd/cours/cours complet...

23
1 Analyse et Conception de Systèmes d’Information Abdelkrim LAHLOU [email protected] 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

Upload: dotruc

Post on 12-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

1

Analyse et Conception de Systèmes d’Information

Abdelkrim LAHLOU

[email protected]

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