![Page 1: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/1.jpg)
1
Conception d’une BD
INT Management
![Page 2: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/2.jpg)
2
Plan du document
Introduction slide 182 Modèle Entité/Association slide 187
Traduction E/A relationnel slide 194 Rétro-conception slide 206 Généralisation/Spécialisation slide 211
Théorie des dépendances slide 221 Dépendances fonctionnelles slide 227 Décomposition des relations slide 239 Formes normales slide 248
![Page 3: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/3.jpg)
3
Conception indépendante d’un modèle de données
Réalité
Schéma conceptuel
Schémarelationnel
Schémaréseau
Fichiers….
transformation
Introduction
![Page 4: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/4.jpg)
4
Conception relationnelle
Relation universelle
Dépendances fonctionnelles
décomposition
SchémaRelationnelnormalisé
Introduction
![Page 5: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/5.jpg)
5
Conception centraliséeSchéma
conceptuel global
Schémalocal
Schémalocal
….Schéma
local
ProgrammeUtilisateur …
Introduction
![Page 6: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/6.jpg)
6
Conception décentralisée (à partir d’un existant)
intégration
Schémaglobal
Schéma local Schéma local Schéma local
Hétérogène/homogène
Introduction
![Page 7: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/7.jpg)
7
Conception d’une BD Introduction
Réalité
Recueil des besoins et analyse
Besoin de la BD
Conception logique
Schéma conceptuel (haut niveau)
Transformation du modèle
Schéma conceptuel (spécifique SGBD)
Conception physique
Schéma physique (spécifique SGBD)
Indépendant du SGB
DSpécifique à un SG
BD
![Page 8: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/8.jpg)
8
Modèle Entité/Association
Proposé en 1976 (Chen) Nombreuses extensions depuis Avantages :
Utilisé dans la plupart des méthodes de conception (MCD Merise, …)
Simple Graphique Facilite le dialogue avec les utilisateurs
Modèle E/A
![Page 9: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/9.jpg)
9
Concepts Modèle E/A
Graphisme 1 Graphisme 2
Ens. entité
Attribut
Attribut composite
Attribut multivalué
Clé d’un type d’entité
Type d’association
Rôle
Contraintes de cardinalité
Nom Type Entité T
A
A
AssAss
RôleRôle
0,n1,n
![Page 10: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/10.jpg)
10
Concepts (2) Modèle E/A
Graphisme 1 Graphisme 2
Type d’entité faible
Type d’association identifiante
Attribut calculé
Ass (1,1)
![Page 11: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/11.jpg)
11
Modèle E/A Entreprise Modèle E/A
Employé
nomadresseNoSS
nomf prenom
Personne-à-charge Projet
Département
Nb_heures
No_dept libelle
Numéro Descriptionprénom
localisations
Avoir à charge
diriger
Travailler pour
Travailler surgérer
date
0,n 1,n
0,10,n
1,1
1,1
1,11,n
1,1
0,n
Nb_emp
superviser
Supervise0,n
Est supervisé1,1
DateNaissanceParente
![Page 12: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/12.jpg)
12
Modèle E/A EntrepriseGraphisme 2
Modèle E/A
1,n
1,n
1,1
Est supervisé
0,nsupervise
(1,1)
0,n
1,1
1,n
1,10,1
1,n1,1Employe
NoSSAdresseNomfPrenom
Département
No_deptlibelleNb_Emp
Projet
NuméroDescription
PersonneACharge
prénomDateNaissanceParenté
TravaillerPour
Diriger
Date
GérerAvoir a charge
Superviser
TravaillerSur
Nb_heures
localisations
![Page 13: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/13.jpg)
13
UML Entreprise UML
![Page 14: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/14.jpg)
14
Entité-Association / Diagramme de classe UML
Entité-Association Diagramme de Classe
SI – BD Génie logiciel – langages
Entité Classe
Entité faible Composition ? Clé ?
Association sans attribut Association / Composition
Association avec attribut Association + Classe d’association
(Héritage) - Association Héritage
Attribut / Propriété Attribut
Clé
Attribut calculé Méthode
(Attributs multivalués) – Entité + Association Attributs multivalués
Méthode
Cardinalité Multiplicité
UML
![Page 15: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/15.jpg)
15
Traduction EA relationnel La sémantique n’est pas complètement
préservée (il faut ajouter des contraintes d’intégrité)
Règles sont automatisables (de nombreux outils existent sur le marché, AMCDesignor par exemple)
Transformation se fait en 7 étapes Comparaison des concepts des deux modèles :
à faire par l’étudiant
Traduction
![Page 16: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/16.jpg)
16
Étape 1 : transformation des entités non faibles
Type d'entité relation Attribut atomique constituant (attribut) Attributs composites n constituants Attribut(s) clé(s) clé candidate
Traduction
ECA
E(C, A)
![Page 17: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/17.jpg)
17
Exemples d’étape 1 Traduction
Employé Attributs atomiques Employe(noss, adresse)
Attributs composites Employe(noss, adresse, nomf, prenom)
Aplatissement de la structure (suite d’attributs atomiques) perte de la sémantique
Département Attributs atomiques Département(no_dept, libelle)
Attributs multivalués Etape 6 : local
Attributs calculés Etape 7 : nb_emp
Projet Attributs atomiques Projet(numero, description)
![Page 18: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/18.jpg)
18
Étape 2 : transformation des entités faibles Type d'entité faible relation Attribut atomique constituant (attribut) Attributs composites n constituants Attribut(s) clé(s) partie de clé candidate Attributs clés de l’entité identifiante partie
de clé
Traduction
ECA
E2C2A2
(1,1)E2(C, C2, A2)
![Page 19: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/19.jpg)
19
Exemple d’étape 2 Traduction
Entité PersonneACharge
Attributs atomiques PersonneACharge(nom, DateNaissance, parenté)
+
Clé de l’entité identifiante
PersonneACharge(nom, DateNaissance, parenté, noss)
Noss :
clé étrangère sur Employé
+
Partie de la clé de PersonneACharge
![Page 20: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/20.jpg)
20
Étape 3 : transformation des associations binaires monovaluées Clé associée à E1 attribut de E2 Attributs de Ass attributs de E2
Traduction
E1C1A1
E2C2A2
?,1E2(C2, A2, C1, A3)
?,? AssA3
Clé étrangère, pas clé dans E2
![Page 21: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/21.jpg)
21
Exemples d’étape 3 Traduction
TravaillePour Employe(noss, adresse, nomf, prenom, no_dept)
Dirige Département(no_dept, libelle, nosschef, dateDebut)
Dirige monovaluée dans les 2 sens on aurait pu créer
Employe(noss, adresse, nomf, prenom, nodept, nodeptDirigé, dateDebut)
Cardinalités (0,1), association partielle valeurs nulles
Controle Projet(numero, description, numdept)
Supervision Employe(noss, adresse, nomf, prenom, nodept, noSSSuperviseur)
noSSSuperrviseur clé étrangère de Employé sur elle-même
PersonneACharge Cf. étape 2
![Page 22: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/22.jpg)
22
Étape 4 : transformation des associations binaires multivaluées dans les 2 sens Création d'une nouvelle relation Ass Clé de E1 + Clé de E2 clé de Ass Attributs de Ass Attributs de Ass
Traduction
E1C1A1
E2C2A2
?,nAss(C1, C2, A3)
?,n AssA3
TravailleDans TravailleDans(noss, numeroProjet, nb_heures)
![Page 23: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/23.jpg)
23
Étape 5 : Transformation des associations n-aires (n > 2) Idem étape 4 :
Création d'une nouvelle relation Ass Clé de E1 + Clé de E2 + … clé de En clé de
Ass Attributs de Ass Attributs de Ass
Traduction
E1C1A1
E2C2A2
Ass(C1, C2, C3, A4)AssA4
E3C3A3
![Page 24: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/24.jpg)
24
Étape 6 : transformation des attributs multivalués Création d'une nouvelle relation R Attribut multivalué -> constituant Clé du type d'entité associé -> constituant Clé de la relation : tout le schéma
Traduction
DépartementA C R(A, C)
Localisations dans Département LocalisationDept(localisation, num_dept)
![Page 25: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/25.jpg)
25
Étape 7 : transformation des attributs calculés Attribut calculé Requête associée
Traduction
Nb_emp dans Département
Département(no_dept, libelle, nosschef, dateDebut)
SELECT no_dept, COUNT(*)
FROM Employe
GROUP BY no_dept
Couples no département – effectif du département
Associée à une vue relationnelle
![Page 26: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/26.jpg)
26
Récapitulatif de l’exemple
Employe(noss, adresse, nomf, prenom, nodept, noSSSuperviseur)Département(no_dept, libelle, nosschef, dateDebut)Projet(numero, description, numdept)PersonneACharge(nom, noss, DateNaissance, parenté)TravailleDans(noss, numeroProjet, nb_heures)LocalisationDept(localisation, num_dept)
CREATE VIEW Effectifs(no_dept, nb_emp) ASSELECT nodept, COUNT(*)FROM EmployeGROUP BY nodept
CREATE VIEW DepartementComplet ASSELECT D.*, EF.nb_empFROM Département D, Effectifs EFWHERE D.no_dept=EF.no_dept
Traduction
![Page 27: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/27.jpg)
27
Rétro-conception
But : Passer d’un schéma relationnel à un schéma Entité-
Association équivalent Pourquoi ?
Analyse n’a pas été faite ou a été perdue Comment ?
Appliquer les étapes de transformation « à l’envers » Remarque
Ne fournit pas une solution unique (perte d’information sur le schéma relationnel par rapport au schéma E/A)
Rétro-conception
![Page 28: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/28.jpg)
28
Principes de rétro-conception
Relation ne possédant pas de clé étrangère : ensemble d'entité
Relation possédant une clé étrangère à l'extérieur de sa clé : ensemble d'entité plus association monovaluée vers l'ensemble d'entité correspondant à la clé étrangère
![Page 29: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/29.jpg)
29
Principes de rétroconception (2) Relation dont la clé est intégralement
composée de clés étrangères : association multivaluée entre les ensembles d'entités correspondant aux clés étrangères
Relation dont la clé comprend une clé étrangère et une clé "locale" : ensemble d'entité faible par rapport à l'ensemble d'entité correspondant à la clé étrangère
![Page 30: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/30.jpg)
30
Schéma relationnel BD vins
Vins(num, cru, annee, degre)Recoltes(nvin, nprod, quantite)
Producteurs(num, nom, prenom, region)
Buveurs(num, nom, prenom, ville)
Commandes(ncde, date, nb, nvin, qte)
Livraisons(ncde, no_ordre, qteLivree)
Exemples
![Page 31: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/31.jpg)
31
Rétro-conception de la BD des vins
Rétro-conception
0,n
1,1
(1,1)0,n
1,1
0,n
0,n
0,n
Vins
numcrudegréannee
Producteurs
numnomprenomregion
recoltes
Livraisons
No_ordreqteLivréedate
concerne
Buveurs
numnomprenomville
Commandes
ncdeqtédate
Passer
Donner_lieu
quantite
?
?
1 ?
1 ?
1 ?
1 ?
![Page 32: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/32.jpg)
32
Généralisation / spécialisation Introduire dans le modèle E/A un concept
objet "classique" Permet de définir un ensemble d'entité
relativement à un autre (attention ressemble à entité faible mais est très différent)
![Page 33: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/33.jpg)
33
Sémantique de la généralisation / spécialisation Sous ensemble d'entité hérite des attributs
de son super ensemble d'entité A priori pas d'héritage multiple Spécialisation peut être :
totale (toute instance est spécialisée dans au moins un sous-ensemble) ou partielle
une partition (une instance ne peut être spécialisée dans plusieurs sous-ensembles) ou un recouvrement
![Page 34: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/34.jpg)
34
Exemple de généralisation / spécialisationEnsemble
d'entité AA1A2
Ensembled'entité BB1
Ensembled'entité CC1
Ensembled'entité DD1D2
Super ensemble d'entité
A1A2B1
A1A2C1
A1A2D1D2
T/PA = B C D
B C = C D =
![Page 35: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/35.jpg)
35
Exemple de généralisation / spécialisation
PERSONNEnomprénomadresse
ETUDIANTnoétudcycle
SALARIEsalaire
T/RP = E S
E S
PRIVEprime
PUBLICindice
T/PS = PR PU PR PU =
![Page 36: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/36.jpg)
36
Transformation G / S vers modèle relationnel (1) Approche par généralisation
feuille : relation de base dont le schéma est l'union des attributs de la feuille jusqu'à la racine
non feuille : vue définie comme union des fils (avec projection sur les attributs communs)
![Page 37: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/37.jpg)
37
Conséquences
Pas de création d'instances sur les non feuilles Accès aux feuilles peu coûteux Accès aux non feuilles par union-projection Une même instance peut être spécialisée dans
plusieurs entités Pas vraiment de notion "d'identité d'objet" (donc pas
de partage de structure) Evolution de schéma difficile
![Page 38: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/38.jpg)
38
Exemple de transformationCREATE TABLE ETUDIANT(nom, prénom, adresse, noétud, cycle)CREATE TABLE PRIVE(nom, prénom, adresse, salaire, prime)CREATE TABLE PUBLIC(nom, prénom, adresse, salaire, indice)CREATE VIEW SALARIE AS
SELECT nom, prénom, adresse, salaire FROM PRIVE UNIONSELECT nom, prénom, adresse, salaire FROM PUBLIC
CREATE VIEW PERSONNE ASSELECT nom, prénom, adresseFROM ETUDIANT UNIONSELECT nom, prénom, adresseFROM SALARIE
![Page 39: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/39.jpg)
39
Transformation G / S vers modèle relationnel (2) Approche par spécialisation
chaque noeud : relation dont le schéma est constitué des attributs "locaux"
chaque instance : on rajoute un oid (ou surrogate) héritage : on ajoute l'oid de l'instance mère
comme clé étrangère dans l'instance fille
![Page 40: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/40.jpg)
40
Conséquences Création d'instance à n'importe quel niveau
dans l'arbre d'héritage Accès coûteux aux instances "loin" de la racine
(reconstruction par jointures) Héritage multiple difficile Notion d'oid est offerte (partage de structure
possible) Multi-instanciation possible Evolution de schéma plus facile
![Page 41: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/41.jpg)
41
Exemple de transformationCREATE TABLE PERSONNE(idfP, nom, prénom, adresse)
CREATE TABLE ETUDIANT(idfE, noétud, cycle, idfP)
CREATE TABLE SALARIE(idfS, salaire, idfP)
CREATE TABLE PUBLIC(idfPU, indice, idfS)
CREATE TABLE PRIVE(idfPR, prime, idfS)
CREATE VIEW PERSONNE ASSELECT nom, prénom, adresse FROM PERSONNE
CREATE VIEW ETUDIANT AS
SELECT P.nom, P.prénom, P.adresse, E.noétud, E.cycle
FROM PERSONNE P, ETUDIANT E
WHERE P.idfP = E.idfP
...
![Page 42: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/42.jpg)
42
Théorie des dépendances
Normalisation des schémas relationnels
![Page 43: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/43.jpg)
43
Objectifs Mauvaise conception => Redondance des
données anomalies de maj (valeurs dupliquées) anomalies d’insertion (valeurs nulles, incohérences) anomalies de suppression (pertes d'information non
désirées) Introduire une notion de "bon" schéma (sans
redondance d'informations) permet de comparer deux schémas
![Page 44: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/44.jpg)
44
Exemple de mauvaise conceptionRelation APPROVISIONNEMENTPRODUIT QUANTITE COULEUR FOURNISSEUR ADRESSE
parapluie 110 rouge Labaleine Paris
Chapeau 50 vert Lemelon Lyon
sac à main 65 noir Toutcuir Lyon
parasol 15 jaune Labaleine Paris
ombrelle 5 rouge Labaleine Paris
ceinture 25 vert Letour Nantes
sac à main 65 noir Legrand Paris
![Page 45: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/45.jpg)
45
Outils proposés
Étudier les propriétés des données dépendances fonctionnelles dépendances multi-valuées dépendances produits, ...
Formes normales ordre partiel sur les schémas
Algorithmes de décomposition / synthèse pour obtenir des schémas en 3ème forme normale
![Page 46: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/46.jpg)
46
Décomposition d’une relation
Relation universelle DF
nom nc nb
ville nv
dateexp datec Normalisation
prénom qtéexp qtéc R1(.....)
R2(....)
......
![Page 47: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/47.jpg)
47
Les dépendances fonctionnelles
![Page 48: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/48.jpg)
48
Dépendance fonctionnelle (DF) Propriété définie sur le schéma
cas particulier de contrainte d'intégrité définie sur l'intension (donc valide qq soit
l'extension) Définition
B dépend fonctionnellement de A si, étant donné une valeur de A, il lui correspond une unique valeur de B (quel que soit l'extension)
A et B sont des ensembles d'attributs Notation A B
![Page 49: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/49.jpg)
49
Exemple
BUVEURS(nb, nom, prénom, ville) COMMANDES(nc, datec, nv, qtéc, nb) EXPEDITIONS(nc, dateexp, qtéexp)
![Page 50: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/50.jpg)
50
Exemples de DF
NB NOM
NB PRENOM
NB VILLE
NC DATEC
NC NB
NC NV
NC QTEC
NC, DATEEXP QTEEXP
NOM VILLE ?
NB NV ?
QTEC QTEEXP ?
![Page 51: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/51.jpg)
51
Axiomes d’Armstrong
Réflexivité Y X X Y
Augmentation X Y XZ YZ
Transitivité X Y et Y Z X Z
![Page 52: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/52.jpg)
52
Propriétés déduites
Union X Y et X Z X YZ
Pseudo-transitivité X Y et YW Z XW Z
Décomposition X Y et Z Y X Z
![Page 53: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/53.jpg)
53
Fermeture transitive
Fermeture transitive d'un ensemble F de DF est notée F+
F+ = F U DF obtenues via les axiomes Par exemple
NC NB et NB NOM donc NC NOM NB NOM donc NB, NV NOM, NV essentiellement transitivité et pseudo-transitivité
![Page 54: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/54.jpg)
54
Graphe de dépendances fonctionnelles Noeuds = attributs Arcs = DF
nc nb
datec nv qtéc nom prénom ville dateexp
qtéexp
![Page 55: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/55.jpg)
55
Graphe de fermeture transitive
nc nb
datec nv qtéc nom prénom ville dateexp
qtéexp
![Page 56: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/56.jpg)
56
Dépendance fonctionnelle élémentaire Une dépendance fonctionnelle X A est dite
élémentaire si A n’est pas inclus dans X il n’existe pas X’ inclus dans X tel que X’ A
Permet de simplifier la fermeture transitive (sinon on peut toujours créer de nouvelles DF par augmentation)
Exemple : NB NOM NB, NV NOM non DFE
![Page 57: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/57.jpg)
57
Couverture minimale Définition
sous ensemble minimum de DF élémentaires permettant de générer toutes les autres
Exemple(nb nom; nb prénom; nb ville; nc datec; nc nb; nc nv; nc qtéc;nc, dateexp qtéexp)
ThéorèmeTout ensemble de DF admet une couverture minimale, en général non unique
![Page 58: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/58.jpg)
58
Clé d’une relation Définition
ensemble minimum d’attributs permettant de déterminer tous les autres
Soit R(A1, A2, ..., An) un schéma de relation. Soit F+ l’ensemble des DF associées à R. X (sous-ensemble d'attributs de R) est une clé de R ssi : X A1, A2, ..., An
il n’existe pas de sous-ensemble Y de X tel que Y A1, A2, ..., An
![Page 59: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/59.jpg)
59
Clé d’une relation (2)
Exemple nc, dateexp est une clé du schéma coopérative
Remarques une même relation peut avoir plusieurs clés il existe toujours au moins une clé (au pire on
prend tout le schéma)
![Page 60: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/60.jpg)
60
Décomposition des relations
![Page 61: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/61.jpg)
61
Décomposition d’une relation Décomposition d’un schéma de relation
La décomposition d’un schéma de relation R(A1, A2, ..., An) est sa substitution par un ensemble de schéma de relations R1, R2, ..., Rp telles que : schéma(R) schéma(R1) schéma(R2) ...
schéma(Rp)
Critères de bonne décomposition Décomposition sans perte d'informations Décomposition préservant les DF
![Page 62: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/62.jpg)
62
Décomposition sans perte d'informations La décomposition d’un schéma de relation
R(A1, A2, ..., An) par un ensemble de schéma de relations R1, R2, ..., Rp est sans perte d'informations ssi : R R1 R2 ... Rp
![Page 63: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/63.jpg)
63
Décomposition préservant les DF Soit R(A1, A2, ..., An) et DFR (ens. de DF
associé) la décomposition de R en R1, R2, ..., Rp (avec
DFR1, ...DFRn resp. ens. de DF de R1, ..., Rn) préserve les DF ssi :DFR
+ = DFR1+ U ... U DFRn
+
![Page 64: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/64.jpg)
64
Exemples de décomposition
Commandes(nc, datec, nv, qtéc, nb, nom, prénom, ville) C(nc, datec, nv, qtéc, nb) et B(nom, prénom,
ville) : perte d'info C(nc, datec, nv, qtéc, nb) et B(nb, nom, prénom,
ville) : pas de perte d'info et préservation DF C(nc, nb) et B(nc, datec, nv, qtéc, nom, prénom,
ville) : pas de perte d'info et perte de DF (nb nom par exemple)
![Page 65: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/65.jpg)
65
Principe de décomposition binaireR(X,Y,Z) et X Y
R(X,Y,Z)=R1(X,Y) R2(X,Z)
on peut toujours décomposer une relation suivant une DF
on ne peut pas décomposer une relation s'il n'y a pas de DF
la décomposition selon une DF préserve l'information
![Page 66: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/66.jpg)
66
Algorithme de décomposition
Commandes(nc, datec, nv, qtéc, nb, nom, prénom, ville)
nb nom; nb prénom; nb ville;nc datec; nc nb; nc nv; nc qtéc;nc, dateexp qtéexp
Commandes(nc, datec, nv, qtéc, nb, nom, prénom, ville)
C1(nc, datec, nv, qtéc)
C2(nc, nb)
C(nc, nb, nom, prénom, ville)
C3(nb, nom, prénom, ville)
nc datec, nv, qtéc
nb nom, prénom, ville
![Page 67: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/67.jpg)
67
Algorithme de décomposition
Garantie que la décomposition soit sans perte (puiqu'on suit le principe de décomposition binaire)
Pas de garantie que la décomposition préserve les DF
Décomposition n'est pas unique (dépend de l'ordre du choix des DF dans la décomposition)
![Page 68: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/68.jpg)
68
Autre décomposition
Commandes(nc, datec, nv, qtéc, nb, nom, prénom, ville)
C2(nc, datec, nv, qtéc, nb)C1(nb, nom, prénom, ville)
nb nom, prénom, ville
![Page 69: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/69.jpg)
69
Formes normales
![Page 70: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/70.jpg)
70
Formes normales
Première forme normale Deuxième forme normale Troisième forme normale ...
![Page 71: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/71.jpg)
71
1ère forme normale
Définition Une relation est en première forme normale si
tous ses attributs sont atomiques (inhérent au modèle relationnel)
Un attribut atomique n’est pas : multivalué (liste de valeurs) composé (structuré en sous-attributs)
![Page 72: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/72.jpg)
72
Deuxième forme normale
Définition Une relation est en deuxième forme normale ssi :
elle est en première forme normale tout attribut non clé dépend de la totalité de toutes les
clés
Exemple C(nc, dateexp, qtéexp, nb) pas en 2FN car nc,
dateexp clé et nc nb
![Page 73: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/73.jpg)
73
Troisième forme normale Objectif : élimination des redondances dues
aux dépendances fonctionnelles déduites par transitivité
Définition Une relation est en troisième forme normale ssi :
elle est en deuxième forme normale il n’existe aucune DF entre attributs non clé
![Page 74: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/74.jpg)
74
Comment calculer une forme normaleSoit R(A1, ..., An) et DFR ens. de DF associé
calculer DFR+
déterminer la (les) clé (s) de R partitionner les attributs en attributs clés (ils
appartiennent à au moins une clé) et attributs non clés
appliquer les définitions de forme normale (depuis la 1ère)
![Page 75: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/75.jpg)
75
Propriétés
Toute relation R admet au moins une décomposition en 3FN qui préserve l'information et les DF
Deux approches pour la calculer : décomposition : on s'arrête dès que les
relations dérivées sont en 3FN (mais pas de garantie sur les DF)
synthèse à partir de la couverture minimale
![Page 76: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/76.jpg)
76
Algorithme de synthèse en troisième forme normale
Pré : connaissance du contenu de la relation universelle + DF Principe de l’algorithme :
A partir du graphe G des DF, calculer une couverture minimale C Editer l’ensemble des attributs isolés dans une même relation (tous
sont clés) Recherche le plus grand ensemble X d’attributs qui détermine
d’autres attributs Editer la relation R(X, A1, ..., An)
Supprimer les DF X A1, .., X An du graphe de couverture minimale C
Supprimer les attributs isolés de C Reprendre l’opération à partir de l’étape 3 jusqu’à ce que C soit vide
![Page 77: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/77.jpg)
77
Insuffisance de la 3FN
Relation VINS(CRU, PAYS, REGION)Chenas, France, BeaujolaisJuliénas, France, BeaujolaisChablis, France, BourgogneChablis, USA, Californie
avec les DF suivantes :région pays; cru, pays régionVINS est en 3FN, pourtant il y a des
redondances (ici on peut régler cela avec la 3FN Boyce Codd Kent)
![Page 78: 180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d8e497959293b8c33b8/html5/thumbnails/78.jpg)
78
Conclusion sur la normalisation Permet d'affiner une conception de schéma
Peut se coupler avec une démarche de conception "à la Merise"
Inconvénient majeur : on suppose qu'on possède une couverture minimale des DF (si on a oublié une DF tout est faux)
Autres formes normales avec d'autres types de dépendance
Peut être remis en cause au niveau physique (dénormalisation)