La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

METHODE DE CONCEPTION D ’UN SCHEMA RELATIONNEL DE C. DATE & T. CODD

Présentations similaires


Présentation au sujet: "METHODE DE CONCEPTION D ’UN SCHEMA RELATIONNEL DE C. DATE & T. CODD"— Transcription de la présentation:

1 METHODE DE CONCEPTION D ’UN SCHEMA RELATIONNEL DE C. DATE & T. CODD
Professeur Serge MIRANDA Université de Nice Sophia Antipolis Directeur du Dess MBDS de l’ UNSA Méthode pratique (utilisée dans le cours « Administrateur BD » chez IBM) Version Anglaise de cette méthode présentée dans : « RELATION DB : Selected writing », C. DATE, Addison Wesley, 1986 Version française dans : « COMPRENDRE et CONCEVOIR des BD RELATIONNELLES » S. MIRANDA, Editest, 1988 et livre DUNOD 2001

2 APPREHENSION DE LA REALITE ?
1) LOI D ’INCERTITUDE D ’HEIZENBERG (1927) : « Les concepts humains ne pourront pas décrire la réalité (l’observateur déforme) ». 2) THEORIE D ’INDECIDABILITE DE GODEL (1931) : «  Aucun système ne permet de s’auto-décrire (d’où niveau META) »

3 PLAN I INTRODUCTION II L ’APPROCHE SYNTHETIQUE :
Classification des Entités et Définition des « Relations » III L ’APPROCHE ANALYTIQUE Normalisation des relations IV EXEMPLE

4 INTRODUCTION « L ’œuvre d ’art nous apprend que nous n ’avons pas vu ce que nous voyons » Paul Valéry « Pourquoi faire simple quand c ’est si facile de tout compliquer » J.L. Godard

5 LA MODELISATION DES DONNEES
CONCRET INACCESSIBLE UNIVERS REEL MODELE DE DONNEES SCHEMA DE DONNEES ABSTRAIT MANIPULABLE

6 MODELE DE DONNEES ? MODELE DE DONNEES STRUCTRUES OPERATEURS REGLES
D ’INTEGRITE + (THEORIE FORMELLE)

7 MODELE DE DONNEES ? Modèles « Informatiques » (Ex : IMS, DBTG,..) Modèles « Mathématiques » –1980 – 2000 (Ex : Modèle Relationnel, SQL2) Modèles « Sémantiques » – (Ex : Modèles Objet, OR, SQL3) )

