82
Bases de données Introduction à la conception d’un schéma relationnel avec la Méthode de Codd et Date Professeur Serge Miranda [email protected] Directeur Master « MBDS » www.mbds-fr.org et www.youtube.com/mbdsimagine

Bases de données - MBDS · Bases de données Introduction à la conception d’un schéma relationnel avec la Méthode de Codd et Date Professeur Serge Miranda [email protected]

  • Upload
    doannga

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Bases de données Introduction à la conception d’un schéma relationnel avec la

Méthode de Codd et Date

Professeur Serge Miranda

[email protected]

Directeur Master « MBDS »

www.mbds-fr.org et

www.youtube.com/mbdsimagine

Copyright Serge Miranda

Livre et Exemple

Copyright Serge Miranda

Plan

Rappels sur le modèle relationnel de CODD

(les 10 Concepts fondamentaux)

Approche intuitive d’une méthode de conception relationnelle et critique du « modèle entité –association »

La Méthode de conception de Codd and Date

- Phase 1 : Approche Synthétique

- Phase 2 : Approche analytique : La Théorie de « normalisation »

l’Espace des « 5 Formes Normales »

La « Dénormalisation »

Copyright Serge Miranda Ryoan Ji Garden (KYOTO)

Copyright Serge Miranda

Intérêt du modèle relationnel de

Codd

Vue simple des données - tables

(pouvant être non naturelle)

Langage de requête non procédural : « SAT » (SET at a TIME)

(dont l ’opération fondamentale est la JOINTURE)

Copyright Serge Miranda

« Schéma » et « modèle de données »

?

UNIVERS REEL

MODELE DE DONNEES

SCHEMA

DE

DONNEES

ABSTRAIT MANIPULABLE

CONCRET INACCESSIBLE

Copyright Serge Miranda

Modèle de données ?

STRUCTURES

MODELE DE

DONNEES

OPERATEURS

REGLES D ’INTEGRITE

(+ théorie formelle)

Familles de Modèles de

données

-« Informatiques » - 1968-

1988 (Ex : IMS,

DBTG,..)

- « Mathématiques » –

1980 – 2000 (Ex :

Modèle Relationnel,

SQL2)

- « Sémantiques » –1990-

2010 (Ex : Modèles

Objet, OR, SQL3)

Copyright Serge Miranda

Modèle Relationnel de CODD (les 10 concepts de

base) et PARADIGME VALEUR

Définitions « Domaines »

« Relations » (« ensemble » ou « prédicat »)

Clé Primaire / Clé Etrangère

Contrôle : Règles d’intégrité De domaines

De relation

De référence

Manipulation ensembliste : algèbre de Codd (langage « fermé, complet et orthogonal ») Opérateurs ensemblistes

Opérateurs relationnels : SELECTION, PROJECTION, JOIN et DIVISION

Copyright Serge Miranda

Critiques du modèle Entité

Association pour la construction d’un

schéma relationnel

2 Concepts flous « Entité » et « association » (

Méthode MERISE !) et un seul concept

(formel) cible : la « RELATION »

Promesses approche « OBJET » : 1 seul concept

flou !

Méthode pragmatique intuitive proposée par

Codd et Date

Copyright Serge Miranda

Approche « intuitive » de conception

relationnelle

« 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

Copyright Serge Miranda

Un peu de modestie dans

l’appréhension de la réalité…

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) »

Copyright Serge Miranda

Principaux types d’abstraction ?

AGREGATION : [« PART OF »]

PILOTE = {PL#, PLNOM, ADR}

GENERALISATION : [« IS - A »]

employé

pilote hôtesse mécanicien

Copyright Serge Miranda

Principaux Types d’abstraction

ASSOCIATION/COUVERTURE : [« SET OF »]

équipage

pilote hôtesse

Modèle

Relationnel

de données

Agrégation

Simple

Typage statique (et réduit)

Copyright Serge Miranda

Type abstraction et modèle

relationnel de Codd 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)

Copyright Serge Miranda

