CHAPITRE II CONCEPTION D'UN SCHEMA RELATIONNEL. [GARD01] Chapitre XVII



Documents pareils
Introduction aux Bases de Données

LE MODELE CONCEPTUEL DE DONNEES

Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

Chapitre 1 : Introduction aux bases de données

A. Définition et formalisme

Modélisation des données

Chap. 3: Le modèle de données entité-association (E.A.)

Comprendre Merise et la modélisation des données

Rappel sur les bases de données

Bases de Données Avancées

Information utiles. webpage : Google+ : digiusto/

Bases de Données. Plan

Cours Base de données relationnelles. M. Boughanem, IUP STRI

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Conception des bases de données : Modèle Entité-Association

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Bases de Données Relationnelles. Le Modèle Relationnel

MASTER II ECONOMIE ET GESTION Spécialité Management des Organisations de la Neteconomie

Modèle conceptuel : diagramme entité-association

Introduction aux Bases de Données

Systèmes d information et bases de données (niveau 1)

DESS CCI Formation Continue. Février Université Louis-Pasteur de Strasbourg Département d'informatique

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

Université de Bangui. Modélisons en UML

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements

UML et les Bases de Données

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz

Bases de données relationnelles

CHAPITRE 1. Introduction aux bases de données

Conception d une base de données

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Modélisation de bases de données : Le modèle relationnel

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

16H Cours / 18H TD / 20H TP

Systèmes de Gestion de Bases de Données

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Introduction aux Systèmes de Gestion de Bases de Données Relationnelles. Olivier Losson

INTRODUCTION : Données structurées et accès simplifié

Conception, architecture et urbanisation des systèmes d information

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Les bases de données Page 1 / 8

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Les bases de données

II. Modèle conceptuel le modèle entité-association

MEGA Database Builder. Guide d utilisation

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Chapitre 1 Généralités sur les bases de données

CESI Bases de données

Chapitre 07 Le modèle relationnel des données

Dossier I Découverte de Base d Open Office

et les Systèmes Multidimensionnels

Merise. Introduction

Bases de données relationnelles & SQL

Cours Gestion de projet

UML (Diagramme de classes) Unified Modeling Language

Jean-Pierre CHEINEY Philippe PICOUET Jean-Marc SAGLIO

Bases de données - Modèle relationnel

Entrepôt de données 1. Introduction

Méthode d analyse Merise

Concevoir un modèle de données Gestion des clients et des visites

Chap. 2: L approche base de données

Cours de bases de données. Philippe Rigaux

Bases de données avancées Introduction

Modèle Entité/Association

IFT2255 : Génie logiciel

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Nom de l application

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Ecole Polytechnique de Louvain INGI Fichiers et bases de données

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Bases de données élémentaires Maude Manouvrier

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel Toulouse Cedex 7

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

RÈGLES DE TRANSFORMATION DU MCD AU MLD (MRD)

Le modèle de données

Bases de données. Chapitre 1. Introduction

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Génie Logiciel avec Ada. 4 février 2013

A QUOI SERVENT LES BASES DE DONNÉES?

Dossier d'étude technique

Diagramme de classes

Modélisation : Entité-Association Pattes de corbeau Relationnel. Plan BD4 : A.D., S.B Des systèmes d'information. Pourquoi?

1 Introduction et installation

GUIDE PRATIQUE MODÈLE CONCEPTUEL DES DONNÉES MODÈLE LOGIQUE DES DONNÉES STANDARD MODÈLE LOGIQUE DES DONNÉES OPTIMISÉ

Importation des données dans Open Office Base

Les diagrammes de modélisation

Mercredi 15 Janvier 2014

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Le niveau conceptuel : la modélisation des bases de données

Principes de la conception des bases de données

Chapitre I : le langage UML et le processus unifié

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Transcription:

CHAPITRE II CONCEPTION D'UN SCHEMA RELATIONNEL [GARD01] Chapitre XVII 27

