Bases de Données Avancées: Base de données relationnelles

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Modèle Conceptuel des données
Bases de Données Avancées: Bases de Données Relationnelles
III. Conception de schéma de base de données
Material/Sources: Daniel Bardou, Julie Dugdale &
Material/Sources: Daniel Bardou, Julie Dugdale &
Normalisation d’une relation COURS PECA Frédéric Gava (MCF)
Un modèle conceptuel Le modèle Entité-Association Frédéric Gava (MCF)
Modèle Entités-Associations
Le modèle logique des données relationnel MLD
Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 3) Validation et transformations.
Le Modèle Relationnel (Chapitre 4)
Règles de normalisation du MCD
Le Modèle Logique de Données
Algèbre relationnelle
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
La base de données : le modèle relationnel.
Le modèle logique (Relationnel) de données
Méthodes de conception
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Le modèle entité / associations MCD (Modèle Conceptuel des Données)
Normalisation relationnelle
Bases de Données Plan du cours : Année : 2009/10 A - Généralités :
Initiation au système d’information et aux bases de données
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Initiation au système d’information et aux bases de données
Analyse et Conception des Systèmes d’Informations
Développement d’applications web
Contrôles d'accès aux données
Rappel sur les bases de données et le vocabulaire
B.Shishedjiev - Modèle relationnel
Initiation à la conception de systèmes d'information
Modélisation E/R des Données
Chap 4 Les bases de données et le modèle relationnel
Les formes normales.
VI-1 Introduction VI-2 Représentation d’état
Formes Normales Chapitre 19
Modélisation de données (modèle relationnel)
L’utilisation des bases de données
Conception de BD relationnelle
Etude globale de système.
MODELE RELATIONNEL concept mathématique de relation
1 Formes Normales Chapitre Objectifs Illustrer les redondances dans le stockage de linformation Introduire les dépendances fonctionnelles comme.
Table de hachage Introduction Notion de clé Fonction de hachage
Normalisation. RELATION NORMALE Une relation est dite normale si aucun des domaines qui la composent n'est lui-même une relation. En d'autres termes,
Initiation aux bases de données et à la programmation événementielle
Initiation à la conception des systèmes d'informations
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Sous-espaces vectoriels engendrés
Chapitre 3 La normalisation du modèle relationnel
Bases de données.
Programmation linéaire en nombres entiers
Conception d’un diagramme EA Frédéric Gava (MCF) LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue.
DOSSIER G10 – La base de données Relationnelle
Bases de données : modèlisation et SGBD
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Systèmes de gestion de BD
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Notion de Dépendance Fonctionnelle (DF)
Normalisation des BD. Normalisation d’un schéma relationnel  Une mauvaise répartition des données dans les relations peut engendrer :  Des problèmes.
LDAP (Lightweight Directory Access Protocol)
Initiation aux bases de données et à la programmation événementielle
LES FORMES NORMALES Les trois premières formes normales ont pour objectif de permettre la décomposition de relations sans perdre d’informations. Elles.
INTRODUCTION AUX BASES DE DONNEES Dépendances et normalisation
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Introduction Module 1.
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20041 Cours n°2 La conception d ’un schéma relationnel (suite) Chantal Reynaud Université.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
Transcription de la présentation:

Bases de Données Avancées: Base de données relationnelles Dr. Rim Samia Kaabi Bases de Données Avancées: Base de données relationnelles 31 mars 2017

Normalisation d’une BD Relationnelle Plan Normalisation d’une BD Relationnelle

Normalisation des relations Collection des attributs cas des «projets» Collection des attributs NoEmp : numéro d’un employé Nom : nom d’un employé Année : année d’embauche d’un employé NoDep : n° de département Intitulé : nom d’un département Taille : nombre d’employés d’un département NoResp : n° de l’employé responsable d’un département NoProj : n° d’un projet NoChef : n° d’ l’employé chef d’un projet Temps : % de temps qu’un employé passe sur un projet

