SGBD. Dépendance Fonctionnel et Normalisation d'un Schéma Relationnel

Documents pareils
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

Bases de Données Avancées

Bases de Données. Plan

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

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

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

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

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Année Universitaire 2009/2010 Session 2 de Printemps

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

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

Les bases de données

Le langage SQL Rappels

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

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

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

... /5. Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions.

A QUOI SERVENT LES BASES 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

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

Université Paris-Dauphine DUMI2E 1ère année, Applications

Géométrie dans l espace Produit scalaire et équations

16H Cours / 18H TD / 20H TP

Bases de données - Modèle relationnel

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Algèbre binaire et Circuits logiques ( )

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Master I Génie Logiciel

Bases de données réparties: Fragmentation et allocation

DOCM Solutions officielles = n 2 10.

Date : Tangram en carré page

2.4 Représentation graphique, tableau de Karnaugh

LEXIQUE. Extraits du document AFNOR (Association Française de Normalisation) NF EN ISO 9000 octobre 2005

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

1 Définition et premières propriétés des congruences

Mejdi BLAGHGI & Anis ASSÈS

UML et les Bases de Données

Cours SGBD 1. Concepts et langages des Bases de Données Relationnelles

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Plan. Introduction Eléments de la théorie des systèmes d'informations Les entrepôts de données (Datawarehouse) Les datamart Architecture Modélisation

Merise. Introduction

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

LE MODELE CONCEPTUEL DE DONNEES

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

O, i, ) ln x. (ln x)2

ANALYSE DU BESOIN. L ANALYSE FONCTIONNELLE par Jean-Marie VIRELY & all (ENS Cachan) Cette présentation décrit l outil «Analyse du Besoin».

Thierry Spriet Version rééditée au format PDF et remise en page

Systèmes de Gestion de Bases de Données

Activités numériques [13 Points]

Bases de données relationnelles

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Le théorème de Thalès et sa réciproque

SQL Historique

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

Introduction au Système de Gestion de Base de Données et aux Base de Données

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Introduction aux Bases de Données

INTRODUCTION AU DATA MINING

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

CHAPITRE 1. Introduction aux bases de données

Le Langage SQL version Oracle

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

Problème 1 : applications du plan affine

COURS de BASES de DONNEES

Probabilités sur un univers fini

Pourquoi l apprentissage?

Cours de bases de données. Philippe Rigaux

Langage SQL : créer et interroger une base

Bases de données. Chapitre 1. Introduction

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

1S Modèles de rédaction Enoncés

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

FORMATION ECLAIRAGE PUBLIC

Exo7. Probabilité conditionnelle. Exercices : Martine Quinio

5 ème Chapitre 4 Triangles

Proposition de crédit

A QUOI SERVENT LES BASES DE DONNÉES?

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

Modèle Entité/Association

Intégrité sémantique dans les bases de données relationnelles

6. Les différents types de démonstrations

Indépendance Probabilité conditionnelle. Chapitre 3 Événements indépendants et Probabilités conditionnelles

Conception d une base de données

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

I. Ensemble de définition d'une fonction

Systèmes de Gestion de Bases de Données

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, Cachan Cedex. Resume

DEMANDE D IMMATRICULATION D UN TRAVAILLEUR notice explicative

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

1 Introduction et installation

315 et 495 sont dans la table de 5. 5 est un diviseur commun. Leur PGCD n est pas 1. Il ne sont pas premiers entre eux

Probabilités conditionnelles Exercices corrigés

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

I4 : Bases de Données

Chapitre 2. Eléments pour comprendre un énoncé

Suites numériques 3. 1 Convergence et limite d une suite

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

I. Cas de l équiprobabilité

Transcription:

SGBD Dépendance Fonctionnel et Normalisation d'un Schéma Relationnel