CONCEPTION D'UN SCHEMA RELATIONNEL - Introduction 1. INTRODUCTION 1.1. Lien entre la base de données et le système d'information (SI) La modélisation du SI, c'est le passage du SI réel à une structure de base de données. Le problème posé est le suivant : Il faut passer de la réalité (objets du monde réel, liens entre ces objets, règles de gestion de ces objets) à une structure "artificielle" basée sur des relations, des attributs et des contraintes d'intégrité 1.2. Deux niveaux de problèmes La modélisation du SI : C'est une opération délicate plus ou moins subjective. Elle est difficile à valider car trop abstraite pour les utilisateurs. Le passage du modèle conceptuel au schéma de la base de données : Il existe un ensemble de règles à respecter pour ne pas perdre d'information (structures, liens, règles de gestion). Il faut éventuellement passer par une phase de simplification. Une phase de transformation. Bases de Données B6 28

CONCEPTION D'UN SCHEMA RELATIONNEL - Notion de modèle 2. NOTION DE MODELE 2.1. Architecture multi-niveaux L'architecture en trois niveaux : conceptuel externe, logique, physique (ou interne), est unanimement reconnue dans toutes les méthodes de conception. Le processus de conception d'une base de données se décompose en quatre étapes ; à chaque étape correspond une structure de données représentative du SI : un modèle. L'indépendance structure de stockage/structure des données : niveau physique => modèle physique niveau logique => modèle logique niveau conceptuel => modèle conceptuel L'indépendance structure des applications/données : niveau externe => modèle externe Les vues relationnelles sont un apport du modèle relationnel : même si le modèle conceptuel change, la vue ne change pas obligatoirement, à moins qu'il n'y ait d'importantes modifications. Dans la réalité, les vues ne sont pas complètement exploitées, on accède le plus souvent directement aux relations. Les vues posent des problèmes de mise à jour car elles ne représentent qu'une vision partielle de la base. Conceptuel Externe Modèle relationnel Modèle physique : dépendant du SGBD 2.2. Le modèle conceptuel Représentation en termes abstraits de l'organisation réelle du SI, il se place en amont du processus de conception de la base. Ce modèle décrit la sémantique du SI : les objets, leur structure et leurs caractéristiques, leurs liens et les règles qui les régissent. Il est dépendant de l'entreprise étudiée. Il fait abstraction de l'environnement matériel et logiciel. Actuellement, les modèles conceptuels de représentation du monde réel sont : Le modèle Entité/Association (formalisme utilisé dans la méthode MERISE) Les modèles objet : unifiés aujourd'hui dans la méthode UML (Unified Modeling Language) 29 Bases de Données B6

CONCEPTION D'UN SCHEMA RELATIONNEL - Notion de modèle 2.3. Le modèle logique C'est la description de l'architecture logique de la base de données, indépendant de son implémentation physique dans un SGBD. Il est dépendant de l'état de l'art. Les modèles actuels : Hiérarchique Réseau Relationnel Il peut être déduit du modèle conceptuel. 2.4. Le modèle physique Il décrit la structure de stockage des données en machine : niveau fichier. Sa construction doit adapter le schéma logique à la configuration matérielle et logicielle en optimisant les performances du système. Il est dépendant du SGBD choisi. Organisations actuelles : Séquentielle Directe Par liste de pointeurs Indexée 2.5. Le modèle externe Vision utilisateur des données de la base, représentation de la perception des données. Construit indépendamment du modèle conceptuel : Il permet de valider ce dernier. C'est la notion de vue dans les SGBD relationnels. Bases de Données B6 30

CONCEPTION D'UN SCHEMA RELATIONNEL - Méthodologie 3. METHODOLOGIE 3.1. Les étapes Définition du modèle conceptuel. Définition du modèle externe : Validation du modèle conceptuel (cf. MERISE) Passage du modèle conceptuel au modèle logique : Obtention du schéma relationnel Normalisation du schéma relationnel. Transformation du modèle externe en vues relationnelles. Passage du modèle logique au modèle physique : Implémentation du schéma relationnel dans le SGBD relationnel choisi. Optimisation du schéma relationnel : Compromis : coût de stockage / coût d'accès 31 Bases de Données B6

