770 likes | 993 Views
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 :
E N D
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
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) »
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
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
LA MODELISATION DES DONNEES CONCRET INACCESSIBLE UNIVERS REEL MODELE DE DONNEES SCHEMA DE DONNEES ABSTRAIT MANIPULABLE
MODELE DE DONNEES ? STRUCTRUES MODELE DE DONNEES OPERATEURS REGLES D ’INTEGRITE + (THEORIE FORMELLE)
MODELE DE DONNEES ? Modèles « Informatiques » - 1968- 1988 (Ex : IMS, DBTG,..) Modèles « Mathématiques » –1980 – 2000 (Ex : Modèle Relationnel, SQL2) Modèles « Sémantiques » –1990- 2010 (Ex : Modèles Objet, OR, SQL3) )
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
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)
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
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
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
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
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
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
« ROND » ? FORME ? ETAT ? BALLON ? INDIVIDU ?
CONCEPTS DE BASE 1 m 70 Rouge Bleu Rond DONNEE TAILLE COULEUR FORME PROPRIETE PERSONNEBALLON ENTITE VOITURE PROPRIETAIRE LIEN
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
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 »)
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 B A 1 Au plus 1 0.1 ou N 1 Exemples : VILLE_DEPART VILLE_ARRIVEE N : 1 NUMERO_VOL NOM_PILOTE ADRESSE_PILOTE N : 1 NUMERO_PILOTE N : 1 FEMME HOMME MARIAGE (polyandrie)
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 Numero_Vol Ville_Depart Heure_Depart
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 B A 1 0,1 ou N Au plus 1 1 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 B A N : 1
LIENS MAILLES N : M Soient A et B, deux Propriétés ou Groupes de Propriétés (Entités) : N : M B A 1 0,1 ou M 0,1 ou N 1 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 B A 1:N 1 : M C
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
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 VOL AVION PILOTE ,
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
TERMINOLOGIE SUR LA CLASSIFICATION DES ENTITES GB (DATE86) FR (MIRA88 et MIRA2001 ) Kernel Statique Association Associative (N : M) Descriptive (1 : N) Characteristics Déterminante (N : 1) Referencing RM-T de CODD (80)
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)
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).
REPRESENTATION GRAPHIQUE (1986) EXEMPLE : AIRBASE EMPLOYE (E#) (E#) HOTESSE DEPARTEMENT (D#) Généralisation (E#) STEWARD (D#, E#) PILOTE (PL#) AVION (AV#) (PL#) PILENFANT Agrégation (PL#, AV#) VOL (PL#) PILFORM 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)
PRESENTATION 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
METHODOLOGIE DE CONCEPTION • Démarche Descendante (« TOP-DOWN ») et Itérative 4 Etapes : Définition Des Entités Statiques ETAPE 1 : 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 :
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#)
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#)
ETAPE 3 : LIENS MONOVALUES (N:1) INTER-ENTITES Lien N : 1 DETERMINATION N:1 PILOTE VOL Ex : N:1 DEPARTEMENT PILOTE 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 +++
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
ETAPE 4 : PROPRIETES 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
ETAPE 4 : PROPRIETES 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)
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)
EXEMPLE : AIRBASE PROPRIETES ENTITES REFRENCE clé étrangères IDENTIFICATION clé primaire 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#
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)
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.
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)
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)
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
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)
ATTRIBUT MULTIVALUE AVEC CARDINALITE VARIABLE Considérons la relation LIVRE ayant les attributs AUTEUR et MOTCLE multivalués LIVRE L# ANNEE AUTEUR MOT-CLE TITRE EDITEUR 1 BD EN BD JESEPA 1988 GO HUMOUR MILO BD VULGARISATION LIV-AUTEUR LIVRE L# TITRE EDITEUR ANNEE L# AUTEUR 1 GO 1 MILO 1 BD EN BD JESEPA 1988 L# LIV-MOTCLE MOT-CLE 1 HUMOUR 1 BD 1 VULGARISATION « Simple mais naturel ! »