Définition d’un schéma relationnel ?

2 phases conceptuelles

Définition d ’un schéma conceptuel avec tous les types

d ’abstraction

Traduction dans un schéma relationnel avec seulement

l ’agrégation simple

Utilisation d’un Modèle de données plus riche que le modèle

relationnel : NIAM, OBJET, Modèle RM-T de Codd, ..

SCHEMA CONCEPTUEL

Copyright Serge Miranda

Objectifs d’une méthode 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

Copyright Serge Miranda

III Méthode de Conception de

CODD and Date 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 e

livre DUNOD 2002

Copyright Serge Miranda

Les 2 phases de la Méthode de Codd

et Date 1ère phase : Définition des relations de base/CP et des clés étrangères

définition et classification des « entités »/ »Relations »

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

Copyright Serge Miranda

Plan Phase 1 de la Méthode de Codd

and Date 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

Copyright Serge Miranda

Les concepts de base : « DONNEE »

(data) ?

« ROND » ?

Forme ?

Etat ?

Ballon ?

Individu ?

ROND est la forme d’un ballon de foot ?

Copyright Serge Miranda

Structures de données intuitives

1 m 70 Rouge Bleu Rond DONNEE

TAILLE COULEUR FORME PROPRIETE

VOITURE

PROPRIETAIRELIEN

PERSONNE BALLON ENTITE

Copyright Serge Miranda

Notion d’ « Entité/relation » de la

méthode de Codd and date

ENTITE 1

CLE (primaire)

« Tout ce qui est

DIFFERENTIABLE »

« Any distinguishable object »

« OBJET » (début définition dans composante structurelle)

(BD-O2)

Identifiant de l ’Entité (la Clé Primaire)

Note : La référence à une entité se fera par sa clé

Une seule structure conceptuelle : RELATION

Copyright Serge Miranda

Constructeur SET dans la définition

ENTITE ?

SET OF propriétés

PROPRIETE

SET OF données (« valeurs » ; « data »)

PARADIGME « VALEURS » et « ENSEMBLISTE »

(SET OF) du modèle relationnel

Les « LIENS » sont les « LIENS ENSEMBLISTES »

Copyright Serge Miranda

Les « LIENS » ?

« All things are connected »

Seattle (chef indien)

LES LIENS entre structures de données sont des

« LIENS ENSEMBLISTES »

Copyright Serge Miranda

Liens ensemblistes ?

Les Liens «fonctionnels » N:1 ?

LIENS « FONCTIONNELS » N : 1 de

« DETERMINATION »

Soient A et B, deux propriété ou Groupes de Propriétés (Entités) :

DETERMINANT DETERMINE

A B

N : 1

1 Au plus 1

0.1 ou N 1

= « FONCTIONS » en Mathématiques

Les plus importants dans un schéma relationnel !! (agrégation

« simple »)

Copyright Serge Miranda

Liens « fonctionnels » « N:1 »

EXEMPLES

NUMERO_VOL

N : 1 VILLE_DEPART

VILLE_ARRIVEE

NUMERO_PILOTE

N : 1 NOM_PILOTE

ADRESSE_PILOTE

HOMME

N : 1 FEMME

MARIAGE (polyandrie)

Copyright Serge Miranda

Règles de généricité pour les liens

N:1

REGLES DE GENERICITE (AMSTRONG)

Réflexivité

Transitivité

Augmentation du Déterminant

A

A B CN : 1

N : 1

N : 1

D

AB

Numero_Vol Ville_Depart

Numero_Vol Ville_Depart

Heure_Depart

Copyright Serge Miranda

Liens « hiérarchiques » 1:N

Inverse des liens … « N:1 » :

A B

1:N

1 0,1 ou N

Au plus 1 1

Exemples :

PILOTE1:N

VOL

HOMME

1:N FEMME

MARIAGE (polygamie)

A B

1:N

N : 1

Copyright Serge Miranda

Liens « maillés » N:M

A B

N : M

1 0,1 ou M

