traduction modèle e/a schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (normalisation) base de...

46
Base de données Traduction modèle E/A schéma relationnel L3 Informatique Antoine Spicher [email protected]

Upload: danghuong

Post on 10-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Base de données

Traductionmodèle E/A schéma relationnel

L3 Informatique

Antoine [email protected]

Page 2: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Plan

� Rappels du modèle relationnel

� Entité/Association ⇒ schéma relationnel

Base de données - L3 Informatique - A. Spicher 2

Page 3: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Modèle relationnel, rappels

� 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

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

Base de données - L3 Informatique - A. Spicher 3

Edgar Frank "Ted" Codd(source : Wikipédia)

VIN N°VIN CRU MILLESIME REGION N°VITICULTEUR

100 Julienas 97 Beaujolais 3

150 Bourgueuil 96 Loire 3

125 Bourgueuil 96 Loire 4

… … … … …

Page 4: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

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

� � ⊆ �� × �� × …× �

� Tuple d’une relation

� Élément de la relation

� (��, ��, … , �) avec ∀�, �� ∈ ��

� Attribut

� Ne pas considérer l’ordre des colonnes

� Définition : « nom donné au rôle joué par un domaine »

� �� ∶ � ⟶ ��

Base de données - L3 Informatique - A. Spicher 4

Page 5: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Modèle relationnel, rappels

� 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

Base de données - L3 Informatique - A. Spicher 5

Page 6: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Modèle relationnel, rappels

� Schéma d’une base de données� Ensemble des schémas des différentes relations de la BD

� Les domaines et noms des attributs

� Les clés de chaque relation (soulignées)

� Les contraintes référentielles ( )

� Exemple

Base de données - L3 Informatique - A. Spicher 6

VITICULTEUR(N°VITICULTEUR, VNOM, VPRENOM, VVILLE)

VIN(N°VIN, CRU, MILLESIME, N°VITICULTEUR, REGION)

COMMANDE(N°COMMANDE, N°CLIENT, N°VIN, CDATE, CQUANTITE)

CLIENT(N°CLIENT, CLNOM, CLPRENOM, CLVILLE)

LIVRAISON(N°COMMANDE, LDATE, LQUANTITE)

Page 7: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Plan

� Rappels du modèle relationnel

� Traduction modèle EA ⇒ modèle relationnel

Base de données - L3 Informatique - A. Spicher 7

Page 8: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR

� Big Picture…

Base de données - L3 Informatique - A. Spicher 8

« Réalité »(Stock, salle /

enseignement, compte, …)

Base de données

représentation de la réalité

Schéma conceptuel

Entités/Associations

Schéma

relationnel/logique

Produit

A B E

1 B 9

2 B 7

Client

A B C D

1 A 5 C

1 B 8 D

Conception

Page 9: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR

� 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

Page 10: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

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)

Base de données - L3 Informatique - A. Spicher 10

Page 11: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Utilisable lorsque les spécialisations ne sont pas réellement utilisées

Pas d’attribut ou peu (utilisation de la valeur null), pas d’association

� Utilisation de vues pour les spécialisations

La spécialisation doit être dépendante des attributs de la super-entité

Base de données - L3 Informatique - A. Spicher 11

Page 12: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Exemple

Base de données - L3 Informatique - A. Spicher 12

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Personne

IDnomadressetypecréditssalaire

Vues Etudiant et Employé

• �ID,nom,adresse,crédits(�type�étudiant(Personne))

• �ID,nom,adresse,salaire(�type�employé(Personne))

Contraintes d’intégrité (type héritage)

• type = étu ⇒ salaire = null ∧ crédit ≠ null• type = emp ⇒ salaire ≠ null ∧ crédit = null• type = étuemp ⇒ salaire ≠ null ∧ crédit ≠ null• type = autre ⇒ salaire = null ∧ crédit = null

{étu, emp, étuemp, autre} ∋

Page 13: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Exemple

Base de données - L3 Informatique - A. Spicher 13

Personne

IDnomadressetypecréditssalaire

Personne

IDnomadresse

EmployéEtudiant

crédits salaireVues Etudiant et Employé

• �ID,nom,adresse,crédits(�type�étudiant(Personne))

• �ID,nom,adresse,salaire(�type�employé(Personne))

{étu, emp, étuemp} ∋

Contraintes d’intégrité (type héritage)

