Conception d’une Base de Données Approche par décomposition et Approche par synthèse
Notion de Dépendance Fonctionnelle (DF) Objectifs des DF Conception du Schéma Logique Aide à la normalisation des relations Définition Soit a et b deux attributs, b est fonctionnellement dépendant de a si à toute valeur de a correspond au plus une valeur de b (notation : ab) Exemples et contre exemple IneEtudiant NomEtudiant IneEtudiant AdrEtudiant NomEtudiant AdrEtudiant
Qualité des dépendances fonctionnelles DF Élémentaire ab est une DF élémentaire si a’a alors a’b n’est pas une DF IdLicence, IdTournoi, IdPrix Résultat est une DF non élémentaire DF Directe ab est une DF directe si il n’existe pas bc et ca tel que ac et cb une DF non directe est déduite par transitivité
Propriétés des dépendances fonctionnelles Réflexivité a attribut de R aa est une DF Transitivité Si ab et bc sont des DF ac est une DF Pseudo-transitivité ab et b,cd DF a,cd DF Additivité (union) ab et ac DF ab,c est une DF Décomposition ab,c DF ab et ac DF Augmentation ab DF et c a,cb DF
Fermeture et couverture minimale d’un graphe F (ensemble de DF) la fermeture de F est l’ensemble de toutes les DF résultant de l’application des propriétés des DF (réflexivité...) Exemple : soit F={ ab ;bc}, F+ est composée de 21 DF en plus (aa ; bb ; ac...) Couverture minimale la couverture minimale est un ensemble minimal de DF (élimination des DF redondantes) Exemple : F = {ab1 ;bc2 ; cd3 ;ad4 ; c,fg5 ; ab,c6 ;a,fg7}, la couverture minimale de F est {ab1 ;bc2 ; cd3 ; c,fg5}
Conception directe du Schéma logique : deux approches possibles Approche par Décomposition Notion de Forme normale Décomposition ou normalisation Approche par Synthèse Étude des DF Construction directe du schéma normalisé
Approche par Décomposition : Normalisation Schéma Ensemble de relations Ensemble de DF Objectifs de la normalisation Classification des relations Minimiser la redondance d’informations Préserver l’intégrité des informations Dénormalisation Diminuer le nombre de relations Réduire les futures jointures
Approche par Décomposition : les formes normales 1e forme normale Tous les attributs non clé sont en DF avec la clé Pas d’attributs tableaux 2e forme normale Déjà en 1e forme normale Toutes les DF issues de la clé sont des DF élémentaires 3e forme normale Déjà en 2e forme normale Toutes les DF issues de la clé sont des DF directes 4e forme normale : test de validité du schéma Déjà en 3e forme normale Pas de DF à l’intérieur d’une clé
Approche par Décomposition : Les étapes de décomposition ETUDIANT Ine Nom Adresse Matières (n) IdMat LibMat IdRespEns NomRespEns Partiels (m) IdPar LibPar Note ETDIANT(Ine, nom, adresse, Matières(IdMat, LibMat, IdRespEns, NomRespEns, Partiels(IdPar, LibPar, Note))) (n) (m)
Approche par Décomposition : Les étapes de décomposition (suite) ETDIANT(Ine, nom, adresse, Matières(IdMat, LibMat, IdRespEns, NomRespEns, Partiels(IdPar, LibPar, Note))) (n) ONF (m) Élimination des attributs tableaux : éclatement des relations imbriquées 1NF ETDIANT(Ine, nom, adresse) MATIERES(Ine,IdMat, LibMat, IdRespEns, NomRespEns) PARTIELS(Ine,IdMat,IdPar, LibPar, Note) Élimination des DF non élémentaires 2NF ../
Approche par Décomposition : Les étapes de décomposition (suite et fin) ETDIANT(Ine, nom, adresse) MATIERES(IdMat, LibMat, IdRespEns, NomRespEns) COURS(Ine, IdMat) PARTIELS(IdPar, LibPar, IdMat) NOTES(Ine,IdPar, Note) 2NF (IdMat est en occurrence avec Ine) Élimination des DF non directes ou transitives ETDIANT(Ine, nom, adresse) MATIERES(IdMat, LibMat, IdRespEns#) ENSEIGNANT(IdRespEns, NomRespEns) COURS(Ine#, IdMat#) PARTIELS(IdPar, LibPar, IdMat#) NOTES(Ine#,IdPar#, Note) 3NF 4NF : OK
Avantages de la Normalisation Non redondance de l’information Pour une matière donnée, on n’enregistre pas toute l’information sur son enseignant responsable Mise à jour facilitée MAJ de l’intitulé d’un partiel : 1 fois Accès identique à toutes les informations Jointures identiques Sécurité de l’information assurée On n’attend pas les notes pour enregistrer les informations sur un partiel Constructions d’une base à partir de fichiers existants
Approche par Synthèse : Présentation Généralités Concevoir ou modifier un schéma Point de départ : F = {ab1 ;bc2, … }, résultat schéma relationnel normalisé : R1[a, b, …]... Étapes Construction de l’ensemble départ des DF Suppression des DF redondantes déduites par transitivité, union et décomposition Regroupement des DF ayant même partie gauche dans des sous ensembles, les DF de type xy et yx doivent être regroupés dans le même sous ensemble
Approche par Synthèse : la démarche 1ére étape : suppression des DF redondantes Déduite par transitivité, union, décomposition Exemple : ab1, bc2, cd3, ad4 la dernière est redondante 2éme étape : regroupement des DF DF ayant même partie gauche sont regroupés dans des sous ensembles DF de type xy et yx doivent être regroupés dans le même sous ensemble 3éme étape : relations (3 NF) Chaque sous ensemble devient une relation dont la clé primaire est la partie gauche des DF du sous ensemble
Approche par Synthèse : Exemple de mise en oeuvre Point de départ : A = {a, b, c, d, e, f, g, h, j, k} F = {ab1 ; ac2 ; a,b,he,g3 ; hj4 ; jk5 ; hk6 ; ba7} 1ére étape : suppression des DF redondantes 6 est redondante car elle peut être obtenue avec 4 et 5 par transitivité : hj ; jk donne hk 1 et 3 permettent de simplifier 3 par pseudo-transitivité ab et a,b,he,g donne a,a,he,g a,a,he,g donne a,he,g3
Approche par Synthèse : Exemple de mise en œuvre (suite) 2éme étape : regroupement des DF même partie gauche E1 = {ab1 ; ac2} ; E2 = { a,he,g3} E3 = {hj4} ; E4 = {jk5} ; E5 = {ba7} xy et yx E1 = {ab1 ; ac2 ; ba7} et E5 = {ba7} 3éme étape : relations (4 NF) R1[a,b,c] R2[a#,h#,e,g] R3[h,j#] R4[j,k]