0,1 ou N 1

Exemples :

PILOTEN : M

AVION

HOMME

N : M

FEMME

MARIAGE (mariage de groupe)

Règle de Symétrie des liens

N:M :

A B

N : M

1:NC1 : M

Copyright Serge Miranda

Classification des entités/liens dans

la méthode de Codd and Date

« STATIQUES »Entités indépendantes

ex : PILOTE, AVION, VOL, DEPARTEMENT

« DYNAMIQUES »Entités dépendantes d ’autres entités (liens MULTIVALUES)

« ASSOCIATIVES » N : M

Entités représentant un lien N : M

ex : VOL représente le lien N:M

PILOTE AVION

N : M

« DESCRIPTIVES » 1 : NEntités dont la seule fonction est de décrire une autre entité

(lien 1 : N avec contrainte d ’existence)

Ex : AVION VOL, PILOTE- VOL

Copyright Serge Miranda

Classification (fin)

« DETERMINANTES » N : 1 (liens MONOVALUES)

Quel que soit son type, une entité peut DERMINER (lien N : 1) une autre entité

Ex :

PILOTE DEPARTEMENT

N:1

VOL PILOTE

N:1

VOL AVION

N:1

,

NOTE : Une même entité VOL peut être perçue de 3 manière indépendantes :- « statique (et indépendante) », - « associative », - « descriptive » !!!

Copyright Serge Miranda

Terminologie GB (Modèle RM-T)

FR (MIRA88 et MIRA2002 ) GB (DATE86)

Statique Kernel

Associative (N : M) Association

Descriptive (1 : N) Characteristics

Déterminante (N : 1) Referencing

RM-T de

CODD (80)

Copyright Serge Miranda

REPRESENTATION GRAPHIQUE DE

WINSBERG (1986)

ENTITE STATIQUEPILOTE

ENFANT

ENTITE DESCRIPTIVE (Lien 1:N)

(N) (1)

Clé étrangère au niveau de la plume de la flèche

ENTITE ASSOCIATIVE (Lien N:M)

AVION

VOL

PILOTE

DETERMINATION (LIEN N : 1)

DEPARTEMENT

(N) (1)

Copyright Serge Miranda

Version simplifiée de Winsberg

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).

Copyright Serge Miranda

Exemple AIRBASE