CONCEPTION D'UN SCHEMA RELATIONNEL - Le modèle Entité/Association 4. LE MODELE ENTITE/ASSOCIATION [GARD01] Chap. XVII.2 4.1. Les concepts DEFINITIONS Entité : Classe d'objets du monde réel qui, concrets ou abstraits, ont une existence propre. ex : Entité ENSEIGNANT Entité UNITE-VALEUR Propriété : Caractéristiques des objets d'une classe, valeur qui décrit une entité. ex : ENSEIGNANT : nom, prénom, adresse UNITE-VALEUR : code, nom Association : Lien sémantique entre les classes d'objets, regroupement de deux ou plusieurs entités pour décrire une réalité. ex : Un enseignant est responsable d une unité de valeur. Un enseignant intervient pour des unités de valeur. Occurrence : Une occurence d'entité est un objet de la classe. ex : DUPONT, MARTIN,... Une occurence d'association est un lien entre objets. ex : DUPONT est responsable de l unité de valeur Génie logiciel. Clé : Propriété ou ensemble de propriétés permettant d'identifier une occurence unique d'entité. Cardinalité : Nombre d'occurences (x,y) entre une entité et une association : x =nombre minimum d'occurrences 0, 1 y =nombre maximum d'occurrences 1, n (n n'est pas quantifié) ex : Un enseignant doit intervenir dans au moins une unité de valeur. cardinalité (1,n) Bases de Données B6 32

CONCEPTION D'UN SCHEMA RELATIONNEL - Le modèle Entité/Association 4.2. Le formalisme graphique ENSEIGNANT no-enseignant nom prénom adresse Intervenant 1,n 1,n Nbre heures 0,n 1,1 Responsable UNITE-VALEUR code-unité-valeur nom-uv Interprétation : Un enseignant peut être responsable d une ou plusieurs unités de valeurs. Un enseignant doit intervenir dans au moins 1 unité de valeur, pour un nombre d heures déterminé. 33 Bases de Données B6

