IFT3030 Base de données. Chapitre 7 Conception de bases de données. Plan du cours



Documents pareils
Modélisation des données

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

Bases de Données Avancées

Introduction aux Bases de Données

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Université de Bangui. Modélisons en UML

Rappel sur les bases de données

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

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

A. Définition et formalisme

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

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

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

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

Modèle Entité/Association

Chapitre 5 LE MODELE ENTITE - 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

Modèle conceptuel : diagramme entité-association

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

LE MODELE CONCEPTUEL DE DONNEES

Information utiles. webpage : Google+ : digiusto/

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

UML et les Bases de Données

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

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

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

Comprendre Merise et la modélisation des données

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

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

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

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

16H Cours / 18H TD / 20H TP

Bases de données. Chapitre 1. Introduction

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

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

1 Modélisation d une base de données pour une société de bourse

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

Conception d une base de données

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

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

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

Chapitre 1 : Introduction aux bases de données

UML (Diagramme de classes) Unified Modeling Language

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

Méthode d analyse Merise

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

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

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Introduction aux Bases de Données

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

CHAPITRE 1. Introduction aux bases de données

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

Cours de bases de données. Philippe Rigaux

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

Entrepôt de données 1. Introduction

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

OBJECTIFS ET ARCHITECTURE DES SGBD

Les diagrammes de modélisation

Systèmes de Gestion de Bases de Données

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

Architecture d'entreprise : Guide Pratique de l'architecture Logique

IFT2255 : Génie logiciel

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

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

Chapitre 07 Le modèle relationnel des données

TP Bases de données réparties

Chapitre I : le langage UML et le processus unifié

Année Universitaire 2009/2010 Session 2 de Printemps

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

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

A QUOI SERVENT LES BASES DE DONNÉES?

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

Bases de données relationnelles

Mercredi 15 Janvier 2014

IFT3030 Base de données. Chapitre 1 Introduction

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

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

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

UML (Paquetage) Unified Modeling Language

Pourquoi l apprentissage?

Bases de données avancées Introduction

Base de Données et Langage SQL

Bases de données Cours 1 : Généralités sur les bases de données

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

Mejdi BLAGHGI & Anis ASSÈS

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

Séance 1 Introduction aux bases de données

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Stéphane Crozat NF17 3. Travaux Dirigés 3. Université de Technologie de Compiègne Génie Informatique

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

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

Cadre de gestion du modèle gouvernemental conceptuel de données Architecture d entreprise gouvernementale 3.0

CREATION WEB DYNAMIQUE

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

Algorithmes d'apprentissage

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Transcription:

IFT3030 Base de données Chapitre 7 Conception de bases de données Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées avancés Modèle des objets BD à objets 2 1

Introduction Problème de la conception Associer une structure logique aux données. En d'autres termes, trouver les relations et leurs attributs Techniques Dépendances fonctionnelles Les formes normales Le modèle Entité-Association 3 Dépendances fonctionnelles (DF) Définition Un groupe d'attributs Y dépend fonctionnellement d'un groupe d'attributs X, si et seulement si la connaissance d'une valeur de X permet de connaître sans ambiguïté la valeur correspondante de Y On dit également que X détermine Y Exemple Matricule Nom (NV, NB) Quantité NAS (Nom, Prenom) Nom Code_permanent 4 2

Dépendances fonctionnelles (DF) Règles d'inférence d'armstrong Réflexivité Y X X Y (NV, NB) NB Augmentation X Y XZ YZ Type Puissance (Type, Marque) (Puissance, Marque) Transitivité X Y et Y Z X Z Mat Type et Type Puissance Mat Puissance 5 Dépendances fonctionnelles (DF) Règles additionnelles Union X Y et X Z X YZ NAS Nom et NAS Prenom NAS (Nom, Prenom) Pseudo-transitivité X Y et WY Z WX Z Mat Type et (Marque, Type) Puissance (Marque, Mat) Puissance Décomposition X Y et Z Y X Z NAS (Nom, Prenom) NAS Nom 6 3