Normalisation des relations Pourquoi tel ensemble de relations, plutôt que tel autre ? Exemple 1 : RE1(NoEmp, NoDep, Nom, Intitulé,Taille) RT1(NoEmp, NoProj,NoDep,Intitulé, Année, Temps, NoResp) RP1(NoProj, NoChef) Exemple 2 : RE2(NoEmp, NoDep, Nom, Année, Intitulé, NoResp) RD2(NoDep, Taille) RT2(NoEmp, NoProj, Temps, NoChef) Exemple 3 : Relation universelle RU(NoEmp, NoProj, NoChef, Temps, Nom, Année, NoDep, Intitulé, Taille, NoResp)

Normalisation des relations Point de départ : relation universelle R1 = RU RU(NoEmp, NoProj, NoChef, Temps, Nom, Année, NoDep, Intitulé, Taille, NoResp)

Normalisation des relations Inconvénients d’un mauvais choix de relations: redondances lourdeur des modifications maintient de la cohérence difficile 1ère méthode de normalisation : Amélioration de la «qualité» du schéma, par projections successives.

Normalisation des relations Notion de dépendance fonctionnelle liens sémantiques entre les données élémentaires.  Nous nous limiterons aux dépendances fonctionnelles (DF) : elles traduisent les liens sémantiques les plus fréquents et qu’elles sont suffisantes pour définir les trois premières formes normales.

Normalisation des relations : Dépendances fonctionnelles Définition : il existe une dépendance fonctionnelle entre deux groupes d’attributs A et B d’une relation R si à toute valeur de A on ne peut associer, à tout instant, qu’une et une seule valeur de B. On dit alors que B dépend (fonctionnellement) de A (noté A ®B). A est la source de la DF et B le but. On dit aussi que A détermine (fonctionnellement) B. Exemple : soit la relation EMPLOYE, il existe une DF entre NoEmp et Nom indiquant qu’un employé repéré par son numéro n’a qu’un seul nom : NoEmp ®Nom.

Normalisation des relations : Dépendances fonctionnelles Remarque : les attributs formant la clé d’une relation doivent déterminer par DF tous les autres attributs de cette relation. Propriétés des DF : · réflexivité : B Í A Þ A ®B. (A = B donne A ®A) · transitivité : A ® B et B ® C Þ A ® C. · pseudo-transitivité : A ® B et B, D ® C Þ A, D ® C. · additivité : A ® B et A ® C Þ A ® B, C. · décomposition : A ® B, C Þ A ® B et A ® C.

Normalisation des relations : Dépendances fonctionnelles Définition : une DF est dite triviale si elle peut se déduire par les axiomes de réflexivité ou d’augmentation. Définition : une DF A ® B est dite élémentaire s’il n’existe aucun C Í A tel que C ® B. Définition : une DF A ® B est dite directe s’il n’existe aucun C tel que A ® C et C ® B (i.e. elle ne peut être obtenue par l’axiome de transitivité).

Normalisation des relations : Dépendances fonctionnelles Exemple : NoEmp, Nom ® Année n’est pas élémentaire car NoEmp ® Année (qui elle par contre est élémentaire). Exemple : La DF NoEmp ® NoResp n’est pas directe car elle peut être obtenue par transitivité comme suit : NoEmp ®  NoDep ® NoResp.

Normalisation des relations : 1ère forme normale Définition : une relation est en première forme normale (1FN) si elle possède une clé et que tous ses attributs sont atomiques. Un attribut atomique est un attribut n’ayant à un instant donné qu’une seule valeur ou ne regroupant pas un ensemble de valeurs. Une conséquence de la 1FN est que tout attribut ne doit pas être lui-même une relation. Exemple1 : dans la relation PERSONNE1(NoPers, Patronyme), patronyme regroupe 2 propriétés distinctes nom et prénom. Exemple2: dans la relation PERSONNE2(NoPers, Nom, Prénoms), prénom correspond en fait à une liste.

Normalisation des relations : 1ère forme normale Exemple1 : relation PERSONNE1(NoPers, Patronyme), : PERSONNE1bis est en 1FN

Normalisation des relations : 1ère forme normale Exemple3 : relation ACHATS(NoCli, CA) permettant d’enregistrer le montant du CA des dernières années réalisé avec les clients : : PERSONNE1bis est en 1FN

