Material/Sources: Daniel Bardou, Julie Dugdale &

Slides:



Advertisements
Présentations similaires
III. Conception de schéma de base de données
Advertisements

Matière/Sources: Daniel Bardou, Julie Dugdale &
Material/Sources: Daniel Bardou, Julie Dugdale &
Material/Sources: Daniel Bardou, Julie Dugdale &
Génie Logiciel 2 Julie Dugdale
Algorithmes et structures de données avancés
GEF 435 Principes des systèmes d’exploitation
Modèle Entités-Associations
Le modèle logique des données relationnel MLD
La base de données : le modèle relationnel.
Relations avec les entity beans Michel Buffa UNSA
Programme Introduction aux BD et aux SGBD Le modèle relationnel
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
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Initiation au système d’information et aux bases de données
Initiation à la conception des systèmes d'informations
Rappel sur les bases de données et le vocabulaire
Algorithmique et Programmation
Initiation à la conception de systèmes d'information
Introduction à la conception de Bases de Données Relationnelles
Chap 4 Les bases de données et le modèle relationnel
Les formes normales.
Formes Normales Chapitre 19
Modélisation de données (modèle relationnel)
Cas pratique : Interim.
Conception de BD relationnelle
Bases de Données Avancées: Base de données relationnelles
Rappels de logique des prédicats du 1er ordre
1 Formes Normales Chapitre Objectifs Illustrer les redondances dans le stockage de linformation Introduire les dépendances fonctionnelles comme.
Cours de Base de Données & Langage SQL
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
Programmation linéaire en nombres entiers : les méthodes de troncature
Chapitre 3 La normalisation du modèle relationnel
Optimisation de requêtes
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
DOSSIER G10 – La base de données Relationnelle
Structures de données avancées : Concepts du Multidimensionnel D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Bases de données : modèlisation et SGBD
Cours n°1 Introduction, Conception
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Méthode d’analyse et de conception
Systèmes de gestion de BD
Introduction avec Access Quinio Nanterre 2008
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.
Structures de données avancées : MLH (Multidimensional linear hashing) D. E ZEGOUR Institut National d ’Informatique.
ANALYSE LE MCD 1ère approche
ANALYSE LE MCD 1ère approche
Résolution des équations différentielles
INTRODUCTION AUX BASES DE DONNEES Modèle entités-relations
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 Dépendances et normalisation Exercices Université Panthéon-Assas Paris 2 L2 Economie-Gestion.
Introduction Module 1.
Le modèle logique des données relationnel
Cours 11 Entrepôts de données
ACCESS SGBDR Relations Objets. Gestion de Fichiers        données MS applications Independance enregistrement Programme: manipule une.
LP1 ACCESS SGBDR Relation Objets. Caractéristiques des SGBDR Organisation SI système de pilotage Institutions Clients Concurrence Fournisseurs système.
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
I. Concepts des bases de données Bases de données   J-L Hainaut Motivation et introduction 5. Les SGBD 2. Concepts des bases de données 3.
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
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.
Bases de données   J-L Hainaut I. Concepts des bases de données 1. Motivation et introduction 5. Les SGBD 2. Concepts des bases de données 3.
Transcription de la présentation:

Material/Sources: Daniel Bardou, Julie Dugdale & Base de Données 2 Cours 5 partie 2 Julie Dugdale Julie.dugdale@upmf-grenoble.fr Material/Sources: Daniel Bardou, Julie Dugdale & Vanda Luengo

Sommaire La normalisation Buts de la normalisation Formes normales Première forme normale Deuxième forme normale Troisième forme normale Forme normale de Boyce-Codd Algorithme de Normalisation Algorithme de Normalisation – Exemple Entre Fonctionnel et Opérationnel Dénormalisation

Normalisation - Résumé Définition: Le processus de restructurer le modèle de données logiques pour : Eliminer les redondances, Organiser les données efficacement, Réduire le potentiel d'anomalies pendant les opérations sur les données.

Normalisation - Résumé Chaque nouvelle forme normale marque une étape supplémentaire de progression vers des relations présentant de moins en moins de redondance Le but.. est d'obtenir une représentation des données présentant un minimum de redondance à l'intérieur de chaque relation et un maximum d'indépendance entre les différentes relations

Normalisation : 3FN - Résumé Définition : troisième forme normale: Une relation est en troisième forme normale si : - elle est en deuxième forme normale ; - tout attribut n'appartenant pas à une clé ne dépend pas d'un attribut non clé. - cad toute DF dont la partie droite n’est pas une clé doit avoir une partie gauche qui est une clé : A, B, C B, C OK

Algorithme de Normalisation

Algorithme de Normalisation L’algorithme de conception de schéma relationnel en 3NF Théorème: Tout schéma relationnel peut se décomposer en schémas sous 3ième forme normale avec préservation des Dépendances Fonctionnelles Il existe divers algorithmes de décomposition (nous n’en étudierons qu’un « classique » dû à Bernstein

Algorithme de Normalisation 4 étapes 1. Calculer DF-, une Couverture Irredondante Minimale (une CIM) de DF, en enlevant: A) les redondances des attributs de partie gauche Est-ce que AB → D a des attributs redondants dans la partie gauche? Est-ce que cela pourrait être remplacé par B → D ou A → D? B) les dépendances redondantes (transitivité) Si A dépend de B et B dépend de C, alors A dépend aussi de C 2. Regrouper en DFi- les dépendances fonctionnelles de DF- ayant même partie gauche.