8 TYPES PRINCIPAUX D ’ABSTRACTION (Modèles de données « sémantiques »)
AGREGATION : [« PART OF »] PILOTE = {PL#, PLNOM, ADR} GENERALISATION : [« IS - A »] employé pilote hôtesse mécanicien ASSOCIATION/COUVERTURE : [« SET OF »] équipage pilote hôtesse

9 TYPE D ’ABSTRACTIONS ET
MODELE RELATIONNEL La seul abstraction représentée c ’est l ’agrégation « simple » (types simples d ’attributs) Les autres types d ’abstractions : généralisation (IS-A) association/couverture (Set-of) récursivité version de (Version of) doivent être représentées en fonction de l ’agrégation simple. Seul le produit cartésien intervient dans la définition d ’une relation (pas l ’ensemble des parties) Modèle Relationnel de données Agrégation Simple Typage statique (et réduit)

10 METHODOLOGIE DE CONCEPTION D ’UN SCHEMA RELATIONNEL
2 phases conceptuelles Définition d ’un schéma conceptuel avec tous les types d ’abstraction Définition du schéma relationnel avec seulement l ’agrégation simple

11 METHODE DE CONCEPTION D ’UNE BASE
DE DONNEES (RELATIONNELLE) DANS LA PRATIQUE UNIVERS REEL Modèle entité association étendu NIAM Modèle RM-T de Codd MODELE DE DONNEES CONCEPTUEL SCHEMA CONCEPTUEL Avec le maximum d ’informations sémantiques : (agrégation, généralisation, association, récursion) MODELE DE DONNEES LOGIQUE Modèle orientés « réalisation » : Hiérarchique, Réseau, Relationnel SCHEMA LOGIQUE

12 METHODE DE CONCEPTION D ’UNE BASE DE DONNEES RELATIONNELLE :
la méthode « CODD & DATE » UNIVERS REEL APPROCHE SYNTHETIQUE Classification des « Entités » composant l ’univers à modéliser et Génération de « Relations » SCHEMA « RELATIONNEL » APPROCHE ANALYTIQUE Définition de « bonnes » relations au sens de CODD SCHEMA RELATIONNEL NORMALISE

13 OBJECTIF D ’UNE METHODE DE CONCEPTION RELATIONNELLE
Faire cohabiter plusieurs perceptions de l ’univers réel Indiquer simplement quand on doit créer les relations de « base » avec leurs clés primaires Indiquer simplement où placer les clés étrangères dans les relations de base

14 METHODE DE CODD AND DATE DE CONCEPTION D ’UNE SCHEMA
RELATIONNEL 1ère phase : Définition des relations de base/CP et des clés étrangères définition et classification des entités définition des « relations de base » associées avec les : clés primaires clés étrangères identification du schéma relationnel 2ème phase : Définition des « bonnes relations » pour les opérations de mise à jour  normalisation d ’interrogation  dénormalisation

15 I L ’APPROCHE SYNTETIQUE de la méthode de Codd&Dte
I - CONCEPTS DE BASE - Notion d ’Entité et de Clé - Classification des Liens entre entités - Classification des Propriétés - Classification des Entités II - METHODOLOGIE DE CONCEPTION - Présentation générale du processus de conception - Analyse des 4 étapes de la démarche - Conseils méthodologiques III - CAS PARTICULIERS - Représentation du Lien Sous-Type (Généralisation) - Interblocage d ’Initialisation

16 « ROND » ? FORME ? ETAT ? BALLON ? INDIVIDU ?

17 CONCEPTS DE BASE LIEN PROPRIETAIRE 1 m 70 Rouge Bleu Rond DONNEE
TAILLE COULEUR FORME PROPRIETE PERSONNE BALLON ENTITE VOITURE PROPRIETAIRE LIEN

18 CONCEPT STRUCTURE DE BASE
« Tout ce qui est DIFFERENTIABLE » « Any distinguishable object »  « OBJET » (début définition dans composante structurelle) (BD-O2) Identifiant de l ’Entité ENTITE 1 CLE (primaire) Note : La référence à une entité se fera par sa clé Une seule structure conceptuelle RELATION 1 = Ensemble (SET) de « propriétés » Ensemble (SET) de « Valeur/Données » Paradigme VALEUR

19 LES LIENS ? Liens entre structures de données = liens entre ENSEMBLES
« All things are connected » Seattle (chef indien) cité par Ph. Labro (« Un été Américain »)

20 CLASSIFICATION DES LIENS
LIENS FONCTIONNELS N : 1 « DETERMINATION » Soient A et B, deux propriété ou Groupes de Propriétés (Entités) : DETERMINANT DETERMINE N : 1 A B 1 Au plus 1 0.1 ou N Exemples : VILLE_DEPART VILLE_ARRIVEE N : 1 NUMERO_VOL NOM_PILOTE ADRESSE_PILOTE N : 1 NUMERO_PILOTE N : 1 FEMME HOMME MARIAGE (polyandrie)

21 LIENS N : 1

22 LIENS FONCTIONNELS N : 1 « DETERMINATION »
REGLES DE GENERICITE (AMSTRONG) A Réflexivité Transitivité Augmentation du Déterminant N : 1 A N : 1 B C N : 1 D B A Numero_Vol Ville_Depart Heure_Depart

23 LIENS 1 : N

24 LIENS HIERARCHIQUES 1 : N
(inverse des liens N : 1) Soient A et B, deux Propriétés ou Groupes de Propriétés (Entités) : 1:N A B ,1 ou N Au plus Exemples : 1:N PILOTE VOL 1:N FEMME HOMME MARIAGE (polygamie) Règles : Règles de généricité Règles de réciprocité 1:N A B N : 1

25 LIENS N : M

26 LIENS MAILLES N : M Exemples :
Soient A et B, deux Propriétés ou Groupes de Propriétés (Entités) : N : M A B ,1 ou M 0,1 ou N Exemples : N : M PILOTE AVION N : M FEMME HOMME MARIAGE (mariage de groupe) Règles : Règles de généricité Règles de symétrie N : M A B 1:N 1 : M C

27 CLASSIFICATION DES ENTITES (jargon secondaire)
Entités indépendantes ex : PILOTE, AVION, VOL, DEPARTEMENT « STATIQUES » Entités dépendantes d ’autres entités (liens MULTIVALUES) « DYNAMIQUES » « ASSOCIATIVES » N : M Entités représentant un lien N : M ex : VOL représente le lien N : M PILOTE AVION « DESCRIPTIVES » 1 : N Entités dont la seule fonction est de décrire une autre entité (lien 1 : N avec contrainte d ’existence ex : PIL-ENFANT est « descriptive » de PILOTE 1 : N PILOTE PIL-ENFANT 1 : N 1 : N PILOTE VOL , AVION VOL

28 CLASSIFICATION DES ENTITES
« DETERMINANTES » N : 1 (liens MONOVALUES) Quel que soit son type, une entité peut DERMINER (lien N : 1) une autre entité Ex : N:1 PILOTE DEPARTEMENT N:1 N:1 VOL PILOTE , VOL AVION

29 CLASSIFICATION DES ENTITES
Existence perçue indépendante Type de lien Type d ’entité Exemple PILOTE AVION EMPLOYE DEPARTEMENT VOL Statique - OUI Dynamique NON - NON N : M associative VOL (PILOTE, AVION) PIL-ENFANT (la seule raison d ’être de PIL-ENFANT est de décrire les enfants d ’un pilote VOL 1 : N descriptive NON N : 1 Déterminante Un EMPLOYE détermine un DEPARTEMENT Un VOL détermine un PILOTE et un AVION NON Une même entité VOL peut être perçue de 3 manière indépendantes : - statique (et indépendante), - associative, - descriptive

30 TERMINOLOGIE SUR LA CLASSIFICATION
DES ENTITES FR (MIRA88 et MIRA2001 ) GB (DATE86) Kernel Statique Association Associative (N : M) Descriptive (1 : N) Characteristics Déterminante (N : 1) Referencing RM-T de CODD (80)

31 REPRESENTATION GRAPHIQUE DE
WINSBERG (1986) ENTITE STATIQUE PILOTE ENTITE DESCRIPTIVE (Lien 1:N) (N) (1) ENFANT Clé étrangère au niveau de la plume de la flèche AVION ENTITE ASSOCIATIVE (Lien N:M) VOL PILOTE DETERMINATION (LIEN N : 1) DEPARTEMENT (N) (1)

32 REPRESENTATION GRAPHIQUE
SIMPLIFIEE Entité traduite par une relation / table de base Lien N : 1 notation fonctionnelle (rien de plus simple et cohérent) indiquant la présence d ’une clé étrangère au niveau de la plume. (Possibilité d ’étiqueter une flèche par un prédicat bidirectionnel comme avec NIAM dans le cas de l ’existence de plusieurs liens entre les mêmes entités).

33 REPRESENTATION GRAPHIQUE (1986)
EXEMPLE : AIRBASE EMPLOYE (E#) (E#) HOTESSE DEPARTEMENT (D#) Généralisation STEWARD (E#) PILOTE (PL#) (D#, E#) AVION (AV#) (PL#) PILENFANT Agrégation VOL (PL#, AV#) PILFORM (PL#) Entité (correspondant à une relation de base du schéma) La CP est indiquée dans le rectangle.La CE est indiquée en dehors Lien fonctionnel N:1 (présence d ’une clé étrangère au niveau de la plume)

34 PRESENTATION PROPRIETES
Le processus consiste à remplir progressivement un tableau décrivant les entités et leurs propriétés au fur et à mesure de leur définition. Le schéma de Winsberg peut être élaboré parallèlement. PROPRIETES ENTITES IDENTIFICATION clé primaire REFRENCE clé étrangères CARACTERISTIQUES

35 METHODOLOGIE DE CONCEPTION
Démarche Descendante (« TOP-DOWN ») et Itérative 4 Etapes : ETAPE 1 : Définition Des Entités Statiques Représentation des Liens multivalués entre Entités - Liens N : M (Associations) - Liens 1 : N (Descriptions) ETAPE 2 : Lien N : 1 (pas de création d ’Entité ; seul cas mais rajout de clé étrangère) ETAPE 3 : Rattachement des propriétés aux entités. Itération du processus si toutes les information ne sont pas représentées dans le schéma (reprise étape 1) ETAPE 4 :

36 ETAPE 1 : ENTITES STATIQUES
a - IDENTIFICATION des Entités statiques et de leurs clés primaires b - REPRESENTATION « relationnelle » de ces entités : Relation de Base sans Clé étrangère Ex : PILOTE (P PL#) AVION (A AV#) DEPARTEMENT (D DEP#) VOL (VOL#)

37 ETAPE 2 : LIENS MULTIVALUES INTER
ENTITES Identification et Représentation des Liens multivalués (N:M et 1:N) entre Entités 1 - ASSOCIATIONS Liens N : M N:M AVION Ex : PILOTE N:M DEPARTEMENT FOURNISSEUR Création d ’une relation de base avec des clés étrangères identifiant les entités liées Ex : VOL ( VOL#, V-PL#, V-AV# ) FOURN_PROD ( PROD#, FOUR# ) 2- DESCRIPTION Lien 1 : N 1:N VOL Ex : PILOTE Création d ’une relation de base ; rajout de la clé primaire de l ’entité de départ Comme clé étrangère dans l ’entité d ’arrivée ex : rajout de PL# dans VOL (VOL#, V-PL#)

38 ETAPE 3 : LIENS MONOVALUES (N:1)
INTER-ENTITES DETERMINATION Lien N : 1 N:1 PILOTE Ex : VOL N:1 PILOTE DEPARTEMENT Pas de création de nouvelle relation (seul cas). Rajout de la clé primaire de l ’entité déterminée comme clé étrangère dans l ’entité déterminante Ex : Rajout de DEP# dans PILOTE (P PL# , P-DEP#) RAJOUT DE PL# DANS VOL (VOL#, V-PL#) LIENS  PRESENCE DE CLES ETRANGERES +++

39 CLASSIFICATION DES PROPRIETES
3 types de PROPRIETES : IDENTIFICATION Clé Primaire Ex : Numéro-Vol dans l ’entité VOL REFERENCE Clé étrangère Ex : Numéro-Pilote dans l ’entité VOL CARACTERISTIQUE Ex : Ville-Départ, Ville-Arrivée dans VOL

40 ETAPE 4 : PROPRIETES 4 CAS : RATTACHEMENT DES PROPRIETES AUX ENTITES
Une propriété peut-être - Monovaluée ou Multivaluée et - Immédiate (entité de rattachement. Connue) ou Non Immédiate (entité de rattachement inconnue) 4 CAS : Monovaluée/Immédiate Attribut de la relation concernée Ex : PLNOM, P-VILLE dans PILOTE Monovaluée/Non Immédiate Création d ’une nouvelle relation statique (cf.Normalisation 3NF) Ex : CAP dans AVION A_AV# A_TYPAV CAP N:1 N:1 Création d ’une entité statique CAPACITE ( C-TYPAV, CAP) A-TYPAV dans AVION devient Clé étrangère

41 ETAPE 4 : PROPRIETES Multivaluée/Immédiate Multivaluée/Non Immédiate
Création d ’une entité descriptive « toute clé » ou définition de plusieurs attributs (cf. Normalisation INF) Ex : Auteurs d ’un LIVRE LIVRE (LIV#, ………, AUT#1, AUT#2) ou LIV-AUTEUR (LIV#, AUT#) Multivaluée/Non Immédiate Création d ’une entité DESCRIPTIVE représentée par une relation de base avec la clé étrangère de l ’entité décrite. Ex : AGE des enfants d ’un PILOTE On crée l ’entité PILENFANT (E-PL#, PRENOM, AGE) FORMATION et DUREE de formation d ’un PILOTE On crée l ’entité PILFORM (F-PL#, F-TYPAV, FORMAT, DUREE) Note : pour chaque propriété il faut définir son domaine (typage sémantique)

42 ETAPE 4 : TEST SI toutes les informations relatives à l ’univers à modéliser sont représentées dans le schéma ALORS passage à l ’approche analytique SINON nouvelle itération (reprise à l ’étape 1)

43 EXEMPLE : AIRBASE PROPRIETES ENTITES IDENTIFICATION REFRENCE
clé primaire REFRENCE clé étrangères CARACTERISTIQUES PILOTE P-PL# DEP# PLNOM, PL-VILLE AVION AV-AV# A-TYPAV, CAP AV-VILLE DEPARTEMENT D-DEP# DEPNOM VOL VOL# V-PL#, V-AV# VD-VILLE, VA-VILLE HD-HEURE, HA-HEURE PILENFANT ENF#, E-PL# E-EPL# PRENOM, AGE PILEFORM P-TYPAV, F-PL# DUREE, FORMAT F-PL#

44 NOTE : IDENTIFICATION DU SCHEMA
« QU ’y a-t-il en un nom ? Ce que nous nommons ROSE sous un tout autre nom sentirait aussi bon …. ? » W. Shakespeare (Roméo et Juliette)

45 DEFINITION DES CLES PRIMAIRE
R1 : Eviter si possible les clés primaire multi-attributs pour les raisons suivantes : - problèmes d ’utilisation : jointure multi-attribut - problème de définition (pour les relations statiques) si le concept de « domaine primaire » existe ; - problème de visualisation pour éviter les redondances logiques (ex : ETUDIANT (E #, C#, C-OFFERT, NOTE, …….)  Intérêt pour l ’administrateur d ’introduire des clés primaires mono-attributs surtout pour les relations statiques.

46 DEFINITION DES DOMAINES
R2 : Lorsque la comparaison des valeurs de deux attributs a un sens, définir un domaine commun pour ces attributs (union des valeurs possibles)  définition des domaines par l ’administrateur au fur et à mesure de la conception du schéma relationnel. * (choix crucial pour un contrôle sémantique des opérateurs) Note : toute clé étrangère doit avoir le même domaine que la clé primaire associée. R3 : Règle d ’identification des attributs et des domaines 2 cas : 1) s ’il n ’y a pas dans la même relation deux attributs définis sur le même domaine : Nom d ’attribut = nom de domaine 2) si plusieurs attributs de la même relation sont définis sur le même domaine : Nom d ’attribut = nom de domaine préfixé ou suffixé Note : ce programme d ’identification a un double intérêt : 1) avertir l’ utilisateur 2) permettre d ’introduire des domaines fictifs à SQL1 et SQL2 R4 : Noms d ’attribut … unique avec un langage relationnel fermé (ce n ’est pas le cas de SQL)

47 SCHEMA RELATIONNEL AVEC NOTATION CODD & DATE DES ATTRIBUTS /
DOMAINES EXEMPLE : AVION (AV#, AVNOM, CAP, LOC-VILLE) PILOTE (PL#, PLNOM, SAL, ADR-VILLE) VOL (VOL#, V-PL#, V-AV#, VD-VILLE, VA-VILLE, HD-HEURE, HA-HEURE)

48 II L ’APPROCHE ANALYTIQUE de la méthode de Codd&Date
I - PRINCIPE DU PROCESSUS DE NORMALISATION II - LA PREMIERE FORME NORMALE (1NF) III - LES FORMES NORMALES 2NF, 3NF, BCNF, 4NF, 5NF

49 DEFINITION DU SCHEMA RELATIONNEL
NORMALISE 2IEME PHASE DOUBLE OBJECTIF : Chaque relation possède une clé primaire qui représente l ’identifiant d ’un certain type d ’entité ; Chaque relation comprend plusieurs attributs MONOV ALUES qui représentent des propriétés de l ’entité identifiée par la clé primaire (une relation contient donc de l ’information sur un seul type d ’entité). MISE EN 1ière FORME NORMALE EN SUPPRIMANT LES ATTRIBUTS MULTIVALUES ATTRIBUTS « MULTIVALUES » : cardinalité inconnue : traitement comme entité descriptive (lien 1 : N) en créant nouvelle relation : exemple attribut multivalué AUTEUR de l ’entité : LIVRE (L#, TITRE, EDITEUR) LIV-AUTEUR (L#, AUTEUR) cardinalité connue : création nouvel attribut exemple : capacité minimum et maximum d ’un avion AVION (AV#, TYPE, CAP-MIN, CAP-MAX, LOC)

50 ATTRIBUT MULTIVALUE AVEC
CARDINALITE VARIABLE Considérons la relation LIVRE ayant les attributs AUTEUR et MOTCLE multivalués LIVRE L# TITRE EDITEUR ANNEE AUTEUR MOT-CLE BD EN BD JESEPA GO HUMOUR MILO BD VULGARISATION LIVRE L# TITRE EDITEUR ANNEE LIV-AUTEUR L# AUTEUR GO MILO BD EN BD JESEPA LIV-MOTCLE L# MOT-CLE HUMOUR BD VULGARISATION « Simple mais naturel ! »

51 CAS PARTICULIER D ’UN ATTRIBUT
MULTIVALUE LE VECTEUR Deux représentations sont possibles : - orientée tuple (cardinalité fixe) - orientée attribut Prenons l ’exemple des salaires mensuels d ’un pilote 1) Représentation orientée tuple PILOTE PL# PLNOM SAL-JAN SAL-FEV SAL-MARS SAL-DEC Pierre KF KF KF KF Serge KF KF KF KF … … … … … …

52 CAS PARTICULIER D ’UN ATTRIBUT
MULTIVALUE LE VECTEUR 2) Représentation orientée attribut ou création de nouvelles relations : 2.1 (sans création de nouvelle relation) PILOTE PL# PLNOM MOIS SALAIRE 1 Pierre Jan 20 KF 1 Pierre Fev 20 KF 1 Pierre Mars 21 KF … … 1 Pierre Dec 22 KF 2 Serge Jan 17 KF 2 Serge Fev 17 KF 2 Serge Mars 18 KF … … … 2 Serge Dec 19 KF

53 CAS PARTICULIER D ’UN ATTRIBUT
MULTIVALUE LE VECTEUR 2) Représentation orientée attribut ou création d ’une nouvelle relation : 2.2 (avec création d ’une nouvelle relation) PILOTE PL# PLNOM ADR ... 1 Pierre Paris 2 Serge Nice PIL-SAL PL# MOIS SALAIRE 1 Jan 20 KF 1 Fev 20 KF 1 Mars 21 KF 1 Dec 22 KF 2 Jan 17 KF 2 Fev 17 KF 2 Mars 18 KF … ... 2 Dec 19 KF

54 Liens monovalués et formes normales
FORME 2 NF, 3NF, BCNF LIENS N : 1 (monovalués)

55 ILLUSTRATION DU BESOIN DE NORMALISATION SUR UN EXEMPLE
Considérons la relation suivante AVION dont la clé primaire est AV# : AVION AV# AVNOM CAP LOC 100 AIRB TOUL 101 AIRB TOUL 102 AIRB PARIS 103 CAR TOUL 104 B PARIS 105 B PARIS Supposons que l ’on ait la contrainte C1 suivante dans la compagnie aérienne : « tous les avions de même nom ont la même capacité ». Cette contrainte est traduite par le lien N : 1 appelé aussi « dépendance fonctionnelle » suivant : AVNOM CAP Notons que deux avions de noms différent peuvent avoir la même capacité, du fait de l ’existence de cette dépendance fonctionnelle, on a : - une redondance logique - des anomalies de stockage - le problème de reconnexion N:1

56 PROBLEME DE RECONNEXION
Considérons les 2 projections suivantes : AVION1 AV# AVNOM 100 AIRB 101 AIRB 102 AIRB 103 CAR 104 B707 105 B707 AVION2 AVNOM CAP LOC AIRB TOUL AIRB PARIS CAR TOUL B PARIS… AVION3 AV# AVNOM CAP LOC 100 AIRB TOUL 100 AIRB PARIS 101 AIRB TOUL 101 AIRB PARIS AVION3 = AVION1 [AVNOM = AVNOM] AVION2 = AVION La normalisation a pour but : - de supprimer la redondance logique, - d ’éviter les anomalies de stockage, - de résoudre le problème de reconnexions.

57 DEPENDANCE FONCTIONNELLE (DF)
(nom d ’un lien N : 1) Soit X, Y des groupes d ’attributs de la relation R, nous avons une dépendance fonctionnelle de X dans Y notée : f : X Y ou X > Y si t1 (X) = t2(X) alors t1(Y) = t2(Y), avec ti(A) sous-tuple de R correspondant aux attributs A. Pour chaque valeur de X il existe au plus (0 ou 1) une valeur de Y associée (plusieurs valeurs de X peuvent correspondre à la même valeur de X) ; X est appelé « déterminant » et Y « déterminé ». EXEMPLE : Les dépendances fonctionnelles traduisent les contraintes existant dans l ’univers réel : « un pilote habite dans une seule ville » : PL#  ADR « un pilote n ’a qu ’un seul nom » : PL#  PLNOM En conséquence PL# est clé candidate (et primaire) dans la relation PILOTE1 (PL#, PLNOM, ADR) Nous rappelons que la clé primaire est soulignée dans l ’énoncé des attributs de la relation. N : 1

58 THEOREME DE DECOMPOSITION
Ce théorème de décomposition (sans perte d ’information) est souvent appelé théorème de décomposition de CASEY et DELOBEL Soient R(U) et (X, Y, Z) une partition de U avec X Y Alors R(U) = R(U1)(X = X)R(U2) avec U1 = X  Y (union des attributs intervenant dans la DF) U2 = X  Z (union du déterminant, attribut de la jointure, avec les autres attributs de U) EXEMPLE : AVION(AV#, AVNOM, CAP, LOC) avec AV## clé primaire et AVNOM CAP Le théorème de décomposition permet d ’avoir deux relations DF DF AVION1 AVNOM CAP AIRB 250 CAR 100 B AVION2 AV# AVNOM LOC 100 AIRB TOUL 101 AIRB TOUL 102 AIRB PARIS 103 CAR TOUL 104 B PARIS 105 B PARIS

59 SURVOL DES FORMES NORMALES
2NF, 3NF, BCNF Liens N:1 ou 1:1 Liens 1:N ou N:M 4NF (multivalués) INDEPENDANTS Liens 1:N ou N:M 5NF (multivalués) DEPENDANTS avec contrainte de symétrie Principe de localité un seul concept sémantique dans une relation sinon on décompose

60 Définition 3NF Définition de Sharman « Une Relation est en 3NF si tout déterminant d’un lien N:1 est clé primaire »

61 EXEMPLE DE LIENS MULTIVALUES
INDEPENDANTS un pilote conduit plusieurs avions (N:M) un pilote assure plusieurs trajets (VD, VA) (N:M) Ces liens sont indépendants N M N M TRAJET PILOTE AVION TRAJET PILOTE VOL1 VOL1 (PL#, AV#, VD, VA) en 3NF contient 2 liens N:M indépendants AVION Représentation graphique de Winsberg associé à VOL1

62 REPRESENTATIONS POSSIBLES
DISJOINTES VOL1 PL## AV## VD VA Nice Toulouse Paris Nice PRODUIT CARTESIEN [« indépendance »] VOL1 PL## AV## VD VA Paris Nice Nice Toulouse Paris Nice Nice Toulouse Paris Nice Nice Toulouse

63 REPRESENTATIONS POSSIBLES
ALEATOIRE VOL1 PL## AV## VD VA Paris Nice Nice Toulouse Paris Nice COMPRESSE VOL1 PL## AV## VD VA Paris Nice Nice Toulouse

64 DECOMPOSITION POUR ISOLER LES LIENS MULTIVALUES INDEPENDANTS
VOL11 PL## AV## 10 100 10 101 10 102 VOL12 PL## VD VA 10 Paris Nice 10 Nice Toulouse 3NF + pas de lien multivalué indépendant 4NF

65 Contrainte de symétrie
LIEN MULTIVALUE DEPENDANT EXEMPLE : un pilote conduit des avions sur différents trajets …. PILOTE N AVION TRAJET M P VOL 1+ Contrainte de symétrie SI Le pilote P conduit l ’avions A (et) si l ’avion A est utilisé sur le trajet T (et) le trajet T est assuré par le pilote P VOL2 Alors le pilote P conduit l ’avion A sur le trajet T

66 LIEN MULTIVALUE DEPENDANT
VOL2 PL## AV## VD VA 102 Madrid Paris Paris Madrid 100 Madrid Paris Madrid Paris Paris Madrid Isolement de chaque lien inter-dépendant PROJECT VOL21 PL## AV## VOL23 AV## VD VA 11 102 10 100 10 101 Madrid Paris Paris Madrid Madrid Paris Paris Madrid Madrid Paris VOL23 PL## VD VA 11 Madrid Paris 10 Paris Madrid 10 Madrid Paris Exemple : anomalie insertion dans VOL2 : (10, 100, Nice, Toulouse)  insertion (10, 101, Nice, Toulouse)

67 NORMALISATION fonctionnelle multivaluées De jointure Iso-dépendance
4NF + isolement des liens multivalués symétriques interdépendants) Opérateur algébrique pour : -décomposition -recomposition - JOIN - PROJET -UNION - SELECT - DIVISION - PROJECT Dépendance 2NF 3NF BCNF - (3,3)NF fonctionnelle multivaluées 4NF (3,3)NF - De jointure 5NF - - Iso-dépendance - - B-NF

68 EXEMPLES ET CAS PARTICULIERS
PILOTE 1 N PILENFANT PILOTE (PL#, PILNOM, ADR, SAL) PILENFANT (PL#, E#, PILNOM, ADR, SAL) Un pilote comprend les propriété suivantes - monovaluées : PL#, PLNOM, ADR, SAL - multivaluées : E#, AGE, PRENOM de ses enfants

69 EXEMPLES ET CAS PARTICULIERS
COURS 1 N COURS - OFFERT 1 N ETUDIANT COURS (C##, INTITULE) COURS-OFFERT (C##, OFF#, DATE, LOCA) ETUDIANT (C##, OFF##, E##, DIPLÔME) Chaque cours comprend un numéro, un intitulé et un ensemble de valeurs indiquant la date et le lieu où le cours est donné. Chaque cours donné comprend une date, un lieu et un ensemble d ’étudiant suivant le cours. Chaque étudiant comprend un numéro et le nom du diplôme préparé.

70 VOL1 (VOL##, VD-VILLE, VA-VILLE, HD, HA) PAV (VOL##, PL##, AV##)
EXEMPLES et CAS PARTICULIERS EXEMPLE 3 Schéma suivant ? VOL1 (VOL##, VD-VILLE, VA-VILLE, HD, HA) PAV (VOL##, PL##, AV##) :1) VOL est une entité « déterminante » (de PILOTE et d ’AVION) (H1) VOL## (PL##, AV##) Schéma relationnel : VOL (VOL##, AV##, PL##, VD, VA, HD, HA) N:1

71 (lien N:M entre AVION et PILOTE)
EXEMPLES et CAS PARTICULIERS EXEMPLE 3 2) VOL est une entité « associative » (lien N:M entre AVION et PILOTE) (H2) VOL## (PL##, AV##) Schéma relationnel : VOL1 (VOL##, VD-VILLE, VA-VILLE, HD, HA) PAV (VOL##, PL##, AV##) EXEMPLE : avec N = 2 VOL2 (VOL##, PL##CHEF, COPL##, AV##INIT, AV##RECH, VD, VA, HD, HA) avec PL##CHEF : numéro du pilote en chef COPL## : numéro du copilote AV##INIT : numéro d ’avion principal AV#RECH : numéro d ’avion de rechange N : M

72 EMPLOYE (E-E##, ENOM, EADR, SAL) PILOTE (E-P##,… NBHV, SPEC)
EXEMPLES et CAS PARTICULIERS EXEMPLE 4 EMPLOYE (E-E##, ENOM, EADR, SAL) PILOTE (E-P##,… NBHV, SPEC) avec NBHV : nombre d ’heures de vol SPEC : spécialité particulière (principale) HOTESSE (E-H##,… RANG, ANCIEN.) AVION (AV##, AVNOM, CAP, LOC-VILLE) EQUIPAGE (EQ##; P1#, P2#, H1#, H2#, H3#) VOL (VOL##, EQ##, AV##, VD-VILLE, VA-VILLE, HD, HA) Note : en CAMPUS cette double déclaration est impossible ; il faut donc créer une clé primaire multi attribut ; exemple dans la relation HOTESSE la clé serait le couple d ’attribut (H#, RANG).

73 GENERALISATION Considérons l ’entité EMPLOYE de la compagnie aérienne avec l ’extension suivante EMPLOYE E# ENOM SAL NBHVOL RANG STATUT Pierre KF Pilote Serge KF Pilote Elodie KF Hôtesse Martine KF Hôtesse EMPLOYE E# ENOM SAL STATUT Pierre KF Pilote Serge KF Pilote Elodie KF Hôtesse Martine KF Hôtesse PILOTE E# NBHVOL Double Déclaration : « clé primaire et étrangère Elimination de valeurs nulles inapplicables Hotesse E# RANG

74 GENERALISATION INTERROGATION RELATIONNELLE
Autre représentation possible Pour intégrité référentielle EMPLOYE E# STATUT PILOTE PL# PLNOM SAL NBHVOL HOTESSE H# HNOM SAL RANG Intérêt : relation dynamique mettant en jeu un lien avec EMPLOYE INTERROGATION RELATIONNELLE {E#} {PILOTE  HOTESSE} QL relationnel : UNION de jointure sur les clés.

75 RESUME Normalisation : Modification / « NORMALISATION » VS (contre)
Consultation / « DENORMALISATION » 2ième phase : (approche analytique) Normalisation : Définition des « bonnes » relations pour les opérations de mise à jour. - 1ière forme normlae : tout attribut est monovalué (création de nouvelle relations ou de noveau attributs) - 3ième forme normale : tout déterminant d ’un lien N:1 est clé Processus de décomposition réversible (un seul concept sémantique par relation) Règle finale sur le schéma relationnel R1 : « Deux relations indépendantes ne peuvent avoir la même clé primaire sauf si l ’une est aussi clé étrangère ». Cette double déclaration est nécessaire pour prendre en compte la généralisation et résoudre simplement le problème d ’interblocage d ’initialisation. Sur-normalisation (performance d ’accès) Dénormalisation (interrogations privilégiées)

76 VOL (VOL#, Jour, PL#, AV#, TYPE-VOL)
Exemples 2NF, 3NF et BC -NF VOL (VOL#, Jour, PL#, AV#, TYPE-VOL) -Initialisez par des tuples -Montrez les anomalies de stockage -Normalisez VOL#  TYPE-VOL Normalisation 2NF (dépendance partielle sur la clé) PL#  AV# Normalisation 3NF (dépendance transitive) 3) PL#  Jour Normalisation BCNF


Télécharger ppt "METHODE DE CONCEPTION D ’UN SCHEMA RELATIONNEL DE C. DATE & T. CODD"

Présentations similaires


Annonces Google