Normalisation des relations : 1ère forme normale « seulement » en 1FN Þ risque d’anomalies lors de mises à jour. Par exemple, avec la relation R1 : · rien sur un employé avant au moins une affectation à un projet (clé de R1 constituée de NoEmp et NoProj); · pb inverse si on supprime un projet terminé : perte d’informations propres à l’employé; · modification d’une donnée sur un employé Þ tous les tuples le concernant doivent être modifiés

Normalisation des relations : 1ère forme normale D’où viennent ces problèmes ? la connaissance d’une valeur de NoEmp et de NoProj identifie de manière unique un tuple de la relation. clé = NoEmp + NoProj Û l’attribut Temps dépend fonctionnellement du couple formé par les deux attributs NoEmp et NoProj, c’est-à- dire de l’ensemble de la clé, les attributs Nom, Année, NoDep ne dépendent fonctionnellement que d’un seul attribut de la clé (NoEmp). De même NoChef ne dépend que de NoProj.

Normalisation des relations : 2ème forme normale Définition : une relation est en deuxième forme normale (2FN) si elle est en 1FN et que toute DF entre la clé et les attributs non-clés est élémentaire. Remarque : ceci revient à dire que tout attribut non-clé doit dépendre fonctionnellement de l’ensemble de la clé. Il faut donc éviter la configuration suivante :

Normalisation des relations : 2ème forme normale R1 n’est pas en 2FN car : NoEmp, NoProj ® Temps NoEmp ® Nom, Année, NoDep NoProj ® NoChef Þ on «éclate» R1 en trois relations élémentaires : R2(NoEmp, Nom, Année, NoDep, Intitulé, Taille, NoResp) R3(NoEmp, NoProj, Temps) R4(NoProj, NoChef)

Normalisation des relations : 2ème forme normale extensions des 3 relations en 2FN :

Normalisation des relations : 2ème forme normale D’où viennent ces problèmes ? Encore des problèmes en cas de mise à jour (cohérence, modification multiple de la même chose) Seulement 2FN Û Exemple : dans la relation R2 : R2(NoEmp, Nom, Année, NoDep, Intitulé, Taille, NoResp). Si le numéro du responsable d’un département change, il faut faire la modification dans tous les tuples concernés.

Normalisation des relations : 3ème forme normale A quoi est dû ce problème ? A une DF transitive (NoEmp ® NoDep ® NoResp). Définition : une relation est en troisième forme normale (3FN) si elle est en 2FN et que toute DF entre la clé et les attributs non-clés est directe. Remarque : ceci revient à dire qu’il n’existe aucune DF entre deux attributs non-clés. Il faut donc éviter :

Normalisation des relations : 3ème forme normale En particulier pour R2 on a : NoDep ® Intitulé, Taille, NoResp Solution : décomposer R2 en R5 et R6 de manière à mettre en évidence la DF NoDep ® NoResp : R5(NoEmp, Nom, Année, NoDep) R6(NoDep, Intitulé, Taille, NoResp)

Normalisation des relations : 3ème forme normale Cela donne les tableaux suivants : On obtient finalement les quatre relations en 3FN suivantes : · R3(NoEmp, NoProj, Temps) i.e. TRAVAILLE · R4(NoProj, NoChef) i.e. PROJET · R5(NoEmp, Nom, Année, NoDep) i.e. EMPLOYE · R6(NoDep, Intitulé, Taille, NoResp) i.e. DEPART

FNBC Forme normale de Boyce-Codd (BCNF) 2FN: élimine les anomalies crées par des dépendances entre parties de clé et attributs non clé 3FN: élimine les anomalies crées par des dépendances entre les attributs non clés Quid des dépendances de parties de clés entre elles ou d’attributs non clés vers une partie de clé????  BCNF

FNBC Forme normale de Boyce-Codd (BCNF) Une relation est en BCNF ssi les seules DFs élémentaires sont celles dans lesquelles une clé entière détermine un attribut R (K1, K2, X, Y)  R doit être décomposée en R1(K1,K2,X) et R2(Y,K1)

