Cours PGS-MCD-MLD Doc 1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 90

Le MCD: Objectifs du modèle

• Le MCD ou modèle Entité/Association


– est un modèle chargé de représenter sous forme graphique les
informations manipulées par le système (l’entreprise)
– décrit les données gérées sans tenir compte des choix:
• d’organisation, d’automatisation, ou techniques
– décrit les choix de gestion en précisant la signification des
invariants, leur structure et leurs liens
– exprime le QUOI sur les données

• Le modèle doit permettre de répondre à des questions que


se pose l’organisation sur son système:
– « Où en est mon stock de papier ?»
– « Qui est compétent pour contrôler le process X35? »
M.C.D.: Formalisme
• Le formalisme utilisé dans MERISE a été reconnu
internationalement par l’ISO:
• Formalisme Individu-Relation, ou
• Formalisme Entity-Relationship ou Entité-Relation
• Les concepts de base du MCD:
• propriété: le nom, l’adresse, la raison sociale,... de l’assuré
• entité/individu: l’assuré, le contrat
• association: le contrat comporte des garanties
sont répertoriés dans un dictionnaire de données avec au moins un code et
un libellé
Î permet d’assurer la cohérence des données dans le domaine d’étude et en
liaison avec les autres domaines
M.C.D.
L’objectif du MCD:
• identifier, décrire (par des informations) et
modéliser les entités et leurs associations à l’aide
d’une représentation graphique

ENSEIGNANT ENSEIGNER
COURS
Type_Ens

Nom Propriétés Num_Cours


prénom Titre_Cours
âge Type_Ens ….
PROPRIETE
Une propriété
• Elément descriptif d’une entité ou d’une association; elle y
est obligatoirement rattachée
• Elle est unique dans le modèle et ne peut être rattachée
qu’à un seul concept
• Prend une valeur précise pour chaque occurrence d’une
entité (ou d’une association):
• Nom d’enseignant : Tardieu, Espinasse, Nanci
• Num_Cours: UV125, UV45, UV1296
• Titre_Cours: BD, ISI, GL
PROPRIETE
Une propriété se décrit par tout ou partie des éléments suivants:
• Définition: ce qu’elle représente et son intérêt dans le
contexte
• Nature (Domaine de valeur): quantité, nombre, date,
heure,...
• Longueur: nombre de caractères dans la format
• Caractéristiques complémentaires:
• obligatoire ou facultative
• naturelle, calculée
• simple, répétitive
• élémentaire, décomposable
• normée: en interne ou par des organismes officiels (N°INSEE,...)
PROPRIETE composée
Une propriété peut être composée - ie- sa
valeur est obtenue à partir des valeurs
d’autres informations à travers une règle de
construction

• ex: Numéro INSEE: sexe + année +


mois + département + commune +
chrono
PROPRIETE :
Identification et vérification

• Une propriété possède un code, un libellé et une définition


• Une propriété a une seule signification (pas d’homonymie)
– Si une propriété a plusieurs sens, il faut la décomposer -
ie- spécifier plusieurs propriétés
• Une propriété n’a pas de synonyme (pas de nom différent
pour le même sens)
– Si l’on trouve 2 propriétés ayant le même sens, on n’en
garde qu’une
PROPRIETE
Les contraintes
• La définition d’une propriété est complétée par la prise en
compte des contraintes éventuelles associées
• Les contraintes liées aux propriétés correspondent à des
contrôles à assurer pour vérifier l’intégrité des données et
la cohérence par rapport au système à représenter
• Les contraintes de valeur:= l’ensemble des valeurs que
peut prendre une propriété:
• domaine de valeur (à tout moment)
• contraintes statiques (en fonction de la valeur prise par d’autres
propriétés)
• contraintes dynamiques (lors d’un changement d’état du S.I.)

• Les dépendances fonctionnelles


ENTITE: Définition
• Ensemble unique de propriétés liées entre elles
• Discernable d’autres entités, ayant une existence
propre
• Concret ou abstrait
• Qui présente un intérêt pour les besoins de gestion du
système à représenter
Exemple: Dans une banque, l’entité CLIENT est l’ensemble des
personnes physiques ou morales possédant au moins un compte dans cette
banque
• Occurrences de l’entité: Ensemble d’éléments de
même nature:
ENTITES: Occurrences
ENTITE Occurrences d’entité

