Download - Conception Des Bases De Données
Conception Des Bases DeDonnées
Najib TounsiEcole Mohammadia d'Ingénieurs, Rabat
Année 2010/20112e année Génie Informatiquehttp://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/ConceptionRelations/algoSynthDecomp.html
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 1 of 23
Méthodes de Conception
Deux classes de méthodes
Classiques:Basées sur les attributs et les dépendancesfonctionelles/multivaluées
Plus récentes:Par transformation de modèle (Entité/Association ouObjet)
On s'intéressera à la transformation E/A ➠ Rel. Plussimple pour un résultat identique.
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 2 of 23
Méthodes classiques:
Données: U et F , resp. ensemble d'attributs et dedépendances fonctionnelles
Résultat: Schéma de relations en 3FN (ou BCFN)
Algorithmes mis au point et éprouvésS'inspire de la théorie de normalisation (plus formelle)S'applique aux cas:
fichiers existantscollecte de données de base et règles de gestion...
Deux approches: Synthèse ou Décomposition
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 3 of 23
Méthodes plus récentes:Données: Schéma conceptuel de données (modèlesEntités/Associations)
Résultat: Schéma de relations en 3FN
Analyse des données plus abstraite (différents niveauxd'analyse)Schéma de relations obtenu par transformation demodèleS'applique aux méthodes d'analyse générales:
MERISEObjets...
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 4 of 23
Algorithme de Synthèse
Résumé informel
Trouver U et FUtilisateur/concepteur, longue phase
I.
Réduction de FElimination des dépendances "redondantes"(déductibles des autres).A la main ou par programme.
Résultat: Couverture minimale de F
II.
Trouver les clés (pas toujours nécessaireIII.Combiner les DFs ayant même partie gauche
Relation avec sa cléIV.
Ajouter relation clé (le cas échéant)V.Eliminer relations contenues dans d'autres (le caséchéant).
VI.
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 5 of 23
Algorithme Détaillé
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 6 of 23
U et F trouvés parailleurs
Analyse des documents, dictionnaire d'informations, règles de gestion, etc.
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 7 of 23
Réduction de F (préliminaires)
X Y Z désignent un (ou collection) attribut,A B C désignent un attribut
Un seul attribut en partie droite
X → A1A2 ... An ⇔X → A1
X → A2...
X → An
Notion de fermeture transitive d'un attribut (oucollection) X.
Définition
La fermeture transitive X+ de X est
l'ensemble des attributs A de U tel que:
X → A est déduite de F
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 8 of 23
Réduction de F (calculde fermeture transitivede X)
Soit X0 = X et n=0;i.Si existe une DF Y → A, avec Y ⊂ X et A∉Xn
alors, ajouter A à Xn pour former Xn+1 ii.
Incrémenter n de 1 et répéter ii. jusqu'à ce qu'il n'y aitplus d'attributs à rajouter à Xn.
iii.
La fermeture transitive X+ = Xn+1 = Xniv.
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 9 of 23
Réduction de F (Exemple :-) de calcul)
U = {nom, ville, rue, grade, dateVersemant,montantVersé, diplôme}
F = { nom → ville, rue, grade nom, dateVersemant → montantVersé diplôme → grade}
Soit X0 = {nom, dateVersemant}. (Trouver tous lesattributs fonctionnellement dépendant de nom et dateVersemant)X1 = {nom, dateVersement, ville, rue, grade} d'après 1èreDFX2 = {nom, dateVersement, ville, rue, grade,montantVersé} d'après 2ème DFX3 = X2 , il n'existe aucun attribut déterminée par nomet dateVersemant et qui n'est pas déjà dans X2 X+ = X2 = {nom, dateVersement, ville, rue, grade,montantVersé}Fin
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 10 of 23
Réduction de F (algorithme)
Elimination dans F des DFs redondantes(déductibles)
Prendre tour à tour chaque DF ∈ F . Soit X → Y unetelle DF
i.
Considérer A = F sans {X → Y}, et calculer X+ en
utilisant A
ii.
Si Y ∈ X+ alors X → Y est bien redondante (peut être
deduite des autres DF de F ).
iii.
Donc on peut réduire F à A . Reprendre en i.iv.
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 11 of 23
Réduction de F (exemple :-) )
U = {cmptPatient#, médicament, docteur, patient }
F = { cmptPatient# → patient patient → docteur cmptPatient#, médicament → docteur}
Considérons la DF cmptPatient#, médicament → docteurX = X0 = {cmptPatient#, médicament}Examinons les deux 1ères DFs (ensemble réduit)X1 = {cmptPatient#, médicament, patient} d'après 1èreDF .X2 = {cmptPatient#, médicament, patient, docteur} d'après 2ème DFX+ = X2
docteur ∈ X+ , d'où la DF cmptPatient#, médicament → docteur peut être
éliminée de F
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 12 of 23
Réduction de F (couverture minimale )Minimalité des parties gauches des DFs de
F (cf. 2FN)
Si on a A B C → D, est-ce qu'on peut avoir seulement AB → D (par exemple)?
Calculer AB + en utilisant F .Si D ∈ AB + alors on peut remplacer A B C → D par AB → D
i.
Répéter i. pour chaque attribut de partie gauche de
chaque DF de F
ii.
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 13 of 23
Réduction de F (couverture minimale )Exemple
Soit: nom , matricule → prénom matricule → nom
On a
prénom ∈ matricule+.
Donc on garde seulement
matricule → prénom matricule → nom
Définition
On appelle couverture minimale de F ,
F initial réduit des DFs redondantes et oùchaque DF restante est minimale pour sapartie gauche.
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 14 of 23
Recherche des ClésChercher les attributs devant constituer lesclés des relations finales trouvées.
Rappel: une cléAttribut (ou collection) X qui, dans une relation,détermine tous les autres attributs. Unicité.
i.
Aucune partie de X n'a cette propriété. Minimalitéii.Idée
Si un attribut A n'est jamais en partie gauche
d'une DF (de F ) , alors A n'est dans aucune clé.Si un attribut A n'est jamais en partie droite d'une
DF, alors A est dans toute clé (de U )
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 15 of 23
Recherche des Clés(exemples)
U = {cmptPatient#, médicament, docteur, patient, qté }
F = { cmptPatient# → patient patient → docteur cmptPatient#, médicament → qté}
Alors cmptPatient# et médicament sont dans toute clé de
U docteur et qté dans aucune clé
F = {matricule → nom matricule → prénom matricule → dateNaissance nom , prénom →matricule
Alors dateNaissance dans aucune cléAvec les fermetures transitives, on peut montrer que
matricule est clénom n'est pas cléprénom n'est pas clénom , prénom est clé
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 16 of 23
Dernière Etape.Grouper les DFs ayant même partie gaucheFaire une relation pour chaque groupe ainsi obtenu(partie gauche = clé)Rajouter relation clé, si nécessaire (voir exemple)Eliminer relation ayant un schéma inclus dans uneautre [avec même signification].
Résultat
Le résultat ainsi obtenu est en 3FN avec lapropriété de jointure sans perte et quipréserve les dépendances.
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 17 of 23
Exemple :-)Exemple récapitulatif. (PDF)
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 18 of 23
Méthodes de ConceptionAlgorithme de Décomposition
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 19 of 23
Algorithme deDécomposition
S'inspire de la méthode de passage 1FN ... 3FN
On part de U et FSi U est n'est pas en 3FN, on décompose en deux.L'une des relaltions est en 3FN. On reprend 2. pourl'autre.
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 20 of 23
Algorithme deDécompositionPrésentation moins formelle:
U = {emp#, nom, date, salaire, dept, mgr}F = { emp# → nom, dept, mgr dept → mgr emp#, date → salaire } supposé réduit.
On considère dept → mgr. On obtient:Departement (dept, mgr) en 3FN et BCFN Employes (emp#, nom, date, salaire, dept) n'est pasen 2FN. On considère emp# → nom, dept On obtient: Employes (emp# , nom, dept) en BCFN et Hist-Sal (emp# , date , salaire)en BCFN. Stop
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 21 of 23
Algorithme deDécomposition
Exemple complet.
Exemple récapitulatif. (PDF)
L'algorithme de décomposition peut tenir compte desdépendances multivaluées. Ici on a C ->> H S| P G Eet on peut donc décomposer d'abord selon cette DMVet ensuite selon les DFs
Résultat
Il existe des méthodes qui préservent lesdépendances et aboutissent à la 3FN.
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 22 of 23
That's all folks
La Conception de Relations
http://www.emi.ac.ma/~ntounsi/COURS/DB/Polys/Conce... 23 of 23