• type = étu ⇒ salaire = null ∧ crédit ≠ null• type = emp ⇒ salaire ≠ null ∧ crédit = null• type = étuemp ⇒ salaire ≠ null ∧ crédit ≠ null

Page 14: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Exemple

Base de données - L3 Informatique - A. Spicher 14

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Personne

IDnomadressetypecréditssalaire

Vues Etudiant et Employé

• �ID,nom,adresse,crédits(�type�étudiant(Personne))

• �ID,nom,adresse,salaire(�type�employé(Personne))

{étu, emp, autre} ∋

Contraintes d’intégrité (type héritage)

• type = étu ⇒ salaire = null ∧ crédit ≠ null• type = emp ⇒ salaire ≠ null ∧ crédit = null• type = autre ⇒ salaire = null ∧ crédit = null

Page 15: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Exemple

Base de données - L3 Informatique - A. Spicher 15

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Personne

IDnomadressetypecréditssalaire

Vues Etudiant et Employé

• �ID,nom,adresse,crédits(�type�étudiant(Personne))

• �ID,nom,adresse,salaire(�type�employé(Personne))

{étu, emp} ∋

Contraintes d’intégrité (type héritage)

• type = étu ⇒ salaire = null ∧ crédit ≠ null• type = emp ⇒ salaire ≠ null ∧ crédit = null

Page 16: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Utilisable lorsque la super-entité n’est pas utilisée

� Généralisation/spécialisation totale et disjointe

� Pas d’association propre

� Utilisation d’une vue pour la super-entité

� Chaque spécialisation implante le schéma

Base de données - L3 Informatique - A. Spicher 16

Page 17: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Exemple

Base de données - L3 Informatique - A. Spicher 17

Etudiant

IDnomadressecrédits

Employé

IDnomadressesalaire

Vue Personne

�ID,nom,adresse(Etudiant) ∪ �ID,nom,adresse(Employé)

Contrainte d’intégrité

�ID(Etudiant) ∩ �ID(Employé) = ∅

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Page 18: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Conserver toutes les entités

� Choix 1 : le schéma est factorisé (seule la clé est partagée)

� Clés étrangères pour les spécialisations

� Inconvénient

Information sur une spécialisation = jointure

Base de données - L3 Informatique - A. Spicher 18

Page 19: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Conserver toutes les entités

� Choix 1 : factorisation

Base de données - L3 Informatique - A. Spicher 19

Personne

IDnomadresse

Etudiant

IDcrédits

Employé

IDsalaire

Contraintes référentielles

• Etudiant.ID ⟶ Personne.ID• Employé.ID ⟶ Personne.ID

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Page 20: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Conserver toutes les entités

� Choix 1 : factorisation

Base de données - L3 Informatique - A. Spicher 20

Personne

IDnomadresse

Etudiant

IDcrédits

Employé

IDsalaire

Contraintes référentielles

• Etudiant.ID ⟶ Personne.ID• Employé.ID ⟶ Personne.ID

Contrainte d’intégrité (suivant le type d’héritage)

�ID Etudiant ∪ �ID Employé = �ID Personne

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Page 21: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Conserver toutes les entités

� Choix 1 : factorisation

Base de données - L3 Informatique - A. Spicher 21

Personne

IDnomadresse

Etudiant

IDcrédits

Employé

IDsalaire

Contraintes référentielles

• Etudiant.ID ⟶ Personne.ID• Employé.ID ⟶ Personne.ID

Contrainte d’intégrité (suivant le type d’héritage)

�ID Etudiant ∩ �ID Employé = ∅

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Page 22: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Conserver toutes les entités

� Choix 1 : factorisation

Base de données - L3 Informatique - A. Spicher 22

Personne

IDnomadresse

Etudiant

IDcrédits

Employé

IDsalaire

Contraintes référentielles

• Etudiant.ID ⟶ Personne.ID• Employé.ID ⟶ Personne.ID

Contraintes d’intégrité (suivant le type d’héritage)

• �ID Etudiant ∩ �ID Employé = ∅

• �ID Etudiant ∪ �ID Employé = �ID Personne

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Page 23: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Conserver toutes les entités

� Choix 2 : le schéma est dupliqué

� Ajout de contraintes d’intégrité sur les clés

� Inconvénient

Information redondante, cohérence plus difficile à maintenir

Base de données - L3 Informatique - A. Spicher 23