ENSEIGNANT Jeanne Jean




Achille Zavatta


John Doe

Une occurrence d’une entité est: …

•un élément particulier de l’entité


•représentée par l’ensemble des
valeurs des propriétés constituant cette
entité
Entité: Définition
• Définie par
– Un nom qui permet de l’identifier
– Un ensemble de propriétés/attributs qu’elle possède.
– La désignation d’un identifiant: propriété ou ensemble
de propriétés permettant de repérer de façon unique une
occurrence de cette entité parmi d’autres occurrences
• Exemple: Enseignant possède :
– un nom, un prénom, un âge, un nombre
d’enfants, une situation familiale,…
ENTITE : Caractéristiques
• Code: pour l’identifier
• Libellé: pour la nommer
• Définition: présentation de l’entité, de son
intérêt dans le contexte d’utilisation
• Identifiant: pour rendre chaque occurrence
de l’entité unique
ENTITE : Règles de pertinence
• Règles de pertinence:
– La définition d’une entité est un choix du concepteur en
fonction de l’intérêt qu’elle présente.
– A partir d’objets concrets ou abstraits du monde réel, le
concepteur peut, à son gré, composer diverses
modélisations en termes d’entité
– On doit pouvoir faire référence distinctement à chaque
occurrence de l’entité:
• On dote chaque entité d’un identifiant -ie- une propriété
identifiante
ENTITE : Règles d’identification
Plusieurs types d’identifiant:
• Identifiant simple «naturel» (nom d’un pays) ou «artificiel»
(N° client)
• Identifiant composé (N° sécurité sociale)
• Identifiant relatif comprend des propriétés n’appartenant
pas à l’entité à identifier
Un identifiant doit être:
• univalué: 1 occurrence entité ---> 1 valeur de l’identifiant
• discriminant: 1 valeur de l’identifiant ---> 1 occurrence de l ’entité
• minimal (pour les identifiants composés)
ENTITE: Règles de vérification

• Une entité a un seul identifiant


• Une entité a au moins une propriété
• Une entité participe a au moins une association
• A chaque occurrence de l’entité, il ne peut y avoir au plus
qu’une valeur de la propriété:
– Si une personne possède plusieurs numéros de téléphone, il faudra
éclater ces numéros sous plusieurs titres
• Une information ne peut être que dans une seule entité.
Pour être dans cette entité, elle doit dépendre de
l’identifiant (notion de dépendance fonctionnelle)
ASSOCIATION: Définition
Une association modélise un ensemble d’associations de
même nature entre 2 ou plusieurs occurrences d’entités,
• ayant un intérêt significatif pour le système à représenter
L’association n’existe qu’à travers les entités qu’elle relie
• Chaque occurrence d’une association doit pouvoir être
distinguée des autres occurrences de la même association
On désigne en général les associations par des noms de
verbe:
• verbe statique à l’infinitif: appartenir, concerner,...
• la forme active ou passive permet d’orienter la lecture de
l’association
Associations: Occurrences
ENSEIGNANT COURS

Jean UV 123
Jeanne ENSEIGNE
BD
32 …

ENSEIGNANT COURS

Zavata UV 159
Achille ENSEIGNE ISI
56 … COURS
…. ENSEIGNANT

UV 5
Doe
Génie Logiciel
John ENSEIGNE
….
45

ASSOCIATION: Définition
Caractéristiques:
• Code: pour la référencer
• Libellé: pour la nommer (exprimer le sens principal de
l’association)
• Définition: pour préciser sa signification vis à vis des
entités qu’elle relie
• Volume: Nb d’occurrences, moyenne des occurrences

Remarque: Une association n’a pas d’identifiant propre mais


ses occurrences sont identifiées par la concaténation des
identifiants des entités qu’elle relie
ASSOCIATION: Définition
On distingue différents types d’association:
• les associations réflexives qui associent les
occurrences d’une même entité
– Exemple: Un enseignant travaille avec un autre
enseignant

• les associations binaires: qui associent 2 entités