FNBC: exemple Localisation (cru, pays, region, qualité) Avec les dépendances: Cru, pays  region Cru, pays  qualité Region  pays Localisation n’est pas en BCNF mais en 3FN Décomposition possible: CRUS(cru, pays, qualité) REGION (region, pays)  Non en BCNF

Décomposition Enseignement Enseignement (NomEtud, Matière, Prof) Soit la décomposition: T1 (Prof, Matière) T2 (NomEtud, Prof) T1 + T2 : sans perte d ’information mais avec perte de la DF: (NomEtud, Matière) Prof il faut ajouter la C.I.: un étudiant suit une matière donnée avec un seul professeur

3FN: définition plus générale Plusieurs identifiants et DF élémentaire A->B Cond1: A est un identifiant Cond2: B fait part d'un identifiant FNBC si Cond1 3NF (plusieurs identifiants) si Cond1 OR Cond2 Fournisseur (N°fourn, nom-fourn, N°produit, prix) N°fourn nom-fourn prix N°produit

Dépendance multivaluée BCNF n’est pas suffisante pour éliminer complètement les redondances Dépendance multivaluée: Etudiant (ne, cours, sport) Pas de DF  DM x y On dit qu’il y a DM de y sur x si étant donné des valeurs de x, il y a un ensemble de valeurs de y associées à cet ensemble est indépendant des autres attributs

Dépendance multivaluée (exemple) Vol(NV, Avion, Pilote) NV Avion NV Pilote

4 FN La 4FN est une généralisation d la BCNF destinée à décomposer les relations ayant des DM élémentaires Une relation est en 4FN ssi les seules dépendances multivaluées élémentaires sont celles dans lesquelles une super clé détermine un attribut Soit Etudiant(NE, Cours, Sport) n’est pas en 4FN car NE Cours et NE Sport (la clé est l’ensemble des attributs et il existe des DM élémentaires entre des attributs participants à la clé )

4 FN permet de séparer des faits indépendants qui auraient été réunis dans une même relation exemple: il existe plusieurs cours tout cours peut être assuré par plusieurs professeurs tout cours possède un ensemble de livres de référence alors cours (intitulé, nom-prof., titre-livre) donne une représentation très redondante, qu’il convient de remplacer par décomposition

{Aberer, Spaccapietra} 4FN: exemple Cours intitulé nom-prof titre-livre RDB {Aberer, Spaccapietra} {Ullman, Date} cours (intitulé, nom-prof., titre-livre) RDB Aberer Spaccapietra Ullman RDB Date RDB Ullman RDB Date

4 FN: exemple cours (intitulé, nom-prof., titre-livre) décomposition: cours-p (#intitulé, #nom-prof.) cours-1 (#intitulé, #titre-livre) Formalisation: dans cours (intitulé, nom-prof., titre-livre) il existe une dépendance multivaluée Intitulé nom-prof, titre-livre ou Intitutlé nom-prof Intitulé titre-livre Une relation est en 4FN s’il n’existe pas de dépendance multivaluée qui ne soit pas une dépendance fonctionnelle

4FN: définition formelle Soit une relation R (x,y,z) z pouvant être vide Il y a Dépendance multivaluée (DM) x ---->> y si à toute valeur de x correspond un ensemble de valeurs de y qui est totalement indépendant de z Remarque: DF est un cas particulier de DM R est en 4 FN si elle est en 1ère FN et si toute DF ou DM de R a pour source un identifiant entier de R Remarque: 4 FN implique BCNF (FNBC)

Dépendance de jointure La notion de DM a conduit à décomposer les relations en 4FN Est-ce suffisant pour éliminer les problèmes de redondances et anomalies?

Cinquième Forme Normale (5FN) Permet de décomposer une relation en faits élémentaires exemple: Vins (buveur, cru, producteur) Peut être décomposable en V1 (buveur, cru) V2 (buveur, producteur) V3 (cru, producteur) Avec Vins = V1 |X| V2 |X| V3 On dit qu’il y a dépendance de jointure

5 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)

5 NF R est en 5 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 -->> B | C

5 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 ?