Page 24: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Conserver toutes les entités

� Choix 2 : duplication

Base de données - L3 Informatique - A. Spicher 24

Contraintes référentielles

• Etudiant.ID ⟶ Personne.ID• Employé.ID ⟶ Personne.ID

Contraintes d’intégrité

• �ID,nom,adresse Etudiant ⊆ Personne

• �ID,nom,adresse Employé ⊆ Personne

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Personne

IDnomadresse

Etudiant

IDnomadressecrédits

Employé

IDnomadressesalaire

Page 25: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Conserver toutes les entités

� Choix 2 : duplication

Base de données - L3 Informatique - A. Spicher 25

Contraintes référentielles

• Etudiant.ID ⟶ Personne.ID• Employé.ID ⟶ Personne.ID

Contraintes d’intégrité

• �ID,nom,adresse Etudiant ⊆ Personne

• �ID,nom,adresse Employé ⊆ Personne

• �ID Etudiant ∪ �ID Employé = �ID Personne

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Personne

IDnomadresse

Etudiant

IDnomadressecrédits

Employé

IDnomadressesalaire

Page 26: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Conserver toutes les entités

� Choix 2 : duplication

Base de données - L3 Informatique - A. Spicher 26

Contraintes référentielles

• Etudiant.ID ⟶ Personne.ID• Employé.ID ⟶ Personne.ID

Contraintes d’intégrité

• �ID,nom,adresse Etudiant ⊆ Personne

• �ID,nom,adresse Employé ⊆ Personne

• �ID Etudiant ∩ �ID Employé = ∅

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Personne

IDnomadresse

Etudiant

IDnomadressecrédits

Employé

IDnomadressesalaire

Page 27: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Héritage

� Trois solutions possibles� Conserver uniquement la super-entité

� Conserver uniquement les spécialisations

� Conserver toutes les entités

� Choix 2 : duplication

Base de données - L3 Informatique - A. Spicher 27

Contraintes référentielles

• Etudiant.ID ⟶ Personne.ID• Employé.ID ⟶ Personne.ID

Contraintes d’intégrité

• �ID,nom,adresse Etudiant ⊆ Personne

• �ID,nom,adresse Employé ⊆ Personne

• �ID Etudiant ∩ �ID Employé = ∅

• �ID Etudiant ∪ �ID Employé = �ID Personne

Personne

IDnomadresse

EmployéEtudiant

crédits salaire

Personne

IDnomadresse

Etudiant

IDnomadressecrédits

Employé

IDnomadressesalaire

Page 28: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Attributs composites

� Mise à plat des attributs composites

� ExempleMise à plat des attributs nom et adresse d’une Personne

Base de données - L3 Informatique - A. Spicher 28

Personne

NIRnom

prénomnom_fam

adresserue

numeronom

villecode_postal

Personne

NIRprénomnom_famnum_ruenom_ruevillecode_postal

Page 29: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Attributs multivalués

� Deux traductions possibles� Cas général : création d’une nouvelle entité

� Regroupant les différentes valeurs de l’attribut

� Utilisation de la clé de l’entité d’origine

� Clé étrangère faisant la référence entre les entités

� ExempleCréation de l’entité PersTél

Base de données - L3 Informatique - A. Spicher 29

Personne

NIR…{ num_tel }

Personne

NIR…

PersTél

NIRnum_tel

Contraintes référentielles

PersTél.NIR⟶ Personne.NIR

Page 30: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Attributs multivalués

� Deux traductions possibles� Cas général : création d’une nouvelle entité

� Cas particulier : multiplication de l’attribut

� Le nombre maximal de valeur est borné et assez petit

� Difficultés à maintenir (utilisation de la valeur spéciale null)

� ExempleCréation de 3 attributs num_tel

Base de données - L3 Informatique - A. Spicher 30

Personne

NIR…{ num_tel }

Personne

NIR…num_tel1num_tel2num_tel3

Page 31: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Associations

� 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

Page 32: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

� Technique générale

Traduction EA SR – Associations

Base de données - L3 Informatique - A. Spicher 32

$�

��,�…

$�

��,�…

$

�,�…

$

�,�…

$�

��,�…

$�

��,�…

$

��,�…��,�…�,�…��…�&

��…�&

Contraintes référentielles

$.��,�⟶$�.��,�…$.��,�⟶$�.��,�…$.�,�⟶$.�,�…

Contraintes d’intégrité