– Exemple:
Livre Exemplaire
idLivre Edition_de IdExemplaire
titre nb_page
• les associations n-aires: qui associe plus de
2 entités (ex: associations ternaires,
quaternaires)
– Exemple… Exemplaire
IdExemplaire
nb_page

Client
IdClient emprunte
nom DateRetour
tel
adresse

Date
Date_emprunt
ASSOCIATION: Définition
Une association peut être porteuse
d’informations:
• les propriétés
• les cardinalités
• les contraintes
Association et Informations
Type_Ens est un attribut de l’association ENSEIGNER
Type_Ens dépend de l’enseignant et du cours.
Un même cours peut être enseigné par des enseignants différents .

ENSEIGNANT Enseigner COURS


Type_Ens

Nom Propriétés Num_Cours


prénom Titre_Cours
âge Type_Ens ….
ASSOCIATION: Les cardinalités
• La cardinalité caractérise la participation d’une entité à
une association
• Elle représente le nb d’occurrences de l’association pour
chaque occurrence de l’entité
On distingue:
• la cardinalité minimale: donne le nb minimum de
participation de chacune des occurrences de l’entité à
l’association
• la cardinalité maximale: donne le maximum de chacune
des occurrences de l’entité à l’association
ASSOCIATION: Les cardinalités

Un cours est enseigné par au moins un enseignant (1,…) ou par plusieurs (…,n)

ENSEIGNANT Enseigner 1,n COURS


Nom 0,n Type_Ens Num_Cours
Prénom Titre_Cours
Âge ….

Un enseignant peut n’enseigner aucun cours (0,…), ou plusieurs (…,n)


ASSOCIATION: Les contraintes

• Certaines contraintes ne sont pas représentables par le seul formalisme


de base (entité, association, propriétés, cardinalités) mais correspond à
une règle que doit satisfaire le modèle pour être fidèle et cohérent avec
l ’activité à représenter
• Exemple: Pour une période d ’emploi du temps, un professeur ne fait
un cours que dans une seule salle (CIF)
• Typologie des contraintes:
– contraintes d ’intégrité fonctionnelle (CIF)
– contrainte ensembliste
– contrainte de valeur
– contrainte structurelle
– options de gestion
ASSOCIATION: Les contraintes

Les CIF:
• Une CIF existe entre les entités A et B si toute occurrence
de l’une détermine obligatoirement une et une seule
occurrence de l’autre
• Exemple:
– Pour une période d ’emploi du temps (mercredi de 9h à 12h), un
professeur ne fait un cours que dans une seule salle (CIF)
– Période, Professeur Æ Salle
• Les CIF sont des cardinalités de la forme 1,1 – X,X
ASSOCIATION: Les contraintes
Représentation graphique des CIF sur une relation ternaire

• 0,n

PERIODE
CIF
0,n

PROFESSEUR SALLE
0,n Faire cours 0,n

CIF: Pour une période d ’emploi du temps,


un professeur ne fait un cours que dans une seule salle (CIF)
Les contraintes ensemblistes
• Contraintes inter-relations
– Elles sont des conditions de coexistence d’occurrences
d’association:
– Contraintes d’exclusion,
– Contraintes de simultanéité,
– Contraintes d’exclusion et totalité,
– Contraintes d’inclusion
Les contraintes ensemblistes:
Exemple
PERSONNE DEPOSER DEMANDE PRET
0,n 0,1

0,n T

REMBOURSER PRET
0,1
Les contraintes ensemblistes:
Exemple
Soit:
– Les personnes qui ont établi une demande de prêt
– Les personnes qui remboursent des prêts
• Ces 2 sous ensembles peuvent imposer des
contraintes entre eux:
– Toutes les personnes déposent et/ou remboursent un prêt: ou
inclusif (Totalité)
– Aucune personne ne peut déposer une demande et rembourser un
prêt: exclusion
– Toute personne, soit dépose une demande de prêt, soit rembourse
un prêt: la partition
– Toute personne remboursant un prêt a déposé une demande :
l’inclusion (indiquer le sens de lecture par une flèche)
M.C.D : Les contraintes d’intégrité
• Statiques:
– Elles doivent être vérifiées en permanence:
• Date_début < Date_fin
• Dynamiques:
– Validées à chaque mise à jour des données:
• Prêt d’un livre à un lecteur, sous la condition que le nombre
total de livres empruntés est inférieur ou égal à 3
• Référentielles:
– Liées à des associations, vérifient l’existence d’une
occurrence de l’entité concernée
• On ne peut créer de commande concernant un fournisseur qui
n’existe pas
Normalisation
• La conception d’un MCD représente la vision de la réalité de
l’analyste. Le formalisme obtenu, établi avec une méthode,
ne garantit pas justesse et optimisation.

