Modèle logique de données
62
Introduction
■ Après avoir conçu le Modèle Conceptuel de Donnée (MCD), il est maintenant temps de le
transposer en Modèle Logique de Données Relationnelles (MLDR).
■ Ce MLDR est en fait le dernier pas vers le Modèle Physique de donnée (MPD)
MCD MLD
Des règles strictes, nécessaires et suffisantes
pour passer d'un MCD à un MLDR
63
Modèle Relationnel
■ Schéma relationnel permet de présenter les différentes relations de la BD, ainsi que leurs clés
primaires, clés étrangers et les autres attributs.
■ C’est un modèle qui s’inspire du concept mathématique de relation.
■ Exemple
Soient les domaines A = {1, 2, 3} et B = {a, b}.
Le produit cartésien de A et B est donné par:
A x B = {(1, a), (2, a), (3, a), (1, b), (2, b), (3, b)}.
Le sous - ensemble ℜ = {(1, a), (1, b), (2, a), (2,b)} est une relation définie sur les domaines A et B.
64
Modèle Relationnel
■ La relation ℜ peut s’écrire, également, sous la forme :
■ Avec SA et SB sont des sous ensemble des domaines A et B
■ la relation ℜ est représentée comme un tableau de données appelé Table ou Tableau
65
Modèle Relationnel
■ Exemple:
Considérons les domaines Couleur = {Rouge, Vert, Bleu} et Constructeur = {Fiat, Renault, Volvo, Opel}.
Considérons la relation Voiture définie par Voiture = {(Rouge, Fiat), (Rouge, Renault), (Vert, Opel), (Bleu,
Mercedes)}. Cette relation peut s’écrire, encore sous la forme :
Nom de la
relation
Attributs
Enregistrement
Ou
occurrence
Valeurs
d’attribut
■ L’attribut Couleur_Voiture est un sous - ensemble du domaine Couleur
■ l’attribut Marque est un sous - ensemble du domaine Constructeur
■ Une ligne de la table s’appelle tuple (ou n-uplet) ou encore enregistrement ou occurrence.
■ Formé d’un ensemble de n valeurs prises dans les n domaines considérés. 66
Modèle Relationnel
■ Une relation est représentée par son nom suivi de la liste de ses attributs.
■ Par exemple la relation Voiture s’écrit :
Voiture(Couleur_Voiture, Marque).
■ Clé. On entend par clé un ou plusieurs champs permettant d’identifier un
enregistrement unique de la relation. Deux enregistrements ne peuvent pas
avoir une même valeur pour la clé.
■ Cette relation a comme clé l’attribut N_Immatriculation.
On écrit la relation: Voiture(N_Immatriculation, Couleur_Voiture, Marque).
67
Modèle Relationnel
Exemple 2 :
68
Modèle Relationnel
■ Exemple 3 :
Soit la relation suivante:
Question:
Comment identifier un enregistrement?
■ La clé de cette relation est {CodeEtudiant, CodeCours}
■ Une clé peut être constituée de plusieurs attributs.
■ On écrira la relation : SuivreCours(CodeEtudiant, CodeCours, Date).
■ La clé est soulignée.
69
Contraintes d’intégrité
■ On peut associer à l’ensemble des relations des contraintes d’intégrité
– C’est une expression logique qui doit être vraie à tout moment dans la BD
■ Il en existe plusieurs types
■ Exemple :
– 2 employés ne peuvent pas avoir le même matricule
– Tout employé doit avoir un matricule
– Une commande ne peut être enregistrée que si le client est enregistré
– ….
70
Contraintes d’intégrité
■ Contrainte de domaine:
– La définition d’un domaine est une restriction de l’ensemble des valeurs possibles d’un
attribut
– Ex: Couleur = {Rouge, Vert, Bleu,….}
■ Contrainte de clé:
– Définit un sous ensemble minimal de colonnes tel que la table ne puisse contenir 2 lignes
ayant même valeur pour ces colonnes
■ Contrainte obligatoire (pas de valeur manquante)
– Un attribut doit toujours avoir une valeur
■ Contrainte d’intégrité référentielle:
– Lier 2 colonnes (ou ensemble de colonnes) de 2 tables différentes
(Exemple : le client doit exister pour enregistrer une commande)
71
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 1- Une entité se transforme en une relation (table)
Toute entité du MCD devient une relation du MR, et donc une table de la
Base de Donnée. La relation porte le même nom que l’entité
Chaque propriété de l'entité devient un champ de la relation
L'identifiant de l'entité devient la Clé Primaire de la relation
Clé Primaire
72
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 2- Relation binaire aux cardinalités (X,1) - (X,n), X= {0 ou 1}
La Clé Primaire de la table à la cardinalité (X,n) devient une Clé Etrangère dans
la table à la cardinalité (X,1)
■ Exemple 1:
Clé Primaire
Association hiérarchique
Schémas Relationnels
S’inscrire
Clé Primaire Clé Etrangère
La clé étrangère est précédée d'un #
73
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 2- Relation binaire aux cardinalités (X,1) - (X,n), X= {0 ou 1}
■ Exemple 2:
Schémas Relationnels
74
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 3- Relation binaire aux cardinalités (X,n) - (X,n), X=0 ou X=1
a) Création d’une nouvelle table dont la clé primaire est l'ensemble des identifiants
des entités associées.
b) Toute propriété de l'association devient attribut de la nouvelle table.
■ Exemple 1:
Association non hiérarchique
Schémas Relationnels
75
Clé Etrangère
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 3- Relation binaire aux cardinalités (X,n) - (X,n), X=0 ou X=1
■ Exemple 2: N,N
0,n Enseigner 1,n
NbHeures
Schémas Relationnels
Profs (CodeProf, NomProf, Email)
Cours (N°Cours, intitulé, VolumeHoraire)
Enseigner(#CodeProfs, #N°Cours, NbHeures)
76
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 4- Relation binaire aux cardinalités (0,1) - (1,1)
La Clé Primaire de la table à la cardinalité (0,1) devient une Clé Etrangère dans la table à la
cardinalité (1,1) avec une contrainte d’unicité:
■ Exemple: 1
Schémas Relationnels
Profs (CodeProf, NomProf, Email)
Cours (N°Cours, intitulé, VolumeHoraire,NbHeures, #CodeProf (non vide,unique))
77
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 4- Relation binaire aux cardinalités (1,1) - (0,1)
La Clé Primaire de la table à la cardinalité (0,1) devient une Clé Etrangère dans la table à la
cardinalité (1,1) avec une contrainte d’unicité:
■ Exemple: 2
1,1
1,1 Enseigner 0,1
Schémas Relationnels
Profs (CodeProf, NomProf, Email,# N°Cours (non vide,unique))
Cours (N°Cours, intitulé, VolumeHoraire,NbHeures)
78
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 5- Relation n-aire (quelle que soit les cardinalités)
Création d'une table supplémentaire ayant comme Clé Primaire la concaténation
des identifiants des entités participant à la relation.
Exemple:
1,n Enseigner 1,n
NbHeures
1,n
79
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 5- Relation n-aire (quelle que soit les cardinalités)
Création d'une table supplémentaire ayant comme Clé Primaire la concaténation
des identifiants des entités participant à la relation.
Exemple:
Schémas Relationnels
Profs (CodeProf, NomProf, Email)
Cours (N°Cours, intitulé, VolumeHoraire)
Groupe(IdGroupe, NomGroupe, NbreEtudiant)
Enseigner(#CodeProfs, #N°Cours, #IdGroupe ,NbHeures)
80
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 5- Relation n-aire (quelle que soit les cardinalités)
Création d'une table supplémentaire ayant comme Clé Primaire la concaténation
des identifiants des entités participant à la relation.
■ Exemple:
Schémas Relationnels
ETUDIANT (id_Etudiant, Nom_Etudiant)
NIVEAU (id_Niveau, Nom_Niveau)
LANGUE (id_Langue, Nom_Langue)
PARLER (#id_Etudiant, #id_Niveau, #id_Langue)
81
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 6- Relation Réflexive:
Premier cas : cardinalité (X,1) - (X,n), avec X=0 ou X=1.
La Clé Primaire de l'entité se dédouble et devient une Clé Etrangère dans la
relation ou nouvelle table. Exactement comme si l'entité se dédoublait et était
reliée par une relation binaire (X,1) - (X,n)
■ Exemple:
Prenons l'exemple d'une société organisée de manière pyramidale : chaque employé
a 0 ou 1 supérieur hiérarchique direct. Simultanément, chaque employé est le
supérieur hiérarchique direct de 0 ou plusieurs employés.
Schémas Relationnels
EMPLOYE (id_Employe, Nom_Employe, #id_Sup_Hierarchique)
#id_Sup_Hierarchique est l'identifiant (id_Employe) du supérieur hiérarchique direct de l'employé considéré.
82
Règles de passage du modèle Entité/Association au Modèle Relationnel (MR)
■ 6- Relation Réflexive:
Deuxième cas : cardinalité (X,n) - (X,n), avec X=0 ou X=1.
De même, tout se passe exactement comme si l'entité se dédoublait et était reliée par une relation
binaire (X,n) - (X,n) (règle 3). Il y a donc création d'une nouvelle table.
■ Exemple:
Prenons l'exemple d'une organisation de type familiale : chaque personne a 0 ou n descendants directs
(enfants), et a aussi 0 ou n ascendants directs (parents).
Schémas Relationnels
PERSONNE (id_Personne, Nom_Personne)
PARENTE (#id_Parent, #id_Enfant)
• #id_Parent est l'identifiant (id_Personne) d'un ascendant direct de la personne.
• #id_Enfant est l'identifiant (id_Personne) d'un descendant direct de la personne.
• La table PARENTE sera en fait l'ensemble des couples (parents-enfants) présent dans cette famille.
83
Exercice pratique
Établir le modèle MLR (schémas relationnels) du modèle E/A suivant :
Réponse:
Employe(n°Matricule,nom,prénom,date_embauche,qualification,#code_Service)
Service(code_Service,nom_serv,effectif,Responsable)
84
Exercice pratique (Modèle E/A)
Établir le modèle MLR (schémas relationnels) du modèle E/A suivant :
85
Exercice pratique
Établir le modèle MLR (schémas relationnels) du modèle E/A suivant :
86
Fin
87