2 Modélisation
2 Modélisation
2 Modélisation
Habiba Chaoui
Filière Génie Informatique
Différents types de modèles logiques ( machinables ) sont exploités dans le marché des SGF et SGBD :
* Le Modèle Hiérarchique ( années 60 )
Il permet de gérer des données dans un ensemble de fichiers sous forme d’un ensemble d’arbres ou de
hiérarchies . Seuls les liens 1 à N entre enregistrements sont permis ( liens père-fils ) .
Les liens multivaluées ( N à N ) doivent être transformés sous forme de liens 1 à N .
La recherche d’enregistrements se fait en parcourant l’arbre général par une gestion de pointeurs :
du père vers le 1er fils , puis de celui-ci vers le 2ème ou du père vers le grand-père , etc…
Les utilisateurs ne peuvent accéder aux données que par l’intermédiaire de programmes de gestion
de fichiers ( SGF ) écrits spécifiquement pour eux ( Niveau de réutilisation faible ) .
Exemples de SGF : IMS ( IBM )
1
* Le Modèle Réseau ou CODASYL ( 1971 )
Son but est de lever certaines des contraintes du modèle hiérarchique . Il fonctionne selon le même
principe navigationnel , c’est à dire par pointeurs . Il permet de représenter les liens N à N entre
enregistrements par liaison d’un enregistrement à un ou plusieurs pères et / ou à un ou plusieurs fils.
Il est basé sur les notions de RECORD ( enregistrement ) et de SET ( lien entre 2 enregistrements ) .
Les premiers SGF et SGBD supportant ce modèle sont apparus en 1978 :
Exemples : IDS2 ( Bull ), DBMS ( DEC ), IDMS (Culliname ), ADABAS ( Software AG ), etc...
2
* Le Modèle Objet ( Années 1990 )
C’est le successeur potentiel du modèle relationnel . Il repose sur la théorie des objets .
Dans cette théorie , le système d’informations peut être représenté comme un ensemble d’objets
possédant des propriétés et des méthodes et communiquant entre eux par échange de messages .
Il s’appuie en amont sur des méthodes de conception de S.I orientées objet comme O.M.T
( Object Modeling Technique ) ou U.M.L ( Unified Modeling Language ) ou O.O.M ( Orientations
objet dans Merise ) , etc…Ce modèle est encore peu utilisé dans le marché commercial mais est appelé
à remplacer le modèle relationnel dans quelques années pour sa puissance et sa sémantique intuitive .
Exemples de S.G.B.D.O ( SGBD Objets ) : O2 ( IBM )
Chapitre II:
Le modèle entité-association
3
Conception de systèmes d’information
Notion de système:
Définition:
Ensemble d’objets et de relations entre objets
Ensemble d’éléments en interaction dynamique organisés en fonction d’un but
Ou encore:
Quelque chose (n’importe quoi identifiable)
Qui fait ( a une activité, réalise une tache)
Doté d’une structure
Évolue dans le temps et dans quelque chose ( son environnement)
Pour quelque chose ( a une finalité)
Cette définition fait ressortir deux aspects non indépendants:
L’aspect qualifié de statique concerne les objets, leurs structures et leurs relations
L’aspect qualifié de dynamique concerne l’activité du système.
Pour chaque aspect, il faut des formalismes pour décrire le résultat de chaque niveau et une démarche
pour leur élaboration.
Le système d’information d’une organisation fait ressortir trois composants essentiels:
Le sous système opérant qui traite un flux d’événements
Exemple: facturer, payer des salaires..
Le sous système de pilotage qui décide des actions sur le sous système opérant en fonction des
objectifs et de la politique de l’organisation.
Le sous système d’information qui a pour rôle d’informer le système de pilotage sur l’activité du
7
système opérant en collectant, mémorisant, traitant et distribuant l’information.
4
La modélisation de la statique d’un S.I.
5
La Méthode MERISE (2ème Génération)
MODELES
MCC
MCD MCTA
Niveau conceptuel
CVO
Niveau physique
MLDR MLTR
11
MCC
Description des fonctions majeures du S.I en réponse aux stimuli provenant de
+ MCD Système d’information
l’environnement extérieur ( acteurs externes ) sans
+ MCTA Conceptuel ( SIC ) référence aux ressources nécessaires à sa mise en œuvre
+ CVO ( Concentration sur le Quoi )
MOD Système d’information Description des ressources nécessaires à la mise en œuvre des activités
+ MOTA Organisationnel ( SIO ) du SIC du point de vue du gestionnaire ( moyens techniques et humains , espace
, temps , données ) et choix d ’une organisation pour ces ressources (
Concentration sur le Comment du gestionnaire )
12
6
Le Modèle Conceptuel de données ( MCD )
Exemple :
1,N
COMMANDE
Commander
Qté commandée N° Commande
0,N Date Commande
1,1
PRODUIT Passer
Ref-Produit commande
Désignation
Prix-unitaire 1,N
CLIENT
Code-Client
Nom-Client
13
Notion d’ENTITE
Etudiant
Exemple Etudiant
Etudiant 125
235
7
Notion d’ASSOCIATION
Une Association traduit les liens sémantiques existant entre 2 ou
plusieurs entités du S.I et de son environnement
Elle est caractérisée par : * Absence d ’existence intrinsèque
* des occurrences ( au moins une )
* des propriétés portées ( nombre M ) M = 0, 1, 2, 3, …
* une dimension N ( N = nombre d ’entités rattachées )
* un identifiant obtenu par concaténation des identifiants
des entités rattachées
Exemple Client
Véhicule
Loué par N° Client
N° Immatr.
Date mise en service Nom
Association binaire non Adresse
Kilométrage
porteuse d’identifiant
(N°Immatr.+N° Client )
Service
Salarié N° Service
Matricule Affecté à
Désignation
Date affect.
Nom
Occurrences d’association
SALARIE
SERVICE
A01
IDRISSI 125
18/05/92 Comptabilité
SALARIE
SERVICE
A12 11/10/91
ALAMI 124
Commercial
SALARIE 04/03/93
SERVICE
A05
RAMI 106
Magasin
SALARIE
A09 * A01-125 , A12-125 et A05-106 sont des instances
DAOUDI de l ’association « Affecté à »
8
Cardinalités d ’une Association ( Interprétations )
E1 E2 E1 E1 E2
Assoc. E2 Assoc.
Assoc.
Entité 1 i1 , j1
Entité 2
Association
i2 , j2
i1 , i2 = cardinalités mini
j1 , j2 = cardinalités maxi
Exemple
Service
Salarié 1,N 1,8 N° Service
Matricule Affecté à
Date affect. Désignation
Nom
Règles de gestion : RG1 - Un salarié est affecté à un et ou pls services le long de sa carrière
RG2 - A un service , on peut affecter un à plusieurs salariés (maximum 8)
18
9
Identifiant d’une Association
Il est obtenu par concaténation des identifiants des entités reliées par l’association
Question : Un employé peut-il effectuer plusieurs visites chez le même médecin à des dates différentes ?
Réponse : Ce modèle ne le permet pas même si la propriété « Date Visite » est portée par l’association « Visiter »
19
Calendrier
( N° Employé , N° Médecin , Date )
Date
Ce modèle permet , à l’inverse du précédent , de représenter le fait qu’un employé peut visiter le même
médecin plusieurs fois à des dates différentes .
20
10
Comment doit-on interpréter les cardinalités d’une association ternaire ?
Exemple : Association ternaire ( i2 , j2 )
Médecin
( i1 , j1 ) Visiter
Employé
( i3 , j3 ) Calendrier
• Identification de ( i1 , j1 )
Pour un employé fixé ( occurrence E ) , le couple de N° Employé ( N° Médecin , Date Visite )
cardinalités ( i1 , j1 ) traduit le nombre minimal 1 ( 12 , 08/05/01 )
et maximal d’occurrences du couple d’entités 1 ( 10 , 15/06/01 ) Occurrences
( Médecin , Calendrier ) qui sont associées à 1 ( 6 , 09/06/01 ) de « Visiter »
l’occurrence E . 3 ( 10 , 02/06/01 )
Ici : ( i1 , j1 ) = ( 0 , 3 ) 4 ( 12 , 14/06/01 )
4 ( 10 , 14/06/01 )
5 ( 10 , 02/06/01 )
• Identification de ( i2 , j2 )
N° Médecin ( N° Employé , Date Visite )
Pour un médecin fixé ( occurrence M ) , le couple de
cardinalités ( i2 , j2 ) traduit le nombre minimal 12 ( 1 , 08/05/01 )
et maximal d’occurrences du couple d’entités 10 ( 1 , 15/06/01 )
6 ( 1 , 09/06/01 )
( Employé , Calendrier ) qui sont associées à
10 ( 3 , 02/06/01 )
l’occurrence M . 12 ( 4 , 14/06/01 )
Ici : ( i2 , j2 ) = ( 0 , 4 ) 10 ( 4 , 14/06/01 )
10 ( 5 , 02/06/01 )
• Identification de ( i3 , j3 )
En raisonnant de même pour ( i3 , j3 ) on trouve : ( i3 , j3 ) = ( 0 , 2 )
21
Dépôt destinataire
Code dépôt
CLIENT Recevoir
Adresse dépôt
Code Client Nbre colis reçus 0,N
Nom client 0,N
Adresse client
11
Rôles dans une Association ( suite )
Exemple 2 : Cas d ’une entité réflexive
A pour chef
0,1
SALARIE Encadrer
N° Salarié
Nom Est chef de
Prénom 0,N
Fonction
Salarié
N° Subalterne N° Chef
1 2 Occurrences de
1
5 2 l’association
2 2 4
6 1
3
* Les salariés N° 1 et 2 participent aux 2 rôles de l’association .
4
* Le salarié N° 3 ne participe à aucun des rôles de l ’association .
5
6 * Les salariés N° 4 et 5 participent à un seul des rôles de l ’association.
23
Exemple :
ETAGE
1,N
CHAMBRE N° Etage HOTEL
( 1,1 )
N° Chambre Nbre de toilettes 1,N Code Hotel
( 1,1 )
Surface Adresse Hotel
Nom Hotel
12
Notion de Dépendance Fonctionnelle
Définition : 2 propriétés A et B sont en DF si la connaissance d’une
valeur de A détermine une et une seule valeur de B . On dit que A
détermine fonctionnellement B .
5 - Transitivité : {X Y et Y Z } => X Z
6 - Pseudo-transitivité : {X Y et Y, Z W } => X, Z W
PROPRIETES
13
DEPENDANCES FONCTIONNELLES
27
DEPENDANCES FONCTIONNELLES
2 - Cas d’une Association hiérarchique ( monovaluée )
COMMANDE CLIENT
1,1 PASSER 0,N Code Client
N° Commande
Nom
Date Commande
Adresse
Montant
DF représentant l’assoc.
N° Commande Code Client Nom
Adresse
Occurrences de « PASSER » Une Association Hiérarchique est une association binaire (dimension = 2)
N° Commande Code Client dont l’une des pattes possède une Cardinalité Maxi égale à 1 .
1 4 Ce type d’association est toujours orienté suivant le sens de la
2 9 dépendance fonctionnelle qui relie les identifiants de ses Entités .
3 4
4 6 Remarque : La dépendance fonctionnelle Code Client ---> N°Commande
5 2 n’existe pas car un Client peut passer plusieurs commandes
( exemple du Client N° 4 )
6 4 28
14
DEPENDANCES FONCTIONNELLES
3 - Cas d’une Association N-aire multivaluée non porteuse de propriétés
* Exemple 1 : Association binaire non porteuse
Une Association multivaluée
ACTEUR FILM est une association dont toutes les
JOUER pattes possèdent une Cardinalité
N° Acteur 0,N 1,N N° Film
Maxi égale à N ( N >= 2 ) .
Nom Titre
Prénom Date N° Auteur ( Nom , Prénom )
Production
N° Film (Titre , Date Product. )
DF représentant l’assoc. ( sans but )
( N°Acteur , N° Film ) -
Calendrier
* Exemple 2 : Association ternaire non porteuse
0,N Date
DEPENDANCES FONCTIONNELLES
4 - Cas d’une Association N-aire multivaluée porteuse de propriétés
* Exemple 1 : Association binaire porteuse
PRODUIT
FACTURE 0,N COMPORTER 1,N
N° Facture Réf. Produit
Quantité Produit Désignation
Date Facture
Montant Prix Unitaire
DF représentant l’assoc.
( N° Facture , Réf. Produit ) Quantité Produitc
DF représentant l’assoc.
( N° Ville Départ , N° Ville Arrivée , N° Route ) Distance
30
15
DEPENDANCES FONCTIONNELLES
PERSONNE 0,N
Parent PARENTE
N° CIN ( Nom , Prénom )
N° CIN
Nom
Enfant
Prénom 0,2
DF représentant l’assoc.
( N° CIN Parent , N° CIN Enfant ) -
31
DEPENDANCES FONCTIONNELLES
FACTURE REGLEMENT
0,1 PAYER 1,1
N° Règlement
N° Facture
Date Règlement
Date Facture
Montant Règlement
Montant Facture
Règles de gestion:
Ce type d’association est orienté
RG1 - Une facture fait l’objet d ’un seul règlement dans les 2 sens pour indiquer
l’existence de 2 dépendances
RG2 - Un règlement compense toujours une seule facture
fonctionnelles entre les identifiants
RG3 - A un instant donné , certaines factures peuvent être impayées . des entités de l’association .
N° Facture N° Règlement
Date Montant
Date Montant Règlement Règlement
Facture Facture 32
16
DEPENDANCES FONCTIONNELLES
8 - Cas des entités faibles
Exemple :
ETAGE
1,N
CHAMBRE N° Etage HOTEL
( 1,1 )
N° Chambre Nbre de toilettes 1,N N° Hotel
( 1,1 )
Surface Adresse Hotel
1,N
1,1
Règles de gestion:
RG1 - Une réservation est effectuée sur une ou plusieurs chambres
RG2 - Une réservation de client à l’hôtel précise le nombre de nuits relatif à chaque chambre ( durée )
RG3 - Une chambre est identifiée relativement à un étage et à un hôtel particuliers
33
N° fournisseur
17
Le modèle relationnel
35
2 ) La Relation : Une relation ( appelée aussi table ) est un ensemble d’attributs significativement
associés ( dont l’association a un sens au niveau du S.I ) .
18
Le Modèle Logique de Données Relationnel ( suite 1 )
Une relation est un sous-ensemble du produit cartésien des domaines de valeurs associés à ses attributs.
3 ) Les clés d’une relation : soient 3 relations comportant certains attributs communs :
R1 ( A1# , A2 , A3, …….., An )
R2 ( B1# , B2 , B3 , …….., Bn , A1# )
R3 ( A1# , B1# , C1, C2 , C3 , ….., Cn )
- A1# dans R1 et B1# dans R2 sont appelés clés primaires : Chacun de ces attributs a été choisi pour
identifier de manière discriminante
les tuples de sa relation . 37
- A1# dans R2 est une clé étrangère : c’est un attribut défini sur un domaine primaire ( celui de R1 )
mais qui est présent dans une autre relation ( R2 ) dans le but
de créer un lien entre les relations R1 et R2 .
- Remarques: * une clé primaire ( simple ou composée ) est toujours soulignée dans une relation .
* une clé étrangère ( ou externe ) peut être composée comme dans le cas d’une clé primaire
* l’attribut ou les attributs constituant une clé primaire ou étrangère possèdent un nom
qui se termine par le symbole #
* une relation est toujours identifiée par une clé primaire
* une relation peut présenter une ou plusieurs clés candidates (clés primaires de substitution)
4 ) Schéma relationnel : C’est un ensemble de relations logiques présentant des liens sémantiques .
Cet ensemble est destiné à la création d’une base de données physique .
38
19
Le Modèle Logique de Données Relationnel ( suite 3 )
* les attributs par rapport à leur domaine de valeurs (contrainte d’intégrité de domaine)
Exemple : Si l’attribut ‘ N° Client ’ est défini sur un domaine de valeurs numériques , il ne
peut pas contenir de lettres .
39
20
Construction du Modèle Logique de Données Relationnel ( suite 1 )
ENTITE A ENTITE B
ENTITE A ENTITE B
21
Construction du Modèle Logique de Données Relationnel ( suite 3 )
2.3 ) Association hiérarchique Un [ 0, 1 ou 1, 1 ] à Un [ 0, 1 ou 1, 1 ]
ENTITE A ENTITE B
Identifiant Ao *,1 Association *,1 Identifiant Bo
Propriété A1 Propriété B1
Propriété A2 Propriété B2
*,N
ENTITE A
Représentation graphique
Identifiant Ao Association du MLDR
Propriété A1
Propriété A2
A
*,N
Ao #
Relations obtenues : A, B A1
A2 B
A ( Ao# , A1 , A2 , ... )
Ao1 #
B ( Ao1# , Ao2# ) : Cas d’une assoc. non porteuse Ao2 #
B ( Ao1# , Ao2# , B1 , B2 , ...) : Cas d’une assoc. porteuse B1
B2
Exemple :
Est parent de Relations obtenues :
PERSONNE 0, N
N° CIN PERSONNE ( N° CIN # , Nom , Prénom )
Parenté
Nom
Prénom 0, 2 PARENTE ( N° CIN_Parent # , N° CIN_Enfant # )
Est enfant de
44
22
Construction du Modèle Logique de Données Relationnel ( suite 5 )
2.5 ) Association réflexive hiérarchique Un [ 0, 1 ou 1, 1 ] à Plusieurs [ 0, N ou 1, N ]
*,N
ENTITE A
Représentation graphique
Identifiant Ao Association du MLDR
Propriété A1
Propriété A2
A
*,1
Ao #
A1
Relation obtenue : A A2
Ao‘ #
A ( Ao# , A1 , A2 , ... , Ao’ # )
Exemple :
45
ENTITE A ENTITE B
Cette association traduit le rattachement d’une entité faible ( A ) à une entité classique ( B ) .
L’identifiant absolu de l’entité A est : Ao + Bo .
PROJET
PHASE Relations obtenues :
( 1, 1 ) 1, N N° Projet
N° Phase PROJET ( N° Projet # , Nom Projet , Date début )
Désignation Nom Projet
Date début PHASE ( N° Projet # , N° Phase # ,
Durée Désignation , Durée )
46
23
Construction du Modèle Logique de Données Relationnel ( suite 7 )
4 ) Application : Schéma relationnel d’un service clientèle dans un café
SERVEUR MLDR
1# 1,N 0,N CALENDRIER
AFFECTER
2 SERVEUR ( 1 # , 2 )
9#
1,N 1,N
CALENDRIER ( 9 # )
0,N AFFECTER ( 1 #, 9 # , 3 # )
SUIVRE 1,N TABLE
3#
CONCERNER TABLE ( 3 # )
1,1 TRAITER
1,1 COMMANDE ( 11 #, 12, 10 ,
1,1
COMMANDE 1 #, 3 #, 9 # )
11 # CONSOMMATION
FIGURER 1,N FIGURER ( 11 # , 4 # , 7 , 8 )
12 1,N 4 #
10 5
7 CONSOMMATION ( 4#, 5 , 6 )
8 6
Dictionnaire de données
48
Une instance de la base FABRICATION
24