• Il s’agit de vérifier (ultime contrôle sur le MCD) avant le


passage au modèle logique) que la structure devant recevoir
des données (devant fournir des informations après
traitement) soit organisée de manière à éviter des
redondances d’informations, des anomalies de conception,
sources inévitables d’incohérence à court ou long terme.
Normalisation
Les besoins de normalisation : problèmes de cohérence lors
de mises à jours de la BD

• anomalie d'insertion (si on rajoute une commande il faut


que l'article existe)

• anomalie de suppression (si on enlève un fournisseur il


faut enlever toutes les commandes de ce fournisseur)

• anomalie de modification (si on modifie le numéro d'un il


faut modifier toutes les commandes avec ce numéro
d'article
Normalisation

• La théorie de la normalisation repose sur l'analyse


de dépendances entre attributs qui sont à l'origine
de phénomènes de redondance.
• C'est des méthodes de décomposition des
relations.
• Il existe cinq formes normales. Les trois
premières, qui ont trait à l’implantation de la base
donc les plus pratiques, sont à connaître.
1FN (rubrique élémentaire) :

• Un MCD est dit en première forme normale, si toutes les


entités sont composées d’attributs élémentaires (hors clefs
concaténées).

• Il s’agit de repérer les attributs pouvant contenir une liste


de valeurs, sur laquelle aucun traitement ne permet d’isoler
les composants.

• La 1FN est directement liée aux besoins d’informations


(traitements).
Exemples :

• l’entité ARTICLE peut être considérée comme n’étant pas


en 1FN à cause de l’attribut descriart qui contient une
description (avec plusieurs composants) de l’article.
D’après l’analyse de l’existant, il ne s’agit pas d’un attribut
ayant à subir des traitements, donc, il a été décidé de la
maintenir en un seul attribut.

• Si on veut avoir les notes d'un étudiant :


Notion de dépendance fonctionnelle (DF):
Dépendance entre les informations (le prix d'un article ne
dépend pas du vendeur, le prix de l'article dépend de la
taille) .

2FN (dépendance fonctionnelle élémentaire) :

• Un MCD est dit en deuxième forme normale, si il remplit


les conditions de la 1FN et si, les attributs dépendent
directement et uniquement de la clé primaire concaténée.

• Deux groupes d’attributs X et Y de la relation R sont en


DF (on dit que X détermine Y) si dans R, chaque valeur de
X détermine une et une seule valeur de Y.
Exemple1: L’étape du langage relationnel binaire a permis
d’obtenir les phrases suivantes :
• un article a un prix pour une taille.
• un article a une description pour une taille.
• un article est défini par sa référence.
• un article possède une désignation.
• un article possède une description.
Exemple2:
3FN (dépendance fonctionnelle élémentaire directe) :

• Un MCD est dit en troisième forme normale, si il remplit les


conditions de la deuxième forme normale et si, les relations directes
optent toujours pour le chemin le plus long.

• La 3FN suppose de distinguer le cas au sein d’une entité et le cas des


CIF.

• Au sein d’une entité, tous les attributs dépendent de la clef primaire et


uniquement de la clef primaire.

• Dès qu'il existe une dépendance entre deux attributs n'appartenant pas
à une clé, la relation n'est pas 3FN
Exemple:
M.C.D.
• La base de la démarche de construction d’un
M.C.D. reste le discours (parlé ou écrit) de
l’utilisateur/client exprimé en langue naturelle
• Les mots utilisés comprennent les termes usuels
de la langue, mais aussi des termes spécialisés du
domaine
– les phrases fournissent, après une analyse
grammaticale, les principaux objets et les associations
entre ces objets
Exemple
Le recensement de propriétés concernant la gestion d’une bibliothèque a
permis de relever les phrases suivantes:
• Un client est identifié par un numéro, un nom, un numéro de
téléphone, une adresse. Tout client peut emprunter 1 ou plusieurs
exemplaires de livres.
• Un livre est identifié par un numéro et possède un titre et un auteur. Il
est édité en un ou plusieurs exemplaires.
• Un exemplaire de livre est identifié par un numéro et possède un
nombre de pages.
• A chaque fois qu’un client emprunte l’exemplaire d’un livre, la date
d’emprunt doit être notifiée.
• A une opération d’emprunt, on doit préciser une date de retour
d’emprunt.
Exemple

Livre
1,n 1,1 Exemplaire
idLivre
titre
Edition_de IdExemplaire
nb_page
auteur
0,n

Client
0,n
IdClient emprunte
nom DateRetour
tel
adresse
0,n

Date
Date_emprunt
MLD: Problématique
• La modélisation logiques des données est une
représentation des données, issues de la
modélisation conceptuelle puis organisationnelle
des données
• Elle est exprimée dans un formalisme général et
compatible avec l’état de l’art technique
• Elle tient compte des aspects coûts/performances
liées aux traitements
MLD: Problématique
• La modélisation logique des données conduira aux
opérations suivantes:
– Transformation du MCD-MOD, en un MLD exprimé
dans un formalisme logique adapté au SGBD envisagé
– Quantification en volume du modèle logique
– Valorisation de l’activité générale par les modèles
externes associés aux traitements
– Optimisation générale (notamment du coût induit par le
mode de gestion)
• Le MLD sera ensuite transformé et adapté en fonction des
spécificités du langage de définition des données
spécifique à l’outil retenu pour devenir MPD
MLD: Problématique
• Un modèle « conceptuel » de données est
indépendant de l ’état de l ’art
technologique
• Or, il existe différentes sortes de Système
de Gestion de Bases de Données (SGBD)
qui ont chacun leur propre modèle
MLD
• A ces modèles sont associés:
– Système de Gestion de Fichiers ou SGF (pas vraiment
des SGBD)
– SGBD hiérarchiques et réseau (ou CODASYL )
– SGBD relationnels
– SGBDOO
• Les SGBD relationnels et objets prennent progressivement
la place des systèmes navigationnels
Univers du discours --> MLD
XXXX YYYY
1,n 0,n
Représenter AAAA
Domaine

Modèle Conceptuel
Traduire
Implémenter YYYY
XXXX
PK_YYYY
PK_XXXX
ID_Y
ID_X
Ordinateur AAAA
PK_AAAA
ID_X
ID_Y

Modèle Logique
Univers du discours --> MLD
• Schéma logique obtenu après traduction est très souvent
incomplet

• Il représente la vue de la conception du système et pas


celle de son utilisation: le NIVEAU EXTERNE que l ’on
appellera VUES EXTERNES dans le cours de BD
Les Modèles de SGBD

1970: Modèles hiérarchiques et réseaux

IdCours Intitulé

IdEtudiant Nom Adresse IdEnseignant Nom

idNote Matière Note idFilière Nom

• Structure arborescente descendante • Structure arborescente


(type organisation en répertoires ) (pas toujours descendante)
• Utilisation de pointeur entre les données • Utilisation de pointeur entre les données
1980: Modèle relationnel

Filière
idFilière Nom
1 Biologie Filière Enseignant Cours
2 Informatique idFilière idEnseignant idCours
Nom Nom Intitulé
3 Santé
idFilière idEnseignant
4 Mathématique

• Les données sont enregistrées • La manipulation des données se fait selon la


dans des tableaux à deux théorie mathématique des relations
dimensions (lignes et colonnes)

SGBDR : Oracle, Sybase, Access, etc.


1990:
• Les systèmes de gestion de bases de données relationnelles
dominent le marché

• Modèle orienté-objets

Enseignant • Les données sont stockées sous forme d'objets


dans des structures appelées classes
Nom
• Les classes sont organisés en hiérarchie
Prénom
(héritage simple ou multiple)

Enseignant Enseignant
Biologie Informatique SGBDO : FastObject
Modèle relationnel
• Le modèle relationnel a été défini par E.F. Codd
en 1970 à IBM San José

• Aspects fondamentaux du modèle relationnel:


– une algèbre permettant de manipuler des tables et des
relations: Ensemble d'opérations formelles sur des
relations (union, intersection, différence, etc.)
permettant de créer de nouvelles relations

– une démarche de conception permettant de définir une


collection de relations
Modèle relationnel
• Un modèle est dit relationnel dans la mesure où il permet
de parcourir la structure des données empruntant des
chemins non prédéfinis, constitués en dynamique par des
requêtes
• Les concepts du modèle relationnel découlent de la théorie
des ensembles
• A ce type de modèle sont associées les notions suivantes:
– domaine
– table relationnelle
– attribut
– tuple (ou n-uplet)
Modèle relationnel: Les Domaines
• Un domaine est un ensemble de valeurs ayant une
signification pour l'utilisateur

– Ex: le domaine des noms, le domaine des âges,…

– Ex: le domaine des entiers E={...-2,-1,0,+1,+2,...}


Modèle relationnel:
Table relationnelle
• Une table relationnelle:= Sous-ensemble du produit
cartésien d'une liste de domaines (non nécessairement
distincts).
• Une table relationnelle est généralement caractérisée par
un nom
• Exemple:
– D1= {n°compte}
– D2= {Solde_compte}:
on peut composer la relation "compte".
Modèle relationnel:
Table relationnelle, attribut, tuple
• La table (ou relation) est définie comme un
tableau de données
• Les colonnes sont les attributs et les lignes sont
des tuples
• Un ou plusieurs attributs permettent d’identifier de
façon unique chaque tuple de la table: la clé
primaire
• La clé primaire est dite simple si elle est
constituée d’un seul attribut et composée dans le
cas contraire
Modèle relationnel
Attribut
• L'ordre des colonnes est sans importance
• Plusieurs colonnes peuvent appartenir à un même
domaine
• On associe un nom à chaque colonne
• Un attribut := colonne d'une table caractérisée par
un nom
Modèle relationnel
Clé de table relationnelle
• Une clé est un ensemble minimal d'attributs qui
détermine tous les autres
• il peut y avoir plusieurs clés pour une même
relation; on en choisit en général une comme clé
primaire
Modèle relationnel
• Le lien entre 2 tables relationnelles est réalisé par
la duplication de la clé primaire d’une table dans
l’autre
• Cette clé dupliquée est appelée clé externe (ou
étrangère)
• Exemple:
CLIENT COMMANDE
Client_Num 1,n 1,1
passe Cmde_Num
Client_Nom Cmde_Date
Client_Prénom
Modèle relationnel associé (1)
Table Commande
Clé primaire Attribut Clé étrangère