Rappel Dépendance Fonctionnel Soient X et Y, 2 attributs (ou groupes d'attributs) d'une même relation Si Y dépend de X, on dit qu'il y a une dépendance fonctionnelle On note X Y si la valeur de X détermine la valeur de Y

Exemples : Rappel Dépendance Fonctionnel Adresse (nom, ville, codepostal, département) on a codepostal ville mais pas ville département Etudiant (nom, prénom, moyenne, âge, enseignant) (nom, prénom) moyenne (nom, prénom) âge

Propriétés des DF Réflexivité : Y X X Y Augmentation : X Y XZ YZ Transitivité : X Y et Y Z X Z Union : X Y et X Z X YZ Pseudo-transitivité : X Y et W Y Z W X Z Décomposition : X Y et Z Y X Z

Clés Une clé minimale X est un attribut (ou groupe d'attributs) de R dont : X R est identifié de façon unique X est le plus petit ensemble d'attributs qui identifie R Si R possède plus d'une clé minimale, celleci est appelée clé primaire Clé étrangère est un attribut de R qui est clé minimale de S

Clés R(ville, région, code) DFs possibles {ville, région} code code ville {ville} {ville, région, code} {région} {ville, région, code} {ville, région} est la clé minimale de R

Exercices Voiture(modèle, année, fabricant, couleur) Lister les DF qui sont vérifiées Identifier les clés minimales de Voiture Etudiant(numéro, nom, prénom, formation) Lister les DFs qui sont vérifiées Identifier les clés minimales d'etudiant si deux étudiants ne peuvent pas avoir le même nom et prénom laquelle choisirez vous comme clé primaire?

Exercices Une relation R(A,B,C,D,E) satisfait les DF {ABC DE, E BCD} Trouvez toutes les clés de R Une relation R(A,B,C,D) satisfait les DF {AB C, B D, BC A}. Trouvez toutes les clés de R

Normaliser un Schéma Relationnel C'est remplacer un schéma relationnel par un autre schéma "équivalent" (représentant les mêmes données) Toutes les relations du nouveau schéma sont dans une certaine forme normale respectent des règles entre les DFs

But de la Normalisation Une mauvaise répartition des données entre les relations peut occasionner de graves problèmes lors de l'évolution de la base La normalisation des relations permet d'éviter ces problèmes, essentiellement en évitant les redondances Les problèmes viennent en fait des dépendances fonctionnelles internes aux relations

Pratique de la Normalisation Normaliser un schéma relationnel c'est remplacer chaque relation du schéma par des relations qui sont dans la forme normale voulue Le schéma est équivalent si l'union des attributs communs des relations obtenues redonne la relation de départ On extrait les DF internes qui posent des problèmes, en les transférant dans de nouvelles relations

Exemple Soit donné la relation FILM FILM(titre, année, durée, type, studio, acteur) Comment éviter des tuples identifiés par {titre,année} avec différents durées, types ou studios? On sépare la relation en FILM1 et FILM2 FILM1(titre, année, durée, type, studio) FILM2(titre, année, acteur)

Exemple d'éclatement sans Perte de Données EMPLOYE(numéro, nom, département, depid) Peut s'éclater en : EMPLOYE(numéro, nom, depid) DEPARTEMENT(depID, département) Clé Étrangère

Degrés de Normalisation Il existe plusieurs degrés de normalisation : de la 1ère forme normale à la 5ème 1NF - première forme normale 2NF deuxième forme normale 3NF troisième forme normale («minimum») BCNF forme normale de Boyce-Codd 4NF quatrième forme normale 5NF cinquième forme normale Plus le degré est grand, moins on risquera de rencontrer des anomalies lors des mises à jour des données plus les conditions à remplir sont strictes

Hiérarchie des Formes Normales 1NF 2NF 3NF

1NF - Première Forme Normale Toutes les attributs sont atomiques (ne sont pas multivalués) Ex: La pseudo-relation Livre(codeISBN, titre, auteurs) peut être décomposée en 2 vraies relations : Livre(codeISBN, titre) Auteurs(codeISBN, auteur) Multivalué

1NF - Première Forme Normale Il n'existe pas d'attributs répétitifs Étudiant (numéro, nom, adresse, cours1, cours2, cours3) peut être décomposée en 2 vraies relations : Étudiant(numéro, nom, adresse) Cours(numéro, cours)

1NF - Première Forme Normale Chaque attribut a une sémantique précise Ex2 : La pseudo-relation pas très clair Film(titre, année, durée, type, studio, ville) peut comporter différents valeurs pour type genre romance, sci-fi, drame,... couleur, noir et blanc dolby, muet,...

Exercices Transformer l'exemple suivant en 1NF codetudiant Nom Adresse Cours 1214 Deschamps 10 Grande Rue Français, Physique, Latin 1250 Mounié 2 Quai Perrin Economie, Droit, Gestion 1356 Velasquez 52 rue Thiers Mathématique, Physique 1456 Kracoviak 13 avenue de Lyon Informatique, Anglais Quelles sont les désavantages?

2NF - Deuxième Forme Normale Une relation est en 2NF si elle est en 1NF si chaque attribut qui ne fait partie d'aucune clé candidate ne dépend pas d'une partie stricte d'une clé candidate Employé(matr, projet, nome, fonctionprojet) n'est pas en 2NF

Problèmes de Mise à Jour Pour modifier le nom d'un employé, on doit le modifier dans toutes les lignes des projets auxquels participe l'employé On ne peut ajouter un employé qui ne participe à aucun projet On perd toute information sur un employé qui ne participe plus à aucun projet

Normalisation en 2ème Forme On «extrait» les DF gênantes théorème de décomposition sans perte de données : Soit une relation R(A, B, C) où A, B et C sont des ensembles d'attributs disjoints, avec B C, alors R(A, B, C) = R[A, B] * R[B, C] Employé(matr, nome) Participation(matr, projet, fonctionprojet)

Exercice Soit donnée la relation Commande(NoComm, Date, TotalComm, CodClient, NomClient, Adresse, CodProd, DescriptProd, Prix, Quantité, TotalProd) Transformer en 2ème forme normale

3NF Troisième Forme Normale Objectifs de la 3NF éliminer les dépendances partielles ex: Employé(nom, depid, depnom, projet) réduit la redondance d'informations éliminer les dépendances transitives ex: Commande(NumComm,Date,TotalComm, CodClient, NomClient, Adresse) réduit des problèmes d'insertion et suppression

3NF Troisième Forme Normale Une relation est en 3NF si tout attribut qui ne fait pas partie d'une clé minimale ne peut dépendre que d'une clé minimale Employé(matr, nome, dept, nomd) n'est pas en 3NF On obtient un schéma en 3NF par extraction de la DF : Employé(matr, nome, dept) Département(dept, nomd)

BCNF Forme Normale de Boyce-Codd Une relation est en FNBC si les seules sources de DF sont les clés candidates élimine les dépendances partielles élimine les dépendances transitives élimine les anomalies de 3NF R est en BCNF ssi lorsque X A appartient à F+ et que A n'est pas dans X, alors X est une clé de R ex: Membre(nom, adresse, cotisation) F={nom adresse, nom cotisation}

Exemple de Relation PAS en BCNF Introduisons une nouvelle règle de gestion : 2 personnes d'un même département ne peuvent participer à un même projet Cette règle induit la DF suivante : (dept, codep) matr Soit la relation Participation2(dept, codep, matr, fonctionp) Elle est en 3NF mais pas en BCNF

Normalisation en BCNF Si on extrait la DF, on obtient : Participation(matr, codep, fonctionp) Emp(matr, dept) On obtient bien un schéma en FNBC mais on perd la DF (dept, codep) matr Il faut choisir entre avoir un schéma en 3 FN, avec toutes les DF avoir un schéma en FNBC, avec perte de DFd

Conséquences On peut toujours normaliser en 3NF, sans perte de données ni perte de dépendances On peut toujours normaliser en BCNF sans perte de données, mais on peut avoir des pertes de dépendances On est obligé de faire des jointures pour vérifier les règles de gestion liées aux DF perdues Exemple : avec Participation et Emp, à chaque nouvelle participation à un projet, il faut vérifier par programme qu'il n'y a pas déjà un employé du même département dans le projet

Exercice Vérifier si les relations suivantes suivent la 3NF les normaliser dans le cas contraire Commande(NoComm, Date, TotalComm, CodClient, NomClient, Adresse) ListeProds(NoComm, CodProd, Quantité, TotalProd) Produit(CodProd, Description, Prix)

Exercices Faire les exercices de la feuille 1 Foundation Tousceau Équipe Sportive Compagnie Aérienne