Académique Documents
Professionnel Documents
Culture Documents
Traduction
modèle E/A schéma relationnel
L3 Informatique
Antoine Spicher
antoine.spicher@u-pec.fr
Plan
Origine
Edgar Frank “Ted” Codd (1970)
A relational model of data for large shared data banks
Présentation informelle
Relation : table à deux dimension
Ligne : tuple Edgar Frank "Ted" Codd
(source : Wikipédia)
ensemble de lignes : contenu de la relation (occurrences, extension)
Colonne : attribut
en-tête du tableau : schéma de la relation (description du type)
Exemple
VIN N°VIN CRU MILLESIME REGION N°VITICULTEUR
100 Julienas 97 Beaujolais 3
150 Bourgueuil 96 Loire 3
125 Bourgueuil 96 Loire 4
… … … … …
Base de données - L3 Informatique - A. Spicher 3
Modèle relationnel, rappels
Présentation formelle
Domaine de valeurs
Ensemble de valeurs
Les entiers, chaînes de caractère, type énuméré, etc.
Relation
Sous-ensemble du produit cartésien de plusieurs domaines
⊆ × × …×
Attribut
Ne pas considérer l’ordre des colonnes
Définition : « nom donné au rôle joué par un domaine »
∶ ⟶
Contraintes structurelles
Clé
Définition (clé candidate)
« Ensemble non-vide minimum d’attributs dont chaque valeur détermine un
tuple unique dans toute l’extension de la relation »
Exemple
{ N°VIN } ou { CRU, MILLESIME, N°VITICULTEUR } pour la relation VIN
Contrainte d’entité
Toute relation doit posséder au moins une clé
Contrainte référentielle
Traduction du lien sémantique entre deux relations
Clé étrangère (ou référence)
« Ensemble non-vide d’attributs qui référence une clé d’une autre relation »
Lors de l’insertion d’un tuple
La valeur de la clé étrangère doit exister dans la relation référencée
Exemple
VITICULTEUR(N°VITICULTEUR, VNOM, VPRENOM, VVILLE)
Big Picture…
Schéma
Conception relationnel/logique
Client Produit
A B C D A B E
1 A 5 C 1 B 9
1 B 8 D 2 B 7
Base de
données
représentation de
la réalité
EA ≠ SR
Un socle commun : SR ⊆ EA ?
Entité ≡ relation
Associations, entités faibles
EA : données explicitement
SR : données implicitement sous forme de contraintes référentielles
Éléments EA de haut niveau
Attributs multivalués et/ou composites
Généralisation, spécialisation et héritage
Agrégation
EA ⇒ SR
Objectif
Schéma relationnel + définition de vues + contraintes d’intégrité
Traduction par étapes successives
Dénaturer l’EA jusqu’à ne conserver que des entités…
Base de données - L3 Informatique - A. Spicher 9
Traduction EA SR
Étapes de la traduction EA ⇒ SR
Traduction des héritages
Traduction des attributs multivalués et composés
Traduction des associations, des agrégations et des entités faibles
(Normalisation)
Personne
ID Contraintes d’intégrité (type héritage)
nom • type = étu ⇒ salaire = null ∧ crédit ≠ null
adresse • type = emp ⇒ salaire ≠ null ∧ crédit = null
• type = étuemp ⇒ salaire ≠ null ∧ crédit ≠ null
• type = autre ⇒ salaire = null ∧ crédit = null
Etudiant Employé
Vues Etudiant et Employé
crédits salaire • ID,nom,adresse,crédits ( type étudiant (Personne))
• ID,nom,adresse,salaire ( type employé (Personne))
Base de données - L3 Informatique - A. Spicher 12
Traduction EA SR – Héritage
Personne
Trois solutions possibles
ID
Conserver uniquement la super-entité nom
Exemple adresse
{étu, emp, étuemp} ∋ type
crédits
salaire
Personne
ID
nom Contraintes d’intégrité (type héritage)
adresse • type = étu ⇒ salaire = null ∧ crédit ≠ null
• type = emp ⇒ salaire ≠ null ∧ crédit = null
• type = étuemp ⇒ salaire ≠ null ∧ crédit ≠ null
Etudiant Employé
Vues Etudiant et Employé
crédits salaire • ID,nom,adresse,crédits ( type étudiant (Personne))
• ID,nom,adresse,salaire ( type employé (Personne))
Base de données - L3 Informatique - A. Spicher 13
Traduction EA SR – Héritage
Personne
Trois solutions possibles
ID
Conserver uniquement la super-entité nom
Exemple adresse
{étu, emp, autre} ∋ type
crédits
salaire
Personne
ID
Contraintes d’intégrité (type héritage)
nom
adresse • type = étu ⇒ salaire = null ∧ crédit ≠ null
• type = emp ⇒ salaire ≠ null ∧ crédit = null
• type = autre ⇒ salaire = null ∧ crédit = null
Etudiant Employé
Vues Etudiant et Employé
crédits salaire • ID,nom,adresse,crédits ( type étudiant (Personne))
• ID,nom,adresse,salaire ( type employé (Personne))
Base de données - L3 Informatique - A. Spicher 14
Traduction EA SR – Héritage
Personne
Trois solutions possibles
ID
Conserver uniquement la super-entité nom
Exemple adresse
{étu, emp} ∋ type
crédits
salaire
Personne
ID
nom Contraintes d’intégrité (type héritage)
adresse • type = étu ⇒ salaire = null ∧ crédit ≠ null
• type = emp ⇒ salaire ≠ null ∧ crédit = null
Etudiant Employé
Vues Etudiant et Employé
crédits salaire • ID,nom,adresse,crédits ( type étudiant (Personne))
• ID,nom,adresse,salaire ( type employé (Personne))
Base de données - L3 Informatique - A. Spicher 15
Traduction EA SR – Héritage
Contrainte d’intégrité
ID (Etudiant) ∩ ID (Employé) = ∅
Etudiant Employé
crédits salaire Vue Personne
ID,nom,adresse (Etudiant) ∪ ID,nom,adresse (Employé)
Etudiant Employé
crédits salaire
Contraintes d’intégrité
Etudiant Employé • ID,nom,adresse Etudiant ⊆ Personne
• ID,nom,adresse Employé ⊆ Personne
crédits salaire
Contraintes d’intégrité
Etudiant Employé • ID,nom,adresse Etudiant ⊆ Personne
• ID,nom,adresse Employé ⊆ Personne
crédits salaire
• ID Etudiant ∪ ID Employé = ID Personne
Contraintes d’intégrité
Etudiant Employé • ID,nom,adresse Etudiant ⊆ Personne
• ID,nom,adresse Employé ⊆ Personne
crédits salaire
• ID Etudiant ∩ ID Employé = ∅
Contraintes d’intégrité
Etudiant Employé • ID,nom,adresse Etudiant ⊆ Personne
• ID,nom,adresse Employé ⊆ Personne
crédits salaire
• ID Etudiant ∩ ID Employé =∅
• ID Etudiant ∪ ID Employé = ID Personne
Base de données - L3 Informatique - A. Spicher 27
Traduction EA SR – Attributs composites
Personne Personne
NIR NIR
nom prénom
prénom nom_fam
nom_fam num_rue
adresse nom_rue
rue ville
numero code_postal
nom
ville
code_postal
Exemple
Création de l’entité PersTél
Personne PersTél
Personne
NIR NIR
NIR … num_tel
…
{ num_tel }
Contraintes référentielles
PersTél.NIR ⟶ Personne.NIR
Exemple
Création de 3 attributs num_tel
Personne
Personne
NIR
NIR …
… num_tel1
{ num_tel } num_tel2
num_tel3
Technique générale
Transformation de l’association en un entité
Clé primaire : union des clés des entités
Contraintes référentielles entre l’association et les entités
Contraintes d’intégrité pour rendre compte des cardinalités
Définition formelle
Soit # ensembles d’entités $ , … , $
Soit % = { , , … } la clé primaire de l’ensemble d’entités $
Soit l’ensemble d’associations d’entités $ , … , $ et d’attributs ,…, &
est traduit en un ensemble d’entités $
d’attributs ,… & ∪ ⋃ % et de clé primaire ⋃ %
Contraintes référentielles
pour tout , ( ajouter $. ,* ⟶$. ,*
Contrainte d’intégrité : si $ a pour cardinalité [, … -] dans
ajouter ∀/ ∈ $ , ≤ | 23,4 23,4 (5),… ($)| ≤ -
Base de données - L3 Informatique - A. Spicher 31
Traduction EA SR – Associations
Technique générale
$ $ $
… , , … ,
$ & … … …
, $
… Contraintes référentielles
[, … - ] ,
$. , ⟶ $ . , $
[, … - ] …
…
,
$. , ⟶ $ . ,
…
…
,
$. , ⟶ $ . ,
…
$ [, … - ]
…
… ,
…
, Contraintes d’intégrité
… • ∀/ ∈ $ , ≤ | 24,4 24,4 (5),… ($)| ≤- …
• … &
• ∀/ ∈ $ , ≤ | 26,4 26,4 (5),… ($)| ≤ -
Technique générale
Etudiant
Etudiant UE
INE
nom INE UEnom
note nom référant
1..N
suivre
Suivre
Contraintes référentielles
Suivre.UEnom ⟶ UE.UEnom UEnom
0..N INE
Suivre.INE ⟶ Etudiant.INE
note
UE
Contrainte d’intégrité
UEnom
∀/ ∈ Etudiant 1 ≤ | INE INE(5),… (Suivre)|
référant
Tutorat
Stage sujet
date NUMEN
sujet INE
0..1 type date
tutorat
Contraintes référentielles
Tutorat.NUMEN ⟶ Enseignant.NUMEN
Enseignant 0..N 0..1 Tutorat.INE ⟶ Etudiant.INE
Etudiant
Tutorat.sujet ⟶ Stage.sujet
NUMEN INE
nom nom Contraintes d’intégrité
prénom prénom …
Base de données - L3 Informatique - A. Spicher 34
Traduction EA SR – Associations
Tutorat
Stage sujet
date NUMEN
sujet INE
0..1 type date
tutorat
Contraintes référentielles
Tutorat.NUMEN ⟶ Enseignant.NUMEN
Enseignant 0..N 0..1 Tutorat.INE ⟶ Etudiant.INE
Etudiant
Tutorat.sujet ⟶ Stage.sujet
NUMEN INE
nom nom Contraintes d’intégrité
prénom prénom …
Base de données - L3 Informatique - A. Spicher 35
Traduction EA SR – Associations
Stage sujet
date NUMEN
sujet INE
0..1 type date
tutorat
Contraintes référentielles
Tutorat.NUMEN ⟶ Enseignant.NUMEN
Enseignant 0..N 1..1 Tutorat.INE ⟶ Etudiant.INE
Etudiant
Tutorat.sujet ⟶ Stage.sujet
NUMEN INE
nom nom Contraintes d’intégrité
prénom prénom …
Base de données - L3 Informatique - A. Spicher 36
Traduction EA SR – Associations
Etudiant Stage
INE 1..N 0..1 sujet
nom type
prénom Evaluation
tutorat
0..1 0..1
évaltut refApo
0..1 note
Enseignant coefficient
NUMEN date
nom
prénom
Etudiant Stage
INE sujet
nom type
prénom Evaluation
0..1
évaltut refApo
Tutorat note
Enseignant coefficient
sujet 0..1
NUMEN INE
nom NUMEN
prénom date
Tutorat
Enseignant
sujet Evaltut
NUMEN INE
nom NUMEN refApo
prénom date sujet
Enseignant
NUMEN
nom 0..N
Section
prénom
1..1
UESec groupe
semestre
descriptif
UE 1..N
refApo
intitulé
nbECTS
Enseignant
NUMEN
nom Section
prénom
groupe
semestre
refApo
UE
NUMEN
refApo descriptif
intitulé
nbECTS
Etudiant
INE
nom 0..*
Section
prénom
1..1
suivre groupe
semestre
descriptif
UE
1..*
refApo
intitulé
nbECTS