DEPARTEMENT (D#)

PILOTE (PL#)

PILENFANT

EMPLOYE (E#)

HOTESSE

STEWARD

AVION (AV#)

VOL

PILFORM

(E#)

(E#)Généralisation

(D#, E#)

(PL#)

(PL#, AV#)

(PL#)

Agrégation 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)

Copyright Serge Miranda

Entités et « propriétés »

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

ENTITESIDENTIFICATION

clé primaire

REFRENCE

clé étrangèresCARACTERISTIQUES

Copyright Serge Miranda

Méthode de conception Phase 1 Démarche Descendante (« TOP-DOWN ») et Itérative

4 Etapes :

ETAPE 1 : Définition Des Entités Statiques

ETAPE 2 : Représentation des Liens multivalués entre Entités

- Liens N : M (Associations)

- Liens 1 : N (Descriptions)

ETAPE 3 :Lien N : 1 (pas de création d ’Entité ; seul cas mais rajout

de clé étrangère)

ETAPE 4 :

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

Copyright Serge Miranda

Etape 1 : entités « 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#)

Copyright Serge Miranda

Etape 2 : Liens « multivalués »

inter-entités (N:M, 1:N)

Identification et Représentation des Liens multivalués (N:M et 1:N) entre Entités

1 - ASSOCIATIONS Liens N : M

Ex : PILOTE AVIONN:M

FOURNISSEUR DEPARTEMENTN:M

Ex : VOL ( VOL#, V-PL#, V-AV# )

FOURN_PROD ( PROD#, FOUR# )

2- DESCRIPTION Lien 1 : N

Ex : PILOTE VOL1:N

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#)

Création d ’une relation de base avec des clés

étrangères identifiant les entités liées

Copyright Serge Miranda

Etape 3 : Liens « N:1 » inter entités

DETERMINATION Lien N : 1

Ex : VOL PILOTEN:1

PILOTE DEPARTEMENTN:1

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

Copyright Serge Miranda

« Propriétés » d’ une entité 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

Copyright Serge Miranda

Rattachement des propriétés aux

entitésUne 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

Copyright Serge Miranda

Rattachement des propriétés (fin)Multivaluée/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)

Copyright Serge Miranda

PROPRIETES

ENTITESIDENTIFICATION

clé primaire

REFRENCE

clé étrangèresCARACTERISTIQUES

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#

Copyright Serge Miranda

Identification

« 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)

Copyright Serge Miranda

Règles

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.

Copyright Serge Miranda

Règles

R2 : Lorsque la comparaison des valeurs de deux attributs a un sens, définir un domaine communpour 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.

Copyright Serge Miranda

Règles

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 : Cette méthode 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)

Copyright Serge Miranda

Exemple Schéma relationnel avec

nomenclature Codd and Date

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)

Copyright Serge Miranda

Phase 2 : L ’APPROCHE

ANALYTIQUE

de la méthode de Codd & Date

PLAN

PRINCIPE DU PROCESSUS DE

NORMALISATION et formes Normales

( Normal Forms de Codd)

LA PREMIERE FORME NORMALE (1NF)

Liens mono-valués et LES FORMES NORMALES

2NF, 3NF, BCNF,

Liens multi-valués et formes normales 4NF, 5NF

Copyright Serge Miranda

Objectifs Phase 2

TRIPLE OBJECTIF :

Chaque relation possède une clé primaire qui

représente l ’identifiant d ’un certain type d ’entité ;

Chaque relation comprend plusieurs attributs

MONOVALUES 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é).

Chaque relation est « normalisée »

Copyright Serge Miranda

« 1NF » (« normalisée », 1ier Forme

Normale, 1st Normal Form) 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é

L’entité LIVRE ((L#, TITRE, EDITEUR, {AUTEUR}) se transforme en 2 relations 1NF : LIVRE (L#, TITRE, EDITEUR)

LIV-AUTEUR (L#, AUTEUR)

cardinalité connue : création nouvel attribut

exemple : capacité minimum et maximum d ’un avion

L’entité AVION (AV#, TYPE, {CAP}, LOC) se transforme en relation 1NF : AVION (AV#, TYPE, CAP-MIN, CAP-MAX, LOC)

Copyright Serge Miranda

EX : 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

1 BD EN BD JESEPA 1988 GO HUMOUR

MILO BD

VULGARISATION

LIVRE L# TITRE EDITEUR ANNEE

1 BD EN BD JESEPA 1988

LIV-AUTEUR L# AUTEUR

1 GO

1 MILO

L# MOT-CLE

1 HUMOUR

1 BD

1 VULGARISATION

LIV-MOTCLE

Copyright Serge Miranda

Attributs multi-valués

LE VECTEUR

Deux représentations sont possibles :

- orientée tuple (cardinalité fixe)

- orientée attribut

Copyright Serge Miranda

Exemple VECTEUR

Prenons l ’exemple des salaires mensuels d ’un

pilote

1) Représentation orientée tuple

PL# PLNOM SAL-JAN SAL-FEV SAL-MARS … SAL-DEC

1 Pierre 20 KF 20 KF 21 KF 22 KF

2 Serge 17 KF 17 KF 18 KF 19 KF

… … … … … …

PILOTE

Copyright Serge Miranda

VECTEUR (Exemple)

2) Représentation orientée attribut

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

Copyright Serge Miranda

VECTEUR (Exemple)

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

2.2 : Avec Création

nouvelle relation

(pour réduire la

redondance)

Copyright Serge Miranda

Liens MONO-valués (« agrégation

simple ») et normalisation

« FORMES NORMALES » : 2, 3 , …

FORME 2 NF, 3NF,

BCNF

LIENS N : 1

(monovalués)

Copyright Serge Miranda

Normalisation par l’exemple

Considérons la relation suivante AVION dont la clé primaire est AV# :

AVION AV# AVNOM CAP LOC

100 AIRB 250 TOUL

101 AIRB 250 TOUL

102 AIRB 250 PARIS

103 CAR 100 TOUL

104 B707 150 PARIS

105 B707 150 PARIS

N:1

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

PROBLEMES :

-une redondance logique

- des anomalies de

stockage (storage

anomalies)

- le problème de

reconnexion (connection

trap)

Copyright Serge Miranda

Connection trap

AVION1 AV# AVNOM

100 AIRB

101 AIRB

102 AIRB

103 CAR

104 B707

105 B707

AVION2 AVNOM CAP LOC

AIRB 250 TOUL

AIRB 250 PARIS

CAR 100 TOUL

B707 150 PARIS…

AVION3 AV# AVNOM CAP LOC

100 AIRB 250 TOUL

100 AIRB 250 PARIS

101 AIRB 250 TOUL

101 AIRB 250 PARIS

... ... ... ...

Projection d AVION en AVION1 et AVION2 et « reconnexion » impossible

AVION 3 par Jointure

Copyright Serge Miranda

Buts normalisation

La normalisation a pour but :

- de supprimer la redondance logique,

- d ’éviter les anomalies de stockage,

- de résoudre le problème de reconnexions.

Copyright Serge Miranda

Lien N:1 (Functional dependency)

Soit X, Y des groupes d ’attributs de la relation R, nous avons une dépendancefonctionnelle 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.

Copyright Serge Miranda

NORMALISATION : Théorème de

décomposition réversible

Ce théorème de décomposition (sans perte d ’information) est souvent appelé théorème de décomposition de CASEY et DELOBEL

R (U) est décomposée (projection) en 2 relations R(U1) et R(U2)

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)

Copyright Serge Miranda

Exemple décomposition réversible

EXEMPLE : AVION(AV#, AVNOM, CAP,

LOC) avec AV# clé primaire et

AVNOMCAP

Le théorème de décomposition permet d ’avoir

deux relations

AVION1 AVNOM CAP

AIRB 250

CAR 100

B707 150

AVION2 AV# AVNOM LOC

100 AIRB TOUL

101 AIRB TOUL

102 AIRB PARIS

103 CAR TOUL

104 B707 PARIS

105 B707 PARIS

Copyright Serge Miranda

Les Formes normales

2NF, 3NF, BCNF Liens (mono-valués)

N:1 ou 1:1

Liens 1:N ou N:M

4NF (multi-valués)

INDEPENDANTS

Liens 1:N ou N:M

5NF (multi-valués)

DEPENDANTS avec contrainte

de symétrie

PRINCIPE DE

LOCALITE :

un seul concept

sémantique dans

une relation sinon

on décompose

Copyright Serge Miranda

3 NF ?

Définition de Sharman d’une

« bonne »relation en 3NF pour les liens N:1

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

Copyright Serge Miranda

Liens multi-valués indépendants un pilote conduit plusieurs avions (N:M)

un pilote assure plusieurs trajets (VD, VA)(N:M)

TRAJET PILOTE AVION

N M N M

TRAJET PILOTE

VOL1

AVION

VOL1 (PL#, AV#, VD, VA) en 3NF

contient 2 liens N:M indépendants

Représentation Winsberg

Copyright Serge Miranda

Représentations possibles

DISJOINTES

VOL1 PL## AV## VD VA

10 100 @ @

10 101 @ @

10 102 @ @

10 @ Nice Toulouse

10 @ Paris Nice

PRODUIT

CARTESIEN

[« indépendance »]

VOL1 PL## AV## VD VA

10 100 Paris Nice

10 100 Nice Toulouse

10 101 Paris Nice

10 101 Nice Toulouse

10 102 Paris Nice

10 102 Nice Toulouse

Copyright Serge Miranda

Autre représentations…

ALEATOIRE

VOL1 PL## AV## VD VA

10 100 Paris Nice

10 101 @ @

10 102 Nice Toulouse

10 @ Paris Nice

10 102 @ @

COMPRESSE

VOL1 PL## AV## VD VA

10 100 Paris Nice

10 101 Nice Toulouse

10 102 @ @

Copyright Serge Miranda

4 NF

Exemple :

VOL11 PL## AV##

10 100

10 101

10 102

VOL12 PL## VD VA

10 Paris Nice

10 Nice Toulouse

4NF

3NF

+

pas de lien multivalué

indépendant

Copyright Serge Miranda

Liens multi-valués dépendantsEXEMPLE : un pilote conduit des avions sur différents trajets ….

PILOTE

AVION TRAJET

N

M P

VOL 1+

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

SI

Alors

le pilote P conduit l ’avion A sur le trajet T

VOL2

Copyright Serge Miranda

VOL2 PL## AV## VD VA

11 102 Madrid Paris

10 100 Paris Madrid

10 100 Madrid Paris

10 101 Madrid Paris

10 101 Paris Madrid

VOL21 PL## AV##

11 102

10 100

10 101

VOL23 AV## VD VA

100 Madrid Paris

100 Paris Madrid

101 Madrid Paris

101 Paris Madrid

102 Madrid Paris

VOL23 PL## VD VA

11 Madrid Paris

10 Paris Madrid

10 Madrid Paris

Isolement de chaque

lien inter-dépendant

PROJECT

Copyright Serge Miranda

5NF et autres NF

5NF : 4NF + isolement des liens multivalués

symétriques interdépendants)Opérateur algébrique pour :

-décomposition

-recomposition

- JOIN

- PROJET

-UNION

- SELECT

- DIVISION

- PROJECT

fonctionnelle

2NF

3NF

BCNF

(3,3)NF

-

multivaluées 4NF (3,3)NF -

De jointure 5NF - -

Iso-dépendance - - B-NF

Copyright Serge Miranda

Exemples

PILOTE

PILENFANT

1

N

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

Copyright Serge Miranda

Exemple2COURS

COURS -

OFFERT

1

N

ETUDIANT

1

N

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é.

Copyright Serge Miranda

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)

Copyright Serge Miranda

Exemple 3

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#)

Copyright Serge Miranda

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)

Copyright Serge Miranda

Exemple GENERALISATIONEMPLOYE E# ENOM SAL NBHVOL RANG STATUT

1 Pierre 20 KF 2000 - Pilote

2 Serge 30 KF 3000 - Pilote

3 Elodie 15 KF - 1 Hôtesse

4 Martine 20 KF - 3 Hôtesse

EMPLOYE E# ENOM SAL STATUT

1 Pierre 20 KF Pilote

2 Serge 30 KF Pilote

3 Elodie 15 KF Hôtesse

4 Martine 20 KF Hôtesse

PILOTE E# NBHVOL

1 2000

2 3000

Hotesse E# RANG

3 1

4 3

Double Déclaration :

« clé primaire et

étrangère

Elimination de valeurs

nulles inapplicables

Copyright Serge Miranda

Généralisation

Autre représentation possible

EMPLOYE E# STATUT

Pour intégrité

référentielle

PILOTE PL# PLNOM SAL NBHVOL

HOTESSE H# HNOM SAL RANG

Copyright Serge Miranda

Bon Schéma relationnel

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.

Copyright Serge Miranda

Exercice de transformation de 2NF

en BCNF (en appliquant succesivement le théorème de décomposition)

VOL (VOL#, Jour, PL#, AV#, TYPE-VOL) -Initialisez par des tuples

-Montrez les anomalies de stockage

-Normalisez

1) VOL# TYPE-VOL

Normalisation 2NF (« dépendance partielle sur la clé »)

2) PL# AV#

Normalisation 3NF (« dépendance transitive »)

3) PL# Jour

Normalisation BCNF