Système D'information Et Bases de Données: Pr. Nour El Houda Chaoui
Système D'information Et Bases de Données: Pr. Nour El Houda Chaoui
MODELES
MCC
MCD MCTA
Niveau conceptuel
CVO
Niveau physique
MLDR MLTR
Le Système d’Information vu selon la méthode MERISE
MODELES Système Modélisé Description
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 )
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
Notion d’ENTITE
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)
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 »
Identifiant d’une Association ( Suite )
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 .
( 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 )
Rôles dans une Association
Rôle = Notion précisant le rôle particulier joué par un ensemble
d’occurrences relatives à une entité dans une association .
Les rôles sont portés sur le schéma Entité-Association .
Exemple 1 Livrer Dépôt expéditeur
Nbre colis livrés DEPOT
0,N 0,N
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
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.
Notion d’entité faible et d’identification relative
Une entité faible possède un identifiant relatif qui se rapporte toujours à
celui d’une entité classique . L’identifiant absolu de l’entité faible est
obtenu en concaténant les identifiants des 2 entités.
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
5 - Transitivité : {X Y et Y Z } => X Z
6 - Pseudo-transitivité : {X Y et Y, Z W } => X, Z W
PROPRIETES
* DF élémentaire : X Y élémentaire si il Z X tel que Z Y
* DF directe : X Y directe si il Z tel que X Z et Z Y
DEPENDANCES FONCTIONNELLES
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
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
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
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 ) -
DEPENDANCES FONCTIONNELLES
7 - Cas d’une Association de Cardinalités Maxi égales à 1
Exemple :
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
DEPENDANCES FONCTIONNELLES
8 - Cas des entités faibles
Exemple :
ETAGE
CHAMBRE
1,N HOTEL
N° Etage
( 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
Graphe de Dépendances Fonctionnelles
N° fournisseur
Différents types de modèles logiques ( machinables ) sont exploités dans le marché des SGF et SGBD :
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 ) .
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 .
Le Modèle Logique de Données Relationnel ( suite 2 )
- A2 est une clé candidate pour R1 à condition que A2 soit un attribut discriminant pour les tuples
de R1 comme c’est le cas de A1#. Une clé candidate est un
attribut ou un groupe d’attributs qui aurait pu servir de clé
primaire mais qui n’a pas été retenu .
- 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 .
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 .
ENTITE A ENTITE B
ENTITE A ENTITE B
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
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 :
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 )
Nom Projet
Désignation PHASE ( N° Projet # , N° Phase # ,
Date début
Durée Désignation , Durée )
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
- Il a été intégré dès 1986 aux plateformes SQL / DS, DB2 , puis ORACLE , INGRES ,
INFORMIX , etc…
* Langage de contrôle de données ( LCD ) : Il permet de gérer la sécurité des données, les transactions
et les accès concurrents
GRANT et REVOKE , BEGIN et END TRANSACTION , COMMIT et ROLLBACK, etc…
LE LANGAGE DE MANIPULATION DE DONNEES ( LMD )
Les ordres LMD sont des instructions SQL créées à partir des commandes suivantes :
Commande Rôle
SELECT Interroger une base de données en vue d’extraire les enregistrements qui répondent à
des critères particuliers
INSERT Insérer ( charger ) des lots de données dans la base de données en une seule opération
UPDATE Modifier ( mettre à jour ) des valeurs d’attributs dans une table ou bien des valeurs
d’enregistrements entiers répondant à des critères particuliers
DELETE Supprimer des enregistrements dans une table de base de données sélectionnés d’après
un critère donné .
Chaque commande peut utiliser une ou plusieurs clauses obligatoires et des clauses optionnelles .
Les clauses permettent de définir l’origine et la nature des données qu’il faut sélectionner ou manipuler .
Clause Rôle
FROM Nommer une ou plusieurs tables ou vues à partir desquelles les enregistrements doivent
être sélectionnés
WHERE Spécifier des conditions de jointure et / ou de sélection sur les enregistrements
GROUP BY Spécifier les attributs de regroupement lors d’une opération de calcul et / ou
regroupement
HAVING Spécifier des conditions de sélection sur les enregistrements obtenus après une
opération de regroupement
ORDER BY Trier les enregistrements sélectionnés pour être projetés dans un ordre particulier
LE LANGAGE DE DEFINITION DE DONNEES ( LDD )
Les ordres LDD sont des instructions SQL créées à partir des commandes suivantes :
Commande Rôle
Chaque commande peut utiliser une ou plusieurs clauses obligatoires et des clauses optionnelles