Cmde_Num Cmde_Date Client_Num


12345 02/09/03 VH20021
12346 02/09/03 VH20021
12347 03/09/03 EZ20006
12348 03/09/03 AZ19999
12349 03/09/03 AZ19999
12350 04/09/03 EZ19873
… … … Tuples
Modèle relationnel associé (2)
Table Client
Client_Num Client_Nom Client_Prénom …

VH20021 Hugo Victor …


EZ20006 Zola Emile …
AZ19999 Zapata Achille …
EZ19873 Zapata Emilie …
… … … …
Règles de transformation
MCD en MLD relationnel
Attribut
• Une propriété est transformée en attribut
Clé primaire
• Un identifiant est transformé en une clé primaire
Clé composée
• Une concaténation d’identifiants est transformée en une clé
composée
Table issue d’entité
• Toute entité est transformé en table. Ses propriétés
deviennent les attributs de la table. L’identifiant devient clé
primaire de la table
Règles de transformation
MCD en MLD relationnel
Exemple
CLIENT

N° Client
Nom CLIENT (N° client, Nom,
Prénom Prénom, Date_naissance)
Date_naissance

TABLE RELATIONNELLE
Entité du MCD formalisme de Codd
Règles de transformation
MCD en MLD relationnel
• Table issue d’une association binaire:
– (0,n)-(1,1)
– (1,n)-(1,1)