• ∀/ ∈ $�,� ≤ |�24,4�24,4(5),…($)| ≤ -�

• …• ∀/ ∈ $, ≤ |�26,4�26,4(5),…($)| ≤ -

[,�…-�]

[,�…-�]

[, …-]

Page 33: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Associations

� Technique générale

Base de données - L3 Informatique - A. Spicher 33

1..N

0..N

Etudiant

INEnom

UE

UEnomréférant

Suivre

UEnomINEnote

Contraintes référentielles

Suivre.UEnom ⟶ UE.UEnomSuivre.INE ⟶ Etudiant.INE

Contrainte d’intégrité

∀/ ∈ Etudiant1 ≤ |�INE�INE(5),…(Suivre)|

UE

UEnomréférant

Etudiant

INEnom

suivre

note

Page 34: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Associations

� Inconvénients de la technique générale� Génération de clés primaires non-minimales

� Cardinalité maximale égale à 1

� Choisir la clé de l’une des entités de card. max. à 1 comme clé primaire

� Exemple

Base de données - L3 Informatique - A. Spicher 34

Enseignant

NUMENnomprénom

Stage

sujettype

Etudiant

INEnomprénom

0..N 0..1

0..1

Tutorat

sujetNUMENINEdate

tutorat

date

Contraintes référentielles

Tutorat.NUMEN⟶ Enseignant.NUMENTutorat.INE⟶ Etudiant.INE Tutorat.sujet⟶ Stage.sujet

Contraintes d’intégrité

Page 35: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Associations

� Inconvénients de la technique générale� Génération de clés primaires non-minimales

� Cardinalité maximale égale à 1

� Choisir la clé de l’une des entités de card. max. à 1 comme clé primaire

� Exemple

Base de données - L3 Informatique - A. Spicher 35

Enseignant

NUMENnomprénom

Etudiant

INEnomprénom

Tutorat

sujetNUMENINEdate

date

Contraintes référentielles

Tutorat.NUMEN⟶ Enseignant.NUMENTutorat.INE⟶ Etudiant.INE Tutorat.sujet⟶ Stage.sujet

Contraintes d’intégrité

tutorat

Stage

sujettype

0..N 0..1

0..1

Page 36: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Associations

� Inconvénients de la technique générale� Génération de clés primaires non-minimales

� Création de redondances

� Cas particulier des cardinalités [1..1]

� Fusionner l’association avec l’entité de cardinalité [1..1]

� Exemple : une seule entité

Base de données - L3 Informatique - A. Spicher 36

Enseignant

NUMENnomprénom

Etudiant

INEnomprénom

Tutorat

sujetNUMENINEdate

date

Contraintes référentielles

Tutorat.NUMEN⟶ Enseignant.NUMENTutorat.INE⟶ Etudiant.INE Tutorat.sujet⟶ Stage.sujet

Contraintes d’intégrité

tutorat

Stage

sujettype

0..N 1..1

0..1

Page 37: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Associations

� Inconvénients de la technique générale� Génération de clés primaires non-minimales

� Création de redondances

� Cas particulier des cardinalités [1..1]

� Fusionner l’association avec l’entité de cardinalité [1..1]

� Exemple : une seule entité

Base de données - L3 Informatique - A. Spicher 37

Enseignant

NUMENnomprénom

Etudiant

INEnomprénom

Etudiant

INEnomprénomNUMENsujetdatedate

Vue Tutorat

�INE,NUMEN,sujet,date(Etudiant)

Contraintes référentielles

Etudiant.NUMEN⟶ Enseignant.NUMENEtudiant.sujet ⟶ Stage.sujet

Contraintes d’intégrité

tutorat

Stage

sujettype

0..N 1..1

0..1

Page 38: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Associations

� Inconvénients de la technique générale� Génération de clés primaires non-minimales

� Création de redondances

� Cas particulier des cardinalités [1..1]

� Fusionner l’association avec l’entité de cardinalité [1..1]

� Exemple : une seule entité

Base de données - L3 Informatique - A. Spicher 38

Enseignant

NUMENnomprénom

Etudiant

INEnomprénom

Etudiant

INEnomprénomNUMENsujetdatedate

Vue Tutorat

�INE,NUMEN,sujet,date(Etudiant)

Contraintes référentielles

Etudiant.NUMEN⟶ Enseignant.NUMENEtudiant.sujet ⟶ Stage.sujet