CONCEPTION D'UN SCHEMA RELATIONNEL - Passage du modèle Entité/Association au modèle relationnel 5. PASSAGE DU MODELE ENTITE/ASS. AU MODELE RELATIONNEL [GARD01] Chap. XVII.3 5.1. Les règles de passage Entité = une relation Propriété = un attribut Clé = clé primaire Association = Ca dépend de la cardinalité des entités dans l'association : Si une entité E est de cardinalité (0,1) ou (1,1), ajout dans E, des clés des autres entités participant à l association et des propriétés de l'association : => L'association devient une clé étrangère Si toutes les entités de l'association sont de cardinalité (0,n) ou (1,n), l'association devient une relation R, les propriétés de l'association deviennent les attributs de R et la clé primaire de R est formée des clés des entités de l'association. REMARQUE Les cardinalités sont très importantes car elles conditionnent la structure de la base (1 association se transforme ou pas en relation). EXEMPLE Cet exemple illustre l'importance des cardinalités : Considérons l'exemple du paragraphe 4.2 : Cas 1 : Si les cardinalités maximum de l'association entre Enseignant et Unité-valeur sont toutes les 2 égales à n, le schéma de la base comprend 3 relations : ENSEIGNANT ( no-ens, nom, prénom, adresse ) UNITE-VALEUR ( code-uv, nom ) INTERVENANT ( #no-ens, #code-uv ) Cas 2 : Si les cardinalités maximum de l'association entre Enseignant et Unité-valeur sont respectivement n et 1, le schéma de la base comprend 2 relations : ENSEIGNANT (no-ens, nom, prénom, adresse) UNITE-VALEUR (code-uv, nom, #no-ens) La requête suivante est exécutée : Recherche des unités de valeur pour lesquelles un enseignant intervient Cas 1 : ENSEIGNANT ( no-ens, nom, prénom, adresse ) INTERVENANT ( #no-ens, #code-uv ) UNITE-VALEUR ( code-uv, nom ) Il faut exécuter 2 jointures Bases de Données B6 34

CONCEPTION D'UN SCHEMA RELATIONNEL - Passage du modèle Entité/Association au modèle relationnel Cas 2 : ENSEIGNANT ( no-ens, nom, prénom, adresse ) UNITE-VALEUR ( code-uv, nom, #no-ens ) Conclusion : Il faut exécuter 1 jointure Suivant le type d'association choisi lors de la phase de conception, il faudra 1 ou 2 jointures pour exécuter la requête, ce qui a une conséquence sur les performances (rappel : les jointures coûtent cher). 35 Bases de Données B6

CONCEPTION D'UN SCHEMA RELATIONNEL - Les extensions du modèle Entité/Association 6. LES EXTENSIONS DU MODELE ENTITE/ASSOCIATION 6.1. Les attributs multi-valués EXEMPLE Un auditeur peut avoir plusieurs prénoms. Règle de passage : Solution 1 : si n valeurs, alors n attributs ex : AUDITEUR (no-auditeur, nom, prénom1, prénom2, adresse) Cette solution n'est possible que si le nombre de valeurs est connu et petit. Solution 2 : création d une relation ex : PRENOMS ( #no-auditeur, prénom ) ou PRENOMS ( #no-auditeur, no-ordre, prénom ) 6.2. Les entités sous-types C est la notion d héritage dans le Modèle Orienté Objet. AUDITEUR no-auditeur nom prénom adresse type-auditeur type-auditeur = 'CONV' type-auditeur = 'INDI' CONVENTION no-convention droits-employeur INDIVIDUEL droits-individuels Règles de passage : Solution 1 : Les entités sous-types deviennent des relations. ex : AUDITEUR ( no-auditeur, nom, prénom, adresse, type-auditeur ) CONVENTION ( #no-auditeur, no-convention, droits-employeur ) INDIVIDUEL ( #no-auditeur, droits-individuels ) Bases de Données B6 36

CONCEPTION D'UN SCHEMA RELATIONNEL - Les extensions du modèle Entité/Association Solution 2 : Les propriétés des entités sous-types migrent dans la relation correspondant à l entité sur-type. ex : AUDITEUR (no-auditeur, nom, prénom, adresse, type-auditeur, no-convention, droits-employeur, droits-individuels) Solution 3 : Les propriétés de l'entité sur-type sont dupliquées dans chaque relation correspondant à une entité sous-type. ex : CONVENTION (no-auditeur, nom, prénom, adresse, no-convention, droits-employeur) INDIVIDUEL (no-auditeur, nom, prénom, adresse, droits-individuels) 6.3. Les identifiants relatifs CENTRE code-centre nom 0,n 1,1 Possède SALLE numéro / CENTRE(code-centre) capacité Règle de passage : La relation de l entité sans identifiant récupère l identifiant de l entité dont elle dépend. ex : CENTRE ( code-centre, nom ) SALLE ( #code-centre, numéro, capacité ) 37 Bases de Données B6

CONCEPTION D'UN SCHEMA RELATIONNEL - La normalisation 7. LA NORMALISATION [GARD01] Chapitres XVII.4, XVII.5, XVII.6 et XVII.7 7.1. Généralités Le concept de normalisation (E.F. Codd-1971) a été le premier moyen d'évaluer la qualité d'un schéma relationnel. Définition d'un bon schéma relationnel : Il faut éviter les incohérences de mise à jour, tout en représentant fidèlement la réalité. Les erreurs à éviter : Les redondances d'attributs non clé. Les relations imbriquées. Deux outils : La décomposition Les dépendances : fonctionnelles (DF) multi-valuées (DMV) de jointure (DJ) 7.2. Exemple d une relation comportant des anomalies Relation CODE-UV NOM-UV TELE-ENS NO-ENS NOM-ENS PRENOM-ENS B6 Bases-données 1 21 DUPONT Paul B1 Réseaux 21 DUPONT Paul B5 Génie-logiciel 1 43 MARTIN Georges B5 Génie-logiciel 43 MARTIN Georges B6 Bases-données 26 DURAND Yves Les anomalies constatées : Duplication de valeurs : NOM et PRENOM NOM-UV La duplication de valeurs pose des d'incohérence pour une valeur dupliquée) problèmes de mise à jour (risque Attributs de valeur nulle : Si une unité de valeur est sans intervenant, NOM et PRENOM sont nuls. Si un enseignant est sans unité de valeur, CODE-UV et NOM-UV sont nuls. Pose des problèmes de manipulation. Bases de Données B6 38

CONCEPTION D'UN SCHEMA RELATIONNEL - La normalisation [GARD01] Chap. XVII.4 DEFINITION 7.3. La décomposition C'est le remplacement d'une relation R(a1, a2,..., an) par un ensemble de relations R1, R2,..., Rn, obtenues par des projections de R, et telles que la relation T, obtenue par jointure des relations R1, R2,..., Rn, ait le même schéma que R. Sert à séparer des relations imbriquées et à supprimer les redondances. La décomposition doit se faire Sans Perte d'informations (SPI) : La relation T doit contenir les mêmes nuplets que R. EXEMPLE Relation R CODE-UV NB-HEU-UV NO-ENS NOM-ENS PERMANENCE B6 50 21 DUPONT mardi B1 100 21 DUPONT jeudi Décomposition 1 (sans perte d informations) CODE-UV NB-HEU-UV NO-ENST PERMANENCE R1 B6 50 21 mardi B1 100 21 jeudi NO-ENS NOM-ENS R2 21 DUPONT R1 R2 = R Décomposition 2 (avec perte d informations) CODE-UV NO-ENS NB-HEU-UV R1 B6 21 50 B1 21 100 NO-ENS PERMANENCE R2 21 mardi 21 jeudi NO-ENS NOM-ENS R3 21 DUPONT R1 R2 R3 R CODE-UV NB-HEU-UV NO-ENS NOM-ENS PERMANENCE B6 50 21 DUPONT mardi B6 50 21 DUPONT jeudi B1 100 21 DUPONT mardi B1 100 21 DUPONT jeudi La notion de perte d'information signifie dans cet exemple, que l'on ne connaît plus le jour de permanence pour une unité de valeur. En fait, la relation obtenue par jointure des relations décomposée contient plus de nuplets que la relation R. 39 Bases de Données B6

CONCEPTION D'UN SCHEMA RELATIONNEL - La normalisation [GARD01] Chap. XVII.5 DEFINITION 7.4. Les dépendances fonctionnelles (DF) Notion de dépendance : Lien de dépendance sémantique entre un attribut (ou ensemble d'attributs) X et un autre attribut (ou ensemble d'attributs) Y. Soit une relation R, un attribut (ou ensemble d'attributs) Y de R est fonctionnellement dépendant d'un attribut (ou ensemble d'attributs) X de R, si et seulement si, dans R, toute valeur de Y est déterminée par une valeur de X : X Y (source) (cible) Un schéma relationnel comprend : un ensemble de relations un ensemble de dépendances fonctionnelles (DF) entre tous les attributs des relations (inter-relations), qui est une représentation fidèle du monde réel. Une relation R : R = nom + <U,F> U = ensemble des attributs de R F = dépendances fonctionnelles sur U EXEMPLE Relation ENSEIGNANT CODE-UV NB-HEU-UV NO-ENS NOM-ENS ADRESSE-ENS B6 50 21 DUPONT Nantes B1 100 21 DUPONT Nantes U = { code-uv, nb-heures-uv, no-ens, nom-ens, adresse } Dans ce SI, il existe des liens de dépendance, des assertions : le nombre d'heures dépend du code-uv, le nom de l'enseignant dépend du numéro d'enseignant... F = { code-uv nb-heures-uv, no-ens nom-ens, no-ens adresse, code-uv no-ens } REMARQUE Les dépendances fonctionnelles sont indépendantes du niveau logique : elles devraient être définies au niveau conceptuel. Elles ne sont pas toujours faciles à identifier, le concepteur doit utiliser son intuition et son expérience. Décomposition avec préservation des DF, sans perte de dépendances (SPD) : La relation T doit posséder le même ensemble de DF que R. DEFINITION La décomposition doit se faire Sans Perte des Dépendances fonctionnelles (SPD) : La relation T doit posséder le même ensemble de DF que R. Bases de Données B6 40

CONCEPTION D'UN SCHEMA RELATIONNEL - La normalisation 7.5. Notion de couverture minimale DEFINITION Elle sert à définir un ensemble minimum F de dépendances fonctionnelles, par rapport à un ensemble complet F + (ou fermeture de F) de dépendances fonctionnelles sur un ensemble d'attributs. La couverture minimale peut ne pas être unique. Propriétés des dépendances fonctionnelles : Réflexivité : Y X => X Y Augmentation : X Y => XZ YZ Augmentation à gauche : X Y => XZ Y Transitivité : X Y et Y Z => X Z Pseudo-transitivité : X Y et YW Z => XW Z Union : X Y et X Z => X YZ Décomposition : X Y et Z Y => X Z Ces règles, dont les axiomes de AMSTRONG (réflexivité, augmentation, transitivité), permettent de déduire de nouvelles DF à partir de DF existantes. Fermeture transitive F + : F + = DF définies par le concepteur + DF déduites par applications successives de la propriété de transitivité F = { code-uv nb-heures-uv, no-ens nom-ens, no-ens adresse, code-uv no-ens } F + = F { code-uv nom-ens, code-uv adresse } Dépendance fonctionnelle élémentaire : Il y a dépendance fonctionnelle élémentaire entre X et Y si X Y et si aucune partie de X ne détermine Y, autrement dit : Il n'existe pas X', avec X' X tel que X Y Un ensemble F de dépendances fonctionnelles élémentaires sur un ensemble d'attributs, vérifie les propriétés suivantes : Aucune DF dans F n'est redondante. Toutes les DF de F appartiennent également à la fermeture transitive F + de F. Dépendance fonctionnelle directe : Il y a dépendance fonctionnelle directe entre X et Y si X Y est élémentaire et s'il n'existe pas Z tel que X Z et Z Y, autrement dit on élimine toute transitivité. 41 Bases de Données B6

CONCEPTION D'UN SCHEMA RELATIONNEL - La normalisation 7.6. Graphe des DF EXEMPLE Code-uv No-ens Nb-heures-uv Nom-ens Adresse Intérêts : Si le graphe est connexe et que tous les attributs de la relation sont présents dans le graphe : La clé primaire de la relation est le sommet du graphe Si le graphe n est pas connexe (plusieurs graphes), les connecter par un sommet à l aide des axiomes d AMSTRONG. La fermeture transitive est immédiate. [GARD01] Chap. XVII.6 DEFINITION 7.7. Les formes normales Ce sont les propriétés que doivent respecter les relations issues d'un processus de décomposition, elles reposent sur la nature des dépendances existant entre la clé de la relation et les autres attributs. Propriétés hiérarchiques : 3 premières formes normales proposées par E.F. CODD 3 ème forme normale de BOYCE-CODD 4 ème et 5 ème formes normales Toutes les relations en 4FN sont en 3FNBC, celles en 3FNBC sont en 3FN,...etc. L'inverse n'est pas vraie. Chaque forme normale élimine un peu plus les anomalies structurelles d'une relation, par des restrictions de plus en plus fortes. Le degré de normalité d'une relation est la forme normale dans laquelle elle se trouve. 7.7.1. La 1 ère forme normale DEFINITION EXEMPLE Une relation R est en 1 ère forme normale, si tout attribut de R contient une valeur atomique : PERSONNE (nom, {prénoms}) n'est pas en 1 ère forme normale PERSONNE (nom, prénom1, prénom2) est en 1 ère forme normale Il n'y a aucune contrainte sur les dépendances fonctionnelles. Bases de Données B6 42

CONCEPTION D'UN SCHEMA RELATIONNEL - La normalisation 7.7.2. La 2 ème forme normale DEFINITION Une relation R est en 2 ème forme normale si et seulement si : Elle est en 1 ère forme normale. Tout attribut n'appartenant pas à une clé (primaire ou candidate), ne dépend pas d'une partie de cette clé. Sinon la relation R contient 2 relations. EXEMPLE ENSEIGNANT ( no-ens, nom, prénom, adresse ) INTERVENANT ( #no-ens, #code-uv, nom-uv, permanence ) F = { no-ens, code-uv permanence, code-uv nom-uv } Un attribut non clé dépend d une partie de la clé Décomposition de INTERVENANT : INTERVENANT ( #no-ens, #code-uv, permanence ) F = { no-ens, code-uv permanence } UNITE-VALEUR ( code-uv, nom-uv ) F = { code-uv nom-uv } Les dépendances fonctionnelles entre la clé et les autres attributs sont élémentaires. 7.7.3. La 3 ème forme normale DEFINITION Une relation R est en 3 ème forme normale si et seulement si : Elle est en 2 ème forme normale. Tout attribut n'appartenant pas à une clé (primaire ou candidate), ne dépend pas d'un attribut (ou ensemble d'attributs) non clé. Sinon la relation R contient 2 relations. Toute relation a au moins une décomposition en 3 ème redondance minimale des données. forme normale, qui exprime une Problème : Il existe plusieurs décompositions possibles, dont certaines avec perte (d'informations et de DF). EXEMPLE RESPONSABLE ( code-uv, #no-ens, nom-ens, nb-heures) F = { code-uv no-ens, no-ens nom_ens, code-uv nb-heures } Un attribut non clé dépend d un attribut non clé 43 Bases de Données B6

CONCEPTION D'UN SCHEMA RELATIONNEL - La normalisation Décomposition de RESPONSABLE : RESPONSABLE ( code-uv, #no-ens, nb-heures ) F = { code-uv no-ens, code-uv nb-heures } ENSEIGNANT ( no-ens, nom_ens) F = { no-ens nom_ens } Les dépendances fonctionnelles entre la clé et les autres attributs sont élémentaires et directes. DEFINITION L algorithme de BERNSTEIN - Méthode par décomposition ou descendante : Permet de décomposer directement une relation R en sous-relations en 3 ème FN. Description : 1. On prend R, sa clé primaire et sa couverture minimale CM. 2. On crée une relation R i regroupant toutes les DF de source X i. 3. On supprime de la couverture minimale les DF de R i. 4. Si la couverture minimale n est pas vide, alors retour en 2. 5. Si la clé primaire de R n est pas incluse dans l une des sous-relation, alors on crée une nouvelle relation ne contenant que la clé primaire de R. EXEMPLE Décomposition d'une relation R par l'algorithme de Bernstein : R ( Cours, Auditeur, Enseignant, Note, Jour, Heure, Salle ) C A E N J H S Clé primaire = AJHS CM = {AE N, JHS E, JHS C, AE C } 1. X i = AE on prend : AE N AE C => relation Cours ( Auditeur, Enseignant, Cours, Note ) CM restante = {JHS E, JHS C} 2. X i = JHS on prend : JHS E JHS C => relation Horaire (Jour, Heure, Salle, Cours, Enseignant) 3. On crée une relation avec la clé primaire de R : R' ( Auditeur, #Jour, #Heure, #Salle ) [GARD01] Chap. XVII.7 DEFINITION 7.7.4. Les dépendances multi-valuées - La 4 ème forme normale Caractérise une indépendance entre 2 ensembles d'attributs X et Y dans une relation R. Un attribut (ou ensemble d'attributs) Y est multi-dépendant d'un attribut (ou ensemble d'attributs) X, si à chaque valeur X dans R correspond un ensemble de valeurs de Y, et cet ensemble est indépendant des autres attributs de R (R-X-Y). Bases de Données B6 44

CONCEPTION D'UN SCHEMA RELATIONNEL - La normalisation La 4 ème forme normale : Une relation R est en 4 ème forme normale, si et seulement si : Elle est en 3 ème forme normale. Elle ne contient pas de dépendances multi-valuées ou si elle possède une dépendance fonctionnelle. Une relation R n est pas en 4 ième forme normale si, elle contient des dépendances multi-valuées et si elle ne possède pas de dépendances fonctionnelles. EXEMPLE Relation AUDITEUR NO-AUDITEUR UNITE-VALEUR SPORT 100 Base de Données Tennis 100 Base de Données Football 100 Réseaux Tennis 100 Réseaux Football 200 Base de Données Vélo 200 Génie Logiciel Vélo 200 Base de Données Football 200 Génie Logiciel Football Elle contient des dépendances multi-valuées (DMV), mais pas de DF permettant de la décomposer comme précédemment : 1 auditeur suit plusieurs unités de valeur. 1 auditeur pratique plusieurs sports. Les attributs unité-valeur et sport sont indépendants car la relation AUDITEUR contient la jointure entre les unités de valeur suivies et les sports pratiqués par un auditeur. AUDITEUR n est pas en 4 ème FN Décomposition : Relation AUDITEUR-UV NO-AUDITEUR UNITE-VALEUR 100 Base de Données 100 Réseaux 200 Base de Données 200 Génie logiciel Relation AUDITEUR-SPORT NO-AUDITEUR SPORT 100 Tennis 100 Football 200 Vélo 200 Football La 5 ème forme normale, peu fréquente, ne sera pas étudiée. 45 Bases de Données B6

CONCEPTION D'UN SCHEMA RELATIONNEL - La normalisation 7.8. Récapitulatif Normalisation au Niveau Conceptuel Recherche des entités et des associations + Définition des règles de gestion Schéma Entité/Association non normalisé? + DF, DMV et DJ Schéma Entité/Association normalisé Schéma Relationnel normalisé Normalisation aux Niveaux Logique et Physique Schéma Entité/Association non normalisé? ou Relation Universelle Schéma Relationnel non normalisé? + DF, DMV et DJ + relations en extension Schéma Relationnel normalisé Bases de Données B6 46