Title: Conception relationnelle
1Conception relationnelle
2Modélisation du monde réel
- Une base est un modèle d'une entreprise
(ANSI-SPARC) - Innombrable méthodes d'aide à la conception
(intégré) d'une base - empiriques
- semi-empiriques (E-R)
- formelles (normalisation relationnelle)
- OO
3Modélisation relationnelle (démarche intuitive)
- Un type T d'objets réel O ? une relation R
- Un O ? une valeur d'une clé primaire C de R
- Une propriété fonctionnelle de tout O ? un
attribut de R - Une référence à O ? une valeur de clé étrangère
F C - détails dans le cours correspondant
4Modélisation relationnelle
- Graphe de références
- Les relations sont les noeuds
- Les contraintes d'intégrité référentielle C -gt F
sont les arcs orientés. - Une base relationnelle n'est correctement définie
que si son graphe de références est un graphe
connecté. - Approche naturelle est souvent suffisante en
pratique - mais, pas toujours, ni suffisante ni univoque même
5Base S-P (Exemple canon)
SP
S
P
6Exemple canon
- Graphe de références
- Clés primaires n'ont pas de sémantique
- Jouent les rôles de OIDs définis à la main
- Les fournisseurs le les pièces sont en relation m
n.
SP
S
P
7Famille canon
Femme
Mari
Enfants
8Famille canon
Femme
Mariage
Mari
Dipl
Enfants
Comptes
9Famille canon
Femme
Mariage
Amants
Mari
Amantes
Dipl
Enfants
Comptes
A qui
Jouets
10Famille canon (un ES)
Femme
Mariage
Mari
Dipl
Enfants
Comptes
A qui
Jouets
11Problèmes
- Duplications de données (à éviter)
- adresse d'une famille
- mêmes diplômes
- code postal et ville
- autres (nombreux)
12Restructuration du schéma (fragment)
CP - V
Adresse
Femme
Mariage
Mari
Dipl
Enfants
13Normalisation
- Processus de création formelle d'une base
relationnelle (Codd) - Un remplacement de relations avec des anomalies
par une ou plusieurs relations "meilleures" - Le remplacement appelé aussi décomposition sans
perte est basé en général sur la notion de - dépendances fonctionnelles
- dépendances multivaluées
14Normalisation
Base
Attributs (rel. universelle)
Couverture de Dépendances (FDs, MDs, IDs...)
15Normalisation
Base
Cuverture minimale (FDs, MDs, IDs...)
Base en 1-O NF
table en 1 NF
16Normalisation
Base
Cuverture minimale (FDs, MDs, IDs...)
17Normalisation
Base
Cuverture minimale (FDs, MDs, IDs...)
etc jusqu'Ã n ? 7 fois (5NF)
18Normalisation
- Une de plus belles pièces de la théorie des BDs
- Mais, d'un intérêt discutable en pratique
- L'idée première séparation de torchons et de
serviettes mélangées dans une même relation R - en deux ou plus relations- projections, séparant
les torchons de serviettes et telles que - si besoin, la jointure de ces projections donne
de nouveau R - Très à la mode il y a 20 ans
- Peu de nouveautés depuis sauf
- 1-O NF (1991)
- Théorème sur l'équivalence de 3 NF et n NF n gt 3
(1993)
19Formes normales connues
- 1-O NF (Ketabchi, Krishnamourthy, Litwin, 1991)
- 1 NF (Codd, 1971)
- 2 NF (Codd, 1971)
- 3 NF (Codd, 1971)
- BCNF (Heath, Codd, 1971)
- 4 NF (Fagin, 1977)
- ???5 NF (Fagin, 1979)
- 1-O NF est une forme d'une base, toute autre est
une forme d'une relation - Une relation en n NF ou BCNF est toujours en n NF
ou BCNF si n gt 3.
20Forme normale de 1-er ordre (1st Order Normal
Form)
- Une base relationnelle B est en 1-O NF si tous
les arguments de manipulations prévues sont les
valeurs d'attributs - En général, un argument peut être un nom ou une
valeur - SELECT SNAME FROM S WHERE CITY 'Paris'
211-O NF
- Considère maintenant la requête à la base S-P
- Les noms de tables avec S 'S1'
- Si cette requête est permise, alors la base S-P
n'est pas en 1-O NF - Un exemple pratique la base Bourse
- IBM (C, prix, jour)
- HP (C, prix, jour, variation)
- Alcatel (C, prix, jour, dividende)
- Les noms des entreprises dont prix au jour x gt 50
- Si cette requête est permise, alors Bourse n'est
pas en 1-O NF
22Normalisation en 1-O NF
- Créer une table où les noms deviennent les
valeursComp (C, Nom, prix, jour, variation...) - Prix à payer
- valeurs nulles
- performances
- Le futur LMs de prédicats d'ordre supérieur,
ex. IDL (Krishnamourthy, Kent, Litwin 1991) - La normalisation en 1-O NF compose n gt 1 tables
en 1 les autres normalisations décomposent 1
table en n.
23Dépendances Fonctionnelles
- Un attribut B d'une table R est fonctionnellement
dépendant sur A de R A -gt B ssi, pour tout
tuple t de toute extension de R t a1 t a2
t b1 t b2 - A et B peuvent être composites
- DFs sont des propriétés sémantiques (du schéma de
R), donc s'appliquent à toute extension (légale)
de R - Une DF d'une extension de R n'est pas
nécessairement une DF de R - Pour tout B non-clé et tout A clé, on a A -gt B
24SP
S
P
- S S -gt SNAME S -gt STATUS S -gt CITY
STATUS -gt CITY ?S S -gt SNAME, CITY S,
CITY -gt STATUS, CITY - Combien y a-t-il de DFs dans S ?
- Et en général dans une R n-aire avec une clé
atomique ? - ? SP S -gt P P -gt QTY
25Règles d'inférence de DFs
- Si F est un ensemble de DFs sur R, (couverture
fonctionnelle de R), une DF X -gt Y est inférée
(déduite) de F si X -gt Y est valide pour tout
tuple d'une extension légale de R (donc
respectant F). - On note F Þ X -gt Y
- F S -gt SNAME S -gt STATUS S -gt CITY Þ
S -gt SNAME, CITY S, CITY -gt STATUS,
CITY - Règles d'inférence des DFs (Armstrong ,1974)
- X, Y, Z sont des attributs de R
- (i) X???Y Þ??X -gt Y Réflexivité
- (ii) X????Y Þ????XZ -gt YZ Augmentation
- (iii) X????Y, Y????Z Þ????X -gt Z
Transitivité??
26Règles d'inférence de DFs
- Il est prouvé que les règles d'Armstrong sont
fondées (sound) et complètes - Toute DF inférée en utilisant (i) à (iii) est une
DF inférée - Toute DF qui peut être inférée de F, peut être
inférée en utilisant seulement (i) à (iii) - Fermeture F de F l'ensemble des DFs qui
peuvent être inférées de F
F
F
27Règles additionnelles
- X????YZ Þ????X -gt Y Projection
- X????Y, X????Z Þ?????X -gt YZ Union
(addition) - X????Y, WY????Z Þ?????WX -gt Z
Pseudo-transitivité - X????YZ Þ????X -gt Y, X -gt Z Décomposition
- X????X Auto-détermination
- X -gt Y, V -gt Z Þ XV -gt YZ Composition
- X????Y Þ????XW -gt Y Augmentation à gauche
- ....
- Prouver ces règles
28Fermeture d'un attribut sous F
- Fermeture X (ou X ( F) ) d'un attribut X par
rapport à F - l'ensemble des attributs fonctionnellement
dépendant de X sous la couverture fonctionnelle F - X peut-être composé
- S S, SNAME, CITY, STATUS dans S
- Algorithme pour trouver X
- X X
- répète
- vieuxX X
- pour tout FD Y -gt Z dans F fait
- si Z???X alors X X ?????
- jusqu'Ã (vieuxX X)
29Exemple
- Employes et leurs projetsEP ( SS, ENom, P,
PNom, Loc, Temps)F SS -gt ENom P -gt
PNom, Loc SS, P -gt Temps - SS SS , ENom
- P P , PNom, Loc
- SS, P SS, P, ENom, PNom, Loc,
Temps - R (X1, X2, X3... X55)F Xi -gt Xi1 i
1,2..54 - X3 ?
30Recouvrement de couvertures de DFs
- Une couverture F couvre une couverture E si
toute FD de E est dans F - Toute FD dans E peut être inférée de F
F
Donc, E ??? F (facile à prouver)
F
E
E
- F couvre E si
- pour toute FD X -gt Y dans E,
- X ( F) inclue tous les attributs composant Y
- ceci est un algorithme
31Exercices
- Est-ce que F couvre E ?
- E S -gt S F S -gt S, S -gt CITY
- E S -gt S F S -gt CITY
- E S -gt SNAME F S -gt CITY, SNAME
- E S -gt CITY, STATUS F S -gt CITY,
SNAME
32Equivalence de couvertures
- E et F sont équivalentes E?? F si F E
F
F
E
E
33Couverture minimale
- Un ensemble F de DFs est minimal si
- Pour tout f X -gt Y dans F, Y est atomique
- ??f ??F , F \ f n'est pas équivalent à F
- ??f ??F, ?? A ??X, F \ f ????????Y n'est pas
équivalent à F - Une couverture minimale de F est l'ensemble
minimal Fmin équivalent to F - En général, il existe plusieurs Fmin pour F
- En général, on peut aisément trouver au moins une
couverture minimale de R, mais....
34Couverture minimale
- L'on ne connaît pas d'algo simple et général pour
trouver tout Fmin ni même un Fmin - La couverture minimale est aussi appelée
irréductible - Fmin avec tous les DFs X -gt Y, X -gt Z...
unionées en une DF unique X -gt YZ.. est
appelée canonique - Fmin (P) dans la base S-P ?
35Clés candidates
- Soit R une relation, C tous les attributs de R, F
une couverture de R et X ???C - X est une clé candidate de R si et seulement
si on a X (F) C et X est minimal en ce
qui concerne cette condition - condition alternative X (Fmin ) C
36Exercices
- Quelles couvertures sont minimales ou
canoniques ? - Pour P de la base SP
- F1 P -gt Pname, Color P -gt Weight
- F2 P -gt Pname P -gt Color P -gt Weight
- Pour SP avec
- F1 S, P -gt QTY S -gt S
- F2 S, P -gt QTY
- Pour EPM (E, SS, ENom, Dep) avec F E -gt
SS E, Dep -gt ENom SS, Dep -gt
ENom SS, Dep -gt E
371 NF
- Relation R est en 1 NF si toute valeur d'attribut
est atomique - cette normallisation crée des redondances !
O NF
1 NF
P1 P2 P3 P4
P1 P2 P3 P4
S1 S1 S1 S1
S1
Norm.
P1 P2 P3
S2 S2 S2
P1 P2 P3
S2
382 NF
- R est en 2 NF si R est en 1 NF et tout attribut A
non-clé est pleinement (fonctionnellement)
dépendant de la clé primaire - S (S, STATUS, CITY) est en 2 NF
- FIRST (S, STATUS, CITY, P, QTY ) n'est pas en
2 NF
STATUS
S
QTY
Contrainte additionnelle
P
CITY
39Base S-P (Exemple canon)
SP
S
P
40Pourquoi 2NF ?
- Considère la table
- FIRST (S, STATUS, CITY, P, QTY )
STATUS
S
QTY
Contrainte additionnelle
P
CITY
41STATUS
S
QTY
CITY
P
421 NF
- Anomalies
- d'insertion
- pas de nouveau fournisseur sans aucune pièce
- de suppression
- suppression de la dernière pièce supprime toute
info sur le fournisseur - de mise à jour
- il faut mettre à jour des valeurs inutilement
dupliquées - consistance peut être détruite
- S'agit-t-il vraiment d'anomalies ??
- Rédondances !!
- les données d'un fournisseur sont dupliquées
plusieurs fois
43Table FIRST
Dernière info sur S3
44Solution
- Décomposition sans perte
- On remplace une relation R par ses projections Ri
i1,2.. telles que la jointure naturelle R' des
Ri est égale à R, c. à d. pour toute extension
de R - il n'y a pas de tuples de R qui manquent dans R'
- il n'y a pas de tuples en plus dans R' par
rapport à R
R1
R
R'
R2
45Décomposition sans perte
- En général, il existe une décomposition sans
perte en deux projections R1 et R2 - mais il y a en des cas où la seule décomposion
sans perte est en i gt 2 projections - on verra l'ex. en discutant la 5 NF
- Souvent R1 ou R2 est décomposable à son tour
- en conduisant aussi à une décomposition sans
perte de R en i gt 2 relations
46Décomposition sans perte
- Une décomposion de R muni de la couvert. fonct. F
en R1 et R2 est sans perte ssi - (R1???R2) -gt R1 \ R2 est dans F
- ou (R1???R2) -gt R2 \ R1 est dans F
- à vérifier sur notre exemple
47Une autre formulation
- Toute relation R avec
- A, B, C attr. atomiques ou composés
- une DF A -gt B
- peut être décomposée sans perte enR1 (A, B) et
R2 (A, C) - Cette formulation est connue comme
- Théorème de Heath (1971)
48Décomposition préservant les DF
- L'union des couvertures fonctionnelles des
projections de R est équivalente à la couverture
de R - Une décomposition sans perte
- peut préserver les DFs
- décompositions en 3NF
- peut ne pas préserver les DFs
- décompositions en BCNF
49Exercices
- Etud (E, Nom, Cours, Note)F E -gt Nom E
, Cours -gt Note - Décompositions sans perte ?
- EN (E, Nom), EC (E, Cours, Note)
- ENC (E, Nom, Cours), CN (Cours, Note)
- Et les DFs, sont-elles préservées ?
50Normalisation en 2-NF
- Décomposition sans perte préservant les DFs
- Il peut y avoir plusieurs
SECOND (S, STATUS, CITY)
SP (S, P, QTY)
STATUS
S
S
QTY
P
CITY
51SP (S, P, QTY)
S
QTY
P
SECOND (S, STATUS, CITY)
STATUS
S
CITY
- Vérifie que cette décomp. est sans perte !
52Exemples courants
- Pers (SS, Nom, Ville, CP, Voit, Type)
- Pers (SS, ...) et PV (SS, Voit,..)
- Empl (E, Nom, Dep, Loc, Tache, Def, Perf)
- à décomposer en combien d'étapes ?
- Ami1 (SS, Nom, Tel, A-SS, A-Nom, A-Tel)
- Ami2 (SS, Nom, Tel, A-SS)
- Dessine les graphes de ref. pour Ami1 et Ami2 ?
- Equipe (E, Nom, EqNom)
- La modélisation naturelle souvent évite ces cas
"naturellement"
532NF et clé candidates
- Une relation peut être en 2NF par rapport à la
clé primaire (P), sans être en 2NF par rapport Ã
une clé candidate (Nom, Tel) - Pers (P, Nom, Tel, Salaire, Prefix-0?)
- Une définition stricte de 2NF est alors
possible - R est en 2NF, si R is en NF et tout A non-clé est
pleinement dépendant de toute clé - Divergences existent sur l'utilité de cette
définition - la décomposion en 3NF n'en dépend pas
543-NF
- Problème avec 2-NF
- DFs transitives conduisent à des anomalies
- ex. CITY et STATUS, CP et Ville,...
- R est en 3 NF si R est en 2 NF et tout attribut
non-clé est non-transitivement et pleinement
dépendent de la clé primaire
55Décomposition 2 NF -gt 3 NFen projections
indépendantes
- On isole les attributs non-clé en DFs dans des
projections telles que - la décomposition est sans perte
- aucune MAJ d'une projection ne peut violer une
DF originelle - Les MAJ de SC ou de CS peuvent être faites sans
violer une FD de SECOND - Ce n'est pas le cas de projections dépendantes
- bien qu'une telle décomposition peut être aussi
sans perte
56Décomposition 2 NF -gt 3 NF
CS (CITY, STATUS)
SECOND (S, STATUS, CITY)
STATUS
STATUS
S
CITY
S
CITY
SC (S, CITY)
CITY
57CITY
STATUS
CS (STATUS, CITY)
SECOND
CS Join SC
SC (S, CITY)
S
CITY
58CITY
STATUS
CS (STATUS, CITY)
MAJ de CS
CS Join SC
SC (S, CITY)
S
CITY
59CITY
STATUS
CS (STATUS, CITY)
MAJ de CS
CS Join SC
SC (S, CITY)
S
CITY
60Décomposition en proj. dép.
S
STATUS
SS (S, STATUS)
SECOND
SC (S, CITY)
SC Join SS
S
CITY
61S
STATUS
SS (S, STATUS)
MAJ de SS
CITY --gt STATUS
SC (S, CITY)
SC Join SS
S
CITY
62Décomposition 2 NF -gt 3 NF
- Un autre exemple très courant
CV (CP, Ville)
Ville
Pers (SS, Ville, CP)
Ville
SS
CP
SS
PC (SS, CP)
CP
CP
63Théorème de Rissanen
- Projections R1 et R2 de R sont indépendantes ssi
- toute FD de R peut être logiquement déduite de
celles dans R1 et R2 - les attributs communs de R1 et R2 forment une clé
candidate pour au moins une de ces relations - Ex.
- FD S --gt STATUS peut être logiquement
déduite de S --gt CITY et de CITY --gt STATUS - Les projections dépendantes de SECOND
- (S, CITY) et (S, STATUS)
- Les projections indépendantes de SECOND
- (S, CITY) et (CITY, STATUS)
64BCNF
- Problème avec 3 NF
- un attribut faisant partie d'une clé (candidate)
peut-être non-pleinement dépendant de la clé
primaire - SSP (S, SNAME, P , QTY) avec S --gt SNAME
- R est en BCNF ssi tout déterminant est une clé
candidate - un déterminant est un attribut duquel un autre
attribut est pleinement FD dépendant
65SSP
66BCNF
- SSP (S, SNAME, P , QTY) n'est pas en BCNF
S
SNAME
QTY
P
67BCNF
- Décompositions (sans perte)
- SS (S, SNAME) SP (S, P, QTY)
- ou
- SS (S, SNAME) SP' (SNAME, P, QTY)
- SP et SP' sont en BCNF
68Décomposition BCNF de SSP
SP
SSP
SS
69Décomposition BCNF alternative
SSP
SP'
SS
70Autres exemples
- Etud (E, SS, C, Note)
- Etud (E, SS) et EC (E, C, Note)
- Pers (Tel, Nom, SS, Visa, Cpte, Etat)
- Pers (Tel, Nom, SS), SC (SS, Cpte, Etat),
SV (SS, Visa) - Livre (ISBN, Loc, Enr, D-pret, Nom, Duree)Ã
vous de jouer
714 NF
- R en BCNF peut mélanger les faits indépendants en
dépendance multivaluée
COURSE TEACHER TEXT Physics Prof.
Green Basic Mechanics Prof. Brown Principles
of Optics Math Prof. Green Basic
Mechanics Vector Analysis Trigonometry
CTX
724-NF
COURSE TEACHER TEXT Physics Prof.
Green Basic Mechanics Physics Prof.
Green Principles of Optics Physics Prof.
Brown Basic Mechanics Physics Prof.
Brown Principles of Optics Math Prof.
Green Basic Mechanics Math Prof. Green
Vector Analysis Math Prof. Green
Trigonometry
CTX
- Anomalies
- ex. insertion d'un nouveau Prof de Math., Prof.
Jaune ???3 tuples - suppression d'un seul tuple de Prof. Green
???inconsistance dans la base.
734 NF
CX
COURSE TEXT Physics Basic Mechanics Physics Prin
ciples of Optics Math Basic Mechanics Math Vecto
r Analysis Math Trigonometry
CT
COURSE TEACHER Physics Prof.
Green Physics Prof. Brown Math Prof. Green
74Autre exemple(très courant)
- Pers (SS, PNom, Ville, CP, Dipl, DNom, Hobby)
- Pers (SS, PNom, Ville, CP), X (SS, .....)
- Pers (SS, PNom, CP), VC (Ville, CP), X (SS,
.....) - Pers (SS, PNom, CP), VC (Ville, CP), D (Dipl,
DNom), PDH (SS, Dipl, Hobby)
Relation Troublion
75Solution formelleDépendances multivaluées
- Soit R (A, B, C) une relation. Il y a une D M
A --gtgt B Cdans R ssi, quelque soit C, Ã
une valeur de A correspond toujours le même
ensemble de valeur de B. - Les attributs A, B, C peuvent être composés
- R a au moins 3 attributs
- R est en 4 NF ssi R est en BCNF et toutes les DMs
sont des DFs
76DMs dans CTX
COURSE TEACHER TEXT Physics Prof.
Green Basic Mechanics Physics Prof.
Green Principles of Optics Physics Prof.
Brown Basic Mechanics Physics Prof.
Brown Principles of Optics Math Prof.
Green Basic Mechanics Math Prof. Green
Vector Analysis Math Prof. Green
Trigonometry
CTX
COURSE --gt TEACHER TEXT
77DMs dans CTX
COURSE TEACHER TEXT Physics Prof.
Green Basic Mechanics Physics Prof.
Green Principles of Optics Physics Prof.
Brown Basic Mechanics Physics Prof.
Brown Principles of Optics Math Prof.
Green Basic Mechanics Math Prof. Green
Vector Analysis Math Prof. Green
Trigonometry
CTX
COURSE --gt TEXT TEACHER
A --gt B C ???????A --gt C B
78Décomposition en 4 NF
- R peut être décomposé sans perte en projections
(indépendantes) R(A, B) et R(A, C) ssi les DMs
A --gtgt B C sont présentes dans R. - Toute R peut être décomposé en collections de
relations en 4 NF - CT et CX sont en 4 NF
79Décomposition de CTX en 4 NF
R est en 4 NF ssi R est en BCNF et toutes les DMs
sont des DFs
CX
COURSE TEXT Physics Basic Mechanics Physics Prin
ciples of Optics Math Basic Mechanics Math Vecto
r Analysis Math Trigonometry
CT
COURSE TEACHER Physics Prof.
Green Physics Prof. Brown Math Prof. Green
805 NF
- Il existe des relations qui ne peuvent être
décomposées qu'en trois composantes au moins
SP
PJ
SJ
SPJ
S P J S1 P1 J2 S1 P2 J1 S2 P1 J1 S1 P1 J1
S P S1 P1 S1 P2 S2 P1
P J P1 J2 P2 J1 P1 J1
J S J2 S1 J1 S1 J1 S2
Contrainte cyclique (S1, P1, J2) et (S2, P1,
J1) et (S1, P2, J1)????? (S1, P1, J1)
SPJ est sujet aux anomalies d'insertion et de
suppression, ex. delete (S1, P1, J1)
815 NF
- La contrainte cyclique évite le "piège de
connection" (connection trap) - Une relation R est n-décomposable pour n gt 2 si
elle supporte une contrainte cyclique - Relation SPJ est 3- décomposable
- Relation SPJ est en 3-dépendance de jointure
(DJ) JD (SP, PJ, JS)
82- Relation SPJ est en 3-dépendance de jointure
(DJ) JD (SP, PJ, JS)
SP
PJ
SJ
SPJ
S P J S1 P1 J2 S1 P2 J1 S2 P1 J1 S1 P1 J1
S P S1 P1 S1 P2 S2 P1
P J P1 J2 P2 J1 P1 J1
J S J2 S1 J1 S1 J1 S2
835 NF
- R est en 5 NF (appelé aussi PJ/NF) ssi toute DJ
est impliquée par les clés candidates de R, c. Ã
d. - soit il n'y a pas de DJ
- soit, toute projection contient une clé
- Toute R en 5 NF est en 4 NF (les DMs sont un cas
spécial de DJs)
R (A,B,C) satisfait JD (AB, AC) ssi on a A --gtgt
B C
845 NF
- SPJ n'est pas en 5 NF car S, P, J ne sont
pas clés candidates - S' ( S, SNAME, STATUS, CITY ) est en 5 NF
(( S, SNAME, STATUS), (S, CITY )) (( S,
SNAME), (S, STATUS), (SNAME, CITY))etc. - Y a-t-il des DJs dans les tables S, P et SP ?
- Sont-elles en 5 NF ?
855 NF
- Il existe un algorithme (Fagin) permettant de
tester pour une DJ et un ensemble de clés
candidats C est-ce que DJ est impliquée par C - L'ex. précedent mpntre que ce n'est pas toujours
évident - Pour R donnée, on peut toujours dire si R est en
5 NF pourvu que l'on connaît toutes les clés et
toutes les DJs. - Mais, découvrir les DJ peut ne pas être trivial
- 5 NF est une ultime NF pour les PJ
- toujours existante ou possible par une
décomposition en projections - libre d'anomalies discutées à éliminer par une
décomp. en projections
86Nouvelle vie de 3 NF
- Théorème Toute R en 3 NF avec une seule clé
atomique est en BCNF, 4 NF et 5 NF(Date et
Fagin, 1993) - L a modélisation OO souvent conduit à de telles
relations ou le OID est la clé
87Algorithmique de décompositions(ou où le bat
blesse)
- Combien de DFs n-aires R peut avoir ( F ?)
- 22n
- En pratique souvent n 10 - 20 et donc on peut
avoir - F ???220 - 240
- Algorithme de génération de F
- (1) F F
- Applique les règles d'Armstrong, dans n'importe
quel ordre à F - Si il n'y a pas de f ??F générée, alors exit
- F F ??f goto (1)
88Génération de couverture minimale
- (1) Décompose F
- Remplace toute DF (X -gt A1,..Ak de F avec k DFs
X -gt Ak - (2) Réduction à gauche du résultat de (1), soit
Fm1 - Fm2 Fm1
- pour tout X -gt A ??Fm2
- Z X
- pour tout attribut x ?X
- F' Fm2 \ Z -gt A ??Z \ x -gt A
- si (F' ? Fm2 ) alors Z Z \ x Fm2
Fm1 fin - fin
- fin
- (3) supprime les DFs redondantes dans Fm2
89Génération de couverture minimale(discussion)
- Complexité ?
- polynomiale dans F (Helman), Ã condition de
tester l'équivalence par X et non pas par le
test (F' ? Fm2 ) (et pourquoi ?)Helman,
P. The Science of Database Management, 1994,
588. - Résultat unique ?
- non, (et pourquoi ?)
- il existent d'autres algorithmes pour générer une
couverture minimale
90Algo général de décomposition en 3NF sans perte
et préservant les DFs
- Une décomposition de R préserve F si l'union
des projections F' est équivalente à F - Théorème de Rissanen s'applique si on a les
projections en 3NF - Il ne spécifie pas comment obtenir ces
projections - Le bon sens suffit souvent
- L'algorithme qui suit fournit une réponse
générale
91Algo général de décomposition en 3NF sans perte
et préservant les DFs
- Entrée table R (A1 ... An) et son F (les DFs
sur R) pas de nuls - Sortie projections R' en 3 NF
- Trouve Fm
- Pour tout X d'une f X -gt Aj dans F
- crée un schéma (X, Ai1..., Aim ) où tout Aik est
tel que X -gt Aik ? Fm - Forme une table des attributs restant, s'il y en
a - Si aucune de tables créées ne contient la clé C
de R, alors crée encore une table avec C comme
attributs.
92Application à notre exemple
- FIRST (S, STATUS, CITY, P, QTY )
Fm 1, 2, 3
STATUS
1
S
2
3
QTY
P
CITY
- On retrouve nos tables en 3NF
- SP (S, P, QTY)
- SC (S, CITY)
- CS (CITY, STATUS)
93Un autre exemple
- S-P (S, STATUS, CITY, P, COLOR )
Fm 1, 2, 3
STATUS
S
1
2
3
COLOR
P
CITY
SC (S, CITY) CS (CITY, STATUS) PC (P,
COLOR SP (S, P)
94Algo général de décomposition en 3NF sans perte
et préservant les DFs
- Preuve dans Ullman (par ex.). Complexité ?
- C'est un alg. parmi d'autres (ex. Helman)
- Et pourquoi ?
- Note que
- R est atomique si R ne peut pas être décomposé
en projections indépendantes (notamment en 3NF) - S n'est pas atomique (mais est-il souhaitable de
le décomposer ?) - SP est atomique Ullman, J. Principles of
Database Knowledge-Base Systems. Computer Sc.
Press, 1988
95Algo général de décomposition sans perte en BCNF
- Entrée table R et ses FDs F pas de nuls
- D R
- tant qu'il y a une table Q pas en BCNF dans D
fait - trouve une dépendance X -gt Y de Q non-conforme Ã
BCNF - D D \ Q ??Q \ Y , ?X ??Y
- fin
- Preuve ? Complexité ?
- Les FDs ne sont pas toujours préservées (et
quand sont elles, notamment ?)
96Application
Fm 1, 2
2
S
SNAME
1
QTY
P
D SSP (S, SNAME, P , QTY) SSP S,
P, QTY), SN (S, SNAME)
97Application
Fm 1, 2
2
S
SNAME
1
QTY
P
D SSP (S, SNAME, P , QTY) SSP
SNAME, P, QTY), SN (S, SNAME)
98Est-ce que toute cette théorie est pratique ?
- C'est une bonne question !
- Peu, par rapport aux espérances dans ses années
d'or (1970 - 1980) - L'intuition en général suffit pour 3NF
- Le Th. de Date-Fagin montre que la portée des
intuition était même grande que l'on pensait - Les "anomalies" qui restent pèsent en général peu
comparées aux effets de de jointures - détérioration de performances de requêtes
- complexité accrue de la formulation de requêtes
- Les valeurs nulles fichent les principaux
résultats en l'air
99Est-ce toute cette théorie pratique ?
- Il est possible d'insérer dans table S avec la FD
CITY -gtSTATUS l'info sur le status de IBM - (S5, IBM, nul, 400) / dans (S, SNAME, CITY,
STATUS) - Ceci n'est plus possible après la décomposition
très OK sans valeurs nulles - (S, SNAME, CITY) (CITY, STATUS)
- Un désavantage souvent
- En général, un article sur une décomposition
n'est plus accepté pour les princip. confs de
recherche en BDs (SIGMOD, VLDB...)
100Concepts avancés
- Moins utiles jusque-lÃ
- Relation universelle (voir Ullman, 1982)
- toute relation R dans la base est une projection
d'une relation U avec tous les attributs de la
base - Idée éviter les equijointures
- Problèmes non-résolus
- pas toujours possible, les nuls...
- Dépendances d'inclusion (inter-relationnelle
s), DK/NF, schémas acycliques...
101Relations atomiques
- Toute table contient une clé et au plus un
attribut non-clé - décompostion complète
- l'approche apparentée Ã
- Data Semantics d'Abrial
- modèle OO de système IRIS
- Il y a des liens d'intégrité ref. entre les
tables - Utilisés notamment pour les jointures implicites
- internes ou externes
- S (S), SN (S, SNAME), SC (S, CITY), SS (S,
STATUS) - P (P), PN (P, PNAME), PC (P, COLOR), PW (P,
WEIGHT) - SP (S, P), SP (S, P, QTY) ou SP (SP), SPS
(SP, S), SPP (SP, P), SPQ (SP, QTY), ...
102Relations atomiques
- Avantages
- pas d'anomalies
- pas de normalisation
- moins de problèmes de valeurs nulles
- approche pleinement applicable sous SGBD
modernes, ex. MsAccess, surtout sous QBE - Problèmes
- Performances
- jointures nombreuses
- place mémoire
103Tables à attributs hérités(Litwin al, 1992)
Etudiant
Personne
Année variable système avec l'année en
cours Age Année - Né
L valeur héritée peut être surécrite
104Tables à attributs hérités(ex. de déf. en
pseudo-SQL)
- Create Table Personne
- SS Integer
- Nom Character
- Né Integer
- Age Select Année - X.Né From Personne Personne
X, Where SS X.SS - Create Table Etudiant
- Select SS, Nom From Person
- Etud Integer
105Tables à attributs hérités
- Application (limitée)
- Le SGBD relationnel-objet UNISQL ()
- Une table peut hériter une autre table en entier
- Ceci modélise le sous-typage dans les OODBMSs
- UNISQL est annoncé vendu en 500 licences (1995)
- Kim, W. Modern Database Systems. Academic
Press, 1994
106Et pour en savoir plus
Fin
107Exercices
- Modélise naturellement tous les bases exemples
du cours,en dessinant les graphes de référence - Refait l'exercice en utilisant l'approche
formelle avec les dépendances fonct. et
mulitval. - Compare les schémas résultants
- Définit 2 ex. de bases qui ne sont pas en
1-ONF. Puis, normalise les schémas. - Prouve que toute relation en BCNF est en 3NF.
- Prouve que l'inverse n'est pas vrai.
- Propose un schéma simplifié mais réaliste d'une
Banque ou les clients ont comptes courants et
SICAV dont les chargés de clientèle s'occupent