• La clé primaire de la table issue de l’entité côté


cardinalités (0,n) ou (1,n) est dupliquée dans la
table issue de l’entité côté cardinalités (1,1) où elle
devient clé externe
Règles de transformation
MCD en MLD relationnel
• Table issue d’une association binaire
– (0,n)-(0,1)
– (1,n)-(0,1)
• La clé primaire de la table issue de l’entité
côté cardinalités (0,n) ou (1,n) est dupliquée
dans la table issue de l’entité côté
cardinalités (0,1) où elle devient clé externe
qui peut être une valeur nulle
Règles de transformation
MCD en MLD relationnel
• Table issue d’une association binaire
– (0,1)-(1,1)

• La clé primaire de la table issue de l’entité


côté cardinalités (0,1) est dupliquée dans la
table issue de l’entité côté cardinalités (1,1)
où elle devient clé externe
Règles de transformation
MCD en MLD relationnel
• Table issue d’une association binaire
– (0,1)-(0,1)

• La clé primaire de la table issue de l’une des


entités est dupliquée dans la table issue de
l’autre entité où elle devient clé externe qui
peut être une valeur nulle
Règles de transformation
MCD en MLD relationnel
• Table issue d’une association binaire
– (0,n)-(0,n)
– (1,n)-(1,n)
– (1,n)-(0,n)
• Une table ayant comme clé une clé composée des
identifiants des 2 entités est créée. Les éventuelles
propriétés de l’association deviennent les attributs
de la table
Règles de transformation
MCD en MLD relationnel
• Table issue d’une relation ternaire ou
supérieure