Contraintes d’intégrité

tutorat

Stage

sujettype

0..N 1..1

1..1

Page 39: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Associations

� Inconvénients de la technique générale� Génération de clés primaires non-minimales

� Création de redondances

� Cas particulier des cardinalités [1..1]

� Fusionner l’association avec l’entité de cardinalité [1..1]

� Exemple : plusieurs entités

Base de données - L3 Informatique - A. Spicher 39

Enseignant

NUMENnomprénom

Etudiant

INEnomprénom

date

Vues Tutorat et Stage

�INE,NUMEN,sujet,date(Etudiant)

�sujet,type(Etudiant)

Contraintes référentielles

Etudiant.NUMEN⟶ Enseignant.NUMEN

Contraintes d’intégrité

tutorat

Stage

sujettype

0..N 1..1

1..1

Stage

sujettype

Etudiant

INEnomprénomNUMENsujettypedate

Page 40: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Agrégations

� Traduction des agrégations� Ordre supérieur des associations

Associations entre associations

� Transformation trivial

� Association agrégée traduite en entité (cf. slides précédents)

� Association d’ordre supérieur ramenée à une association de première ordre

Base de données - L3 Informatique - A. Spicher 40

Enseignant

NUMENnomprénom

date

tutorat

Stage

sujettype

0..1

1..N 0..1

évaltut

Evaluation

refAponotecoefficient

0..1 0..1

Etudiant

INEnomprénom

Page 41: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Agrégations

� Traduction des agrégations� Ordre supérieur des associations

Associations entre associations

� Transformation trivial

� Association agrégée traduite en entité (cf. slides précédents)

� Association d’ordre supérieur ramenée à une association de première ordre

Base de données - L3 Informatique - A. Spicher 41

Enseignant

NUMENnomprénom

Stage

sujettype

Evaluation

refAponotecoefficient0..1

0..1

Etudiant

INEnomprénom

Tutorat

sujetINENUMENdate

évaltut

Page 42: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Agrégations

� Traduction des agrégations� Ordre supérieur des associations

Associations entre associations

� Transformation triviale

� Association agrégée traduite en entité (cf. slides précédents)

� Association d’ordre supérieur ramenée à une association de première ordre

Base de données - L3 Informatique - A. Spicher 42

Enseignant

NUMENnomprénom

Stage

sujettype

Evaluation

refAponotecoefficient

Etudiant

INEnomprénom

Tutorat

sujetINENUMENdate

Evaltut

refAposujet

Page 43: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Entités faibles

� Traduction des ensembles d’entités faibles� Ensemble d’entités sans clé primaire

Le discriminant définit une sous-partie de la clé primaire

� Transformation en ensemble d’entités fort

� Fusion avec l’association identifiante

� Utilisation des clés primaires des entités identifiantes

Base de données - L3 Informatique - A. Spicher 43

Section

groupesemestredescriptif

1..1

UE

refApointitulénbECTS

1..N

UESec

Enseignant

NUMENnomprénom

0..N

Page 44: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Entités faibles

� Traduction des ensembles d’entités faibles� Ensemble d’entités sans clé primaire

Le discriminant définit une sous-partie de la clé primaire

� Transformation en ensemble d’entités fort

� Fusion avec l’association identifiante

� Utilisation des clés primaires des entités identifiantes

Base de données - L3 Informatique - A. Spicher 44

Section

groupesemestrerefApoNUMENdescriptif

UE

refApointitulénbECTS

Enseignant

NUMENnomprénom

Page 45: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

Traduction EA SR – Entités faibles

� Traduction des ensembles d’entités faibles� Ensemble d’entités sans clé primaire

Le discriminant définit une sous-partie d’une clé primaire

� Transformation en ensemble d’entités fort

� Fusion avec l’association identifiante

� Utilisation des clés primaires des entités identifiantes

Base de données - L3 Informatique - A. Spicher 45

Section

groupesemestredescriptif

1..1

UE

refApointitulénbECTS

1..*

suivre

Etudiant

INEnomprénom

0..*

Page 46: Traduction modèle E/A schéma relationnellacl.u-pec.fr/dima/bd/bd7.pdf · (Normalisation) Base de données -L3 Informatique -A. Spicher 10. Traduction EA SR –Héritage Trois solutions

-- FIN --

Base de données - L3 Informatique - A. Spicher 46