Dépendances fonctionnelles (DF) Dépendance fonctionnelle élémentaire C'est une dépendance fonctionnelle de la forme X A, où A est un attribut unique tel que A X et où il n'existe pas X' X tel que X' A Seule propriété qui s'applique aux dépendances fonctionnelles élémentaires est la transitivité Pourquoi pas les autres? 7 Dépendances fonctionnelles (DF) Graphe de dépendances fonctionnelles élémentaires Exemple NV CRU NV MILL NB NOM (NV, NB) QTE NOM NB NV CRU MILL QTE 8 4

Dépendances fonctionnelles (DF) Fermeture transitive Soit D, un ensemble des dépendances fonctionnelles élémentaires, la fermeture transitive de D est l'ensemble D enrichi de toutes les dépendances fonctionnelles élémentaires obtenues par transitivité Exemple D = { NV Type ; Type Marque ; Type Puiss ; NV Couleur } D + = D U { NV Marque ; NV Puiss } Conséquence : Deux ensembles de DFs élémentaires sont équivalents s'ils ont la même fermeture transitive 9 Dépendances fonctionnelles (DF) Couverture minimale Soit un ensemble de dépendances fonctionnelles élémentaires D pour un ensemble d'attributs A, D est une couverture minimale si Toute DF f n'est pas redondante (D - f n'est pas équivalant à D) Toute DF élémentaire de A est dans la fermeture transitive D + Tout ensemble de DFs élémentaires a une couverture minimale Cette couverture peut ne pas être unique 10 5

Dépendances fonctionnelles (DF) Couverture minimale Exemple D = { NV Type ; Type Marque ; NV Couleur ; NV Marque ; NV Puiss ; (Type, Marque) Rabais ; NV Rabais} Couverture minimale : CV(D) = { NV Type ; Type Marque ; NV Couleur ; NV Marque ; NV Puiss ; (Type, Marque) Rabais ; NV Rabais} 11 Dépendances fonctionnelles (DF) DF et notion de clé Soit R (A 1, A 2,, A n ) une relation, X {A 1, A 2,, A n } est une clé de R si X A 1 A 2 A n Il n'existe pas Y X, tel que Y A 1 A 2 A n Conséquence On peut dériver le schéma d'une relation en partant de la liste des dépendances fonctionnelles sur un ensemble d'attributs 12 6

Les trois premières formes normales Introduction Les trois premières formes normales ont pour objectif de décomposer des relations sans perte d'information. Cette décomposition s'appuie sur la notion de dépendance fonctionnelle 13 Les trois premières formes normales Première forme normale Une relation est en première forme normale (1NF) si tous ces attributs ont des valeurs atomiques Règles de décomposition Personne(nom, prenoms) Personne1(nom, prenom1) Personne2(nom, prenom2) Ou Personne (nom, prenom1, prenom2) 14 7

Les trois premières formes normales Deuxième forme normale Une relation est en deuxième forme normale (2NF) si Elle est en première forme normale Tout attribut n'appartenant pas à la clé, ne dépend pas d'une partie de la clé Règle de décomposition R(K1, K2, X, Y) DFs : (K1, K2) X et K2 Y R1(K1, K2, X) et R2(K2, Y) 15 Les trois premières formes normales Deuxième forme normale Exemple Fournisseur(nom, article, adresse, prix) DFs : (nom, article) prix et nom adresse Fournisseur(nom, adresse) Produit(nom, article, prix) 16 8

Les trois premières formes normales Troisième forme normale Une relation est en troisième forme normale (3NF) si Elle est en deuxième forme normale Tout attribut n'appartenant pas à la clé, ne dépend pas d'un attribut non clé Règle de décomposition R(K1, X, Y, Z) DFs : K1 X, K1 Y, K1 Z, et X Z R1(K1, X, Y) et R2(X, Z) 17 Les trois premières formes normales Troisième forme normale Exemple Voiture(NV, marque, type, puiss, couleur) DFs : NV marque, NV type, NV puiss, NV couleur, type marque et type puiss Voiture(NV, type, couleur) Modele(type, marque, puiss) 18 9

Les trois premières formes normales Troisième forme normale Propriété Si une relation R est décomposé en un ensemble de relations R1, R2,, Rn, La fermeture transitive des DFs de R est a même que celle de l'union des DFs de R1, R2,, Rn. On dit que la décomposition préserve les DFs 19 Algorithme de décomposition 3FN Considérer tout les attributs comme faisant partie d une seule relation (relation universelle) Appliquer les transformations de normalisation pour obtenir des relations en 3FN 20 10

Algorithme de synthèse en 3FN Soit A un ensemble d attributs et D l ensemble des dépendances fonctionnelles définies sur A Synthese Trouver une couverture minimale F de D Conserver dans F les seules dépendances élémentaires AR := A Tant que F non vide Faire GenererRelation() Fin Faire Creer une relation avec les attributs restants dans AR Fin Synthese 21 Algorithme de synthèse en 3FN GenererRelation. Trouver dans F le plus grand ensemble d attributs X qui en détermine d autres. AC := {Ai X Ai}. Generer la relation RC ayant pour attributs X U AC et pour clé X. F := F AC. AR := AR AC Fin Synthese Exemple : A = {a, b, c, d, e, f, g, h, i, j, k, l} D = {e fi k, (a,d,e) fi i, a fi b, (b,c) fi h, k fi i, a fi f, (b,c) fi f, e fi l, (a,d,e) fi j, (b,c) fi g, c fi h, a fi c} 22 11

Forme normale de Boyce-Codd Une relation est en forme normale de Boyce-Codd (BCNF) si et seulement si les seules DFs élémenaires sont celles dans lesquelles un clé entière détermine un attribut Règle de décomposition R(K1, K2, X, Y) DFs : K1, K2 X, K1, K2 Y et Y K1 R1(K1, K2, X) et R2(Y, K1) 23 Forme normale de Boyce-Codd Exemple Localisation(Cru, Pays, Region, Qualite) DFs : Cru, Pays Region Cru, Pays Qualite Region Pays Crus(Cru, Pays, Qualite) Region(Region, Pays) Remarque : BCNF ne préserve pas les DFs. Exemple "Cru, Pays Region" est perdue 24 12

Modélisation sémantique Permet de modéliser les donnés En utilisant différents formalismes exemples : E/A, UML, Une conception de bases de données qui commence par la modélisation sémantique est dite conception descendante (conception allant du plus haut niveau vers le plus bas niveau) 25 Modèle Entité/Association Généralités Appelé également Entité/Relation Proposé par Chen en 1976 Englobe à l'origine un nombre restreint de concept (entité, association, propriété) Diverses extensions ont été proposé par la suite (contraintes, généralisation agrégation, ) 26 13

Entité "Une chose qui peut être identifiée distinctement" Par abus de langage, on confond entité et type d'entité Exemples : Concrètes : voiture, employé, Abstraites : projet, cours Mais, mariage??? 27 Entité (suite) On distingue souvent Entité régulière Entité faible dont l'existence dépend d'une autre entité Exemple Employé. Entité régulière Personne_a_charge. Entité faible dont l'existence dépend de celle de l'entité Employé 28 14

Entité (suite) Représentation graphique Nom de l'entité ou Employe Projet Nom de l'entité 29 Propriété Les entités possèdent des propriétés qui les décrivent Appelées également Attributs Exemples : Pour Employé, matricule, nom, adresse, mais pas le numéro de département 30 15

Propriété Elle peut être Simple ou composée âge (simple) adresse (composée) Un identificateur (ou clé) code_permanent mono ou multi-valuée nom (mono-valuée) prénom (multi-valuée) 31 Propriété Elle peut être Manquante valeur inconnue non applicable (date_mariage pour un célibataire) De base ou dérivée nom (base) ancienneté (dérivée de la date d'embauche et de la date d'aujourd'hui) Quantité totale (dérivé de la somme des quantités) 32 16

Propriété Représentation graphique propriété Parfois, on utilise cette notation pour les propriétés multi-valuées Nom Employe Matricule propriété Parfois, on utilise cette notation pour les identificateurs Prenoms Adresse ident Rue Ville CP 33 Association Est une relation entre entités Même abus de langage entre association et type d'associations Exemple Participe_dans entre Employé et projet Récolte entre Producteur et Vin Comme une entité, elle peut posséder des propriété 34 17

Association Elle est dite binaire si elle relie uniquement deux entité, ternaire si elle en relie trois, etc. Chaque participant (entité) possède un rôle dans l'association Elle peut être réflexive Exemple : est_mariée_à entre personne et personne 35 Association Cardinalités Indiquent le nombre maximal et minimal d'occurrences d'une association pour une occurrence d'un participant. Par exemple pour l'association contrôle entre département et projet un département contrôle 0 ou plusieurs projet un projet est contrôlé par un et un seul département Les différentes possibilités sont 0,1 ; 1,1 ; 0,N ; 1,N 36 18

Association Représentation graphique Pers_à_ch association Période Parfois, on utilise cette notation pour une association impliquant une entité faible association Professeur 0,1 A_dirigé 1,N Département 1,1 Est_tuteur 0,N Employé 0,N 1,1 Supervise 37 Un exemple complet DDN Nom N_emp local Pren. Lien NAS Nom Adr Rue Ville Pers_à_ch 1,1 Est_tuteur 1,1 0,N Employé 0,N 1,1 Supervise Est_affecté Date Dirige 0,1 1,N Participe 1,N 1,1 1,N N_heures Département 1,N Contrôle 0,1 Projet Num Nom budget 38 19

Conception de la base de données E/A vers relationnel Entité Chaque type d'entité devient une relation. Son identificateur devient la clé et les propriétés deviennent des attributs. Les propriétés multi-valuées sont transformées conformément à la 1NF Matricule Prenoms Nom Employe Employe(Matricule, Nom, Prenom) 39 Conception de la base de données E/A vers relationnel Association plusieurs à plusieurs {0,N 1,N} vers {0,N 1,N} Chaque type d'associations devient une relation Les identificateurs des participants deviennent la clé de la relation NAS Session Sigle Etudiant 0,N 1,N Suit Cours Inscription(NAS, Sigle, Session) NAS et Sigle sont des clés étrangères également 40 20

Conception de la base de données E/A vers relationnel Association un à plusieurs {0,1 1,1} vers {0,N 1,N} Chaque type d'associations se traduit par un ajout d'une clé étrangère NAS Nom_D Employé 1,1 1,N Est_aff Dept Employé(NAS,, Nom_D) Cas particulier d'une association impliquant une entité faible (contrainte CASCADE) 41 Conception de la base de données E/A vers relationnel Association un à un {0,1 1,1} vers {0,1 1,1} Chaque type d'associations se traduit par NAS Une fusion des deux relations correspondantes Un ajout de clé étrangère dans l'une ou les deux relations. Num Employé 1,1 1,1 Occupe Bureau Option 1 : Employé(NAS,, Num) Option 2 : Employé(NAS,, Num) Bureau(Num,, NAS) 42 21

Conception de la base de données E/A vers relationnel Convertir le modèle suivant en Relationnel DDN Nom N_emp local Pren. Lien NAS Nom Adr Rue Ville Pers_à_ch 1,1 Est_tuteur 1,1 0,N Employé 0,N 1,1 Supervise Est_affecté Date Dirige 0,1 1,N Participe 1,N 1,1 1,N N_heures Département 1,N Contrôle 0,1 Projet Num Nom budget 43 22