• Une table ayant comme clé une clé


composée des identifiants des entités est
créée. Les éventuelles propriété de
l’association deviennent les attributs de la
table
Règles de transformation
MCD en MLD relationnel
• Table issue d’une association réflexive
(0,n)-(0,1)

• La clé primaire de la table issue de l’entité est


dupliquée dans cette table où elle devient une clé
externe qui peut être une valeur nulle. Les
éventuelles propriétés de l’association deviennent
des attributs de la table
Règles de transformation
MCD en MLD relationnel
• Table issue d’une association réflexive
– (0,n)-(0,n)
– (1,n)-(1,n)
– (1,n)-0,n)
• Une table ayant comme clé une clé composée de 2
fois l’identifiant de l’entité est créée. Les
éventuelles propriétés de l’association deviennent
des attributs de la table.
Les associations du modèle E/A

Cas d'une association de type "père-fils"


• Cardinalités Entité "père": 0,n ou 1,n
• Cardinalités Entité "fils": 0,1 ou 1,1
– L'entité "père" devient la table "père" (ou table source)
– L'entité "fils" devient la table "fils" (ou table
destinataire)
– L'identifiant de l'entité "père" devient attribut de la table
"fils", on parle dans ce cas de clé externe
– Les attributs de l'association deviennent attributs de la
table "fils"
Les associations du modèle E/A

Cas des autres associations: cardinalités de type 0,n


ou 1,n
• Une entité devient une table
• L'identifiant de l'entité devient clé primaire de la table
• Une association devient une table
• L'identifiant de l'association devient clé primaire de la
table
Algèbre relationnelle
Domaine, relation
• Domaine : ensemble de valeurs caractérisé par un nom
– Ex. : entier, booléen, chaîne de caractères, etc.

• Produit cartésien de domaines D1, …, Dn : ensemble de


vecteurs < v1,…, vn>, vi ∈ Di
– Ex : Voitures X Couleurs

• Relation : sous-ensemble d’un produit cartésien d’une liste


de domaines D1 X D2 X … X Dn, caractérisé par un nom
– Table à deux dimensions
– Une colonne prend des valeurs dans un domaine
Attribut, tuple
• Attribut : une colonne d’une relation caractérisée par
un nom
– Prend des valeurs dans un certain domaine
– Les noms des attributs d’une relation sont porteurs de sens
et doivent être différents

• Tuple : ligne correspondant à un enregistrement