Algorithme de Normalisation 3. Pour chaque DFi-, construire un schéma relationnel Ri avec l’union des attributs de DFi- 4. Trouver les clés de DF-. Si aucune de ces clés n’est contenue dans au moins un des Ri, alors il faut rajouter un schéma relationnel Rk = {Ki K->K} avec K un clé candidate. Résultat : Toutes les Ri sont 3NF!

Algorithme de Normalisation: Exemple On considère la relation R(A, B, C, D, E) et l’ensemble de dépendances fonctionnelles suivant DF= {A -> BC, CD -> E, B -> D, A -> D, BE -> D} D'abord mettre DF sous forme canonique: (partie droite atomique)… DF = {A -> B, A -> C, CD -> E, B -> D, A -> D, BE -> D}

Algorithme de Normalisation: Exemple Souvent utile de dessiner un graphe des dépendances fonctionnelles de DF: DF = {A -> B, A -> C, CD -> E, B -> D, A -> D, BE -> D} A B C D E

Algorithme de Normalisation: Exemple 1. Calculer un couverture irredondante DF- (une CIM) de DF, en enlevant: A) les redondances des attributs de partie gauche B) les dépendances redondantes (transitivité) DF = {A -> B, A -> C, CD -> E, B -> D, A -> D, BE -> D} A) Elimine BE -> D (car on a déjà B->D) B) Elimine A -> D (car on a déjà A->B et B->D) Donc, DF- = {A -> B, A -> C, CD -> E, B -> D}

Algorithme de Normalisation: Exemple Utile: graphe des dépendances fonctionnelles de DF: A) Elimine BE -> D (car on a déjà B->D) B) Elimine A -> D (car A->B et B->D) Donc, DF- = {A -> B, A -> C, CD -> E, B -> D} A B C D E

Algorithme de Normalisation: Exemple 2. Regrouper les dépendances fonctionnelles de DF- ayant même partie gauche, en DFi- DF- = {A -> B, A -> C, CD -> E, B -> D} DF1- = {A -> B, A -> C} DF2- = {CD -> E} DF3- = {B -> D}

Algorithme de Normalisation: Exemple 3. Pour chaque DFi-, construire un schéma relationnel Ri avec l’union des attributs de DFi- DF1- = {A -> B, A -> C} DF2- = {CD -> E} DF3- = {B -> D} R1 = {A, B, C} R2 = {C, D, E} R3 = {B, D}

Algorithme de Normalisation: Exemple 4. Trouver les clés de DF-. Si aucune de ces clés n’est contenue dans au moins un des Ri, alors il faut rajouter un schéma relationnel Rk = {Ki K->K} avec K un clé candidate. Clés = seule candidate = A A appartient à R1 => OK R1 = {A, B, C} R2 = {C, D, E} R3 = {B, D} Résultat: Toutes les Ri sont 3NF!

Processus global de conception de base de données On a supposé que le schéma R est donné R pourrait avoir été généré pendant la conversion du diagramme E-A en un ensemble de tableaux. R pourrait avoir été une seule relation contenant tous les attributs ayant un intérêt. La normalisation découpe R en des relations plus petites. R pourrait avoir été le résultat d'une conception ad hoc de relations, qu'on teste/convertit alors vers une forme normale.

Modèle ER et normalisation Quand un diagramme E-A est conçu avec soin, identifiant toutes les entités correctement, les tableaux générés à partir du diagramme E-A ne devraient pas nécessiter de plus de normalisation. Cependant, dans une conception réelle (imparfaite), il peut y avoir des dépendances fonctionnelles d'attributs non-clé d'une entité vers d'autres attributs de l'entité Exemple : une entité employé avec les attributs numéro_département et adresse_département, et une dépendance fonctionnelle numéro_département  adresse_département Une bonne conception aurait fait du département une entité

Entre Fonctionnel et Opérationnel Quelques conseils  Il ne faut jamais oublier qu’il y aura des utilisateurs de la base. Il faut par conséquent être fonctionnel et opérationnel. Fonctionnel : une base avec beaucoup de tables est difficile à gérer. Il faut optimiser les tables dans leur structure (recherche de clefs étrangères). Opérationnel : pour les traitements, les relations de type CIF (contrainte d'intégrité référentielle) sont à privilégier.

Dénormalisation

Dénormalisation On appelle dénormalisation l'introduction volontaire de redondance répondant principalement à des conditions d'efficacité. Exemple; Soit le schéma relationnel suivant: Article(NumArt, desigArt, prixArt) Commande(NumCom,DateCom, NumCli) Ligne_Commande(NumCom,NumArt,Qtite) Client(NumCli,NomCli,AdrCli)

Dénormalisation Supposons que le marketing (pour l’émission de mailing) soumet très fréquemment à la base des requêtes de la forme: Quels sont les adresses des clients ayant passé commande de tel(s) article(s) -> On doit à chaque fois vérifier dans 4 tables pour donner la réponse * Article(NumeroArticle2, designationArticle1, prixArticle) * Commande(NumeroCommande5,DateCommande, NumeroClient6) * Ligne_Commande(NumeroCommande4,NumeroArticle3,Qtite) * Client(NumeroClient7,NomClient,AdresseClient8)

Dénormalisation Si on met l'attribut designationArt dans Commande on a besoin de deux tables ..Redondance mais efficacité Article(NumeroArticle, designationArticle, prixArticle) * Commande(NumeroCommande,DateCommande, NumeroClient2, designationArticle1) Ligne_Commande(NumeroCommande,NumeroArticle,Qtite) * Client(NumeroClient3,NomClient,AdresseClient4)