– Deux lignes ne sont jamais identiques
Schéma de relation
• Schéma de relation : composé du nom de la relation suivi
de la liste des attributs et la définition de leurs domaines
– R (A1: d(A1), A2: d(A2), …, An: d(An) )
– Passagers (Nom: Chaîne, Age: Entier, Adresse: Chaîne)
– Souvent on sous-entend le domaine
• Schéma de relation : intention d’une relation
• Table : extension d’une relation

• Base de données : ensemble de relations (tables)


L’union
• Opération portant sur deux relations de
même schéma, R1 et R2, consistant à
construire une relation de même schéma,
R3, contenant les tuples qui appartiennent à
R1 ou à R2 ou aux deux relations.
• Notation : ∪
La différence
• Opération portant sur deux relations de
même schéma, R1 et R2, consistant à
construire une relation de même schéma,
R3, contenant les tuples qui appartiennent à
R1 et qui n’appartiennent pas à R2.
• Notation : -
L’intersection
• Opération portant sur deux relations de
même schéma, R1 et R2, consistant à
construire une relation de même schéma,
R3, contenant les tuples qui appartiennent à
la fois à R1 et R2.
• Notation : ∩
• R1 ∩ R2 = R1 – (R1 – R2)
Le produit cartésien
• Opération portant sur deux relations, R1 et
R2, consistant à construire une relation R3,
ayant pour schéma la concaténation de ceux
des R1 et R2, et pour tuples toutes les
combinaisons des tuples des relations
opérandes.
• Notation : X
La projection
• Opération sur une relation R1 consistant à
construire une relation R2 en enlevant à R1 tous
les attributs non mentionnés en opérandes et en
éliminant les tuples en double qui sont conservés
une seule fois.
• Opération unaire
• Sous-ensemble vertical
• Notation : ΠA1, A2, …, An (R1) ⇒ R2
La restriction (sélection)
• Opération sur une relation R1 consistant à construire une
relation R2 de même schéma, mais comportant seulement les
tuples qui vérifient la condition précisée en argument.
• Opération unaire
• Sous-ensemble vertical
• Notation : σ condition (R1) ⇒ R2
• Condition : attribut <opérateur> valeur, combinaison logique
La jointure
• Permet de composer deux relations à l’aide d’un
critère de jointure
• Opération consistant à rapprocher selon une
condition les tuples de deux relations R1 et R2
afin de former une troisième relation R3 qui
contient l’ensemble de tous les tuples obtenus
en concaténant un tuple de R1 et un tuple de R2
vérifiant la condition de rapprochement.
• Notation : R1condition R2 ⇒ R3
Fonctions de calcul
• L’algèbre relationnelle est insuffisante pour traiter
des véritables applications

• Des calculs sur des attributs


• Tout attribut apparaissant en argument d’une
opération (projection, restriction, jointure) est
remplacé par une expression d’attributs.
Agrégats (1)
• Effectuer des opérations de calcul en colonne
• Agrégat : positionnement horizontal d’une relation en
fonction des valeurs d’un group d’attributs, suivi d’un
regroupement par application d’une fonction de calcul sur
ensemble
• Notation : Agregat (R; <attribut1>; fonction(attribut2))
• Fonctions :
– Somme : SUM
– Moyenne : AVG
– Minimum : MIN
– Maximum : MAX
– Compter : COUNT
Agrégats (2)
• Exemples :
– Moyenne des notes des étudiants
• AGREGAT (ETUDIANTS;Nom;AVG(Note))
– La plus petite note du groupe
• AGREGAT (ETUDIANTS; ;MIN(Note))
– La somme des profits par vendeur
• AGREGAT (PRODUITS;NomVendeur;SUM(Prix*Pieces))
Applications (1)
• Vols (N°V, Nom_C, Départ, Arrivé, Heure)
• Passagers (N°P, Nom_P, Adresse)
• Réservations (N°R, N°V#, N°P#, Date)

• Les numéros des vols de la compagnie Air Algérie


• Les noms des compagnies qui n’ont pas encore des passagers
• Les données des passagers qui habitent à Paris
• Les noms des passagers d’Air France
• Les villes de départ et d’arrivée de tous les vols de Pierre
• Les noms des compagnies qui n’ont que Pierre comme passager
• Les noms, les adresses et les villes de départ des passagers qui partent
au Mexique après le 10 mars

Vous aimerez peut-être aussi