conceptiond ’ unebasededonnées

42
Conception Conception d d une une base base de de données données Merise Merise ( ( Méthode d Méthode d Etude et Etude et de Réalisation Informatique de Réalisation Informatique pour les Systèmes d pour les Systèmes d Entreprise Entreprise ) )

Upload: israel

Post on 01-Feb-2016

60 views

Category:

Documents


1 download

DESCRIPTION

Conceptiond ’ unebasededonnées. Merise ( Méthode d ’ Etude et de Réalisation Informatique pour les Systèmes d ’ Entreprise ). Le Dictionnaire des données. Le Dictionnaire des données -1-. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Conceptiond ’ unebasededonnées

ConceptionConception dd’’uneune basebasedede donnéesdonnées

MeriseMerise ( (Méthode dMéthode d’’ Etude et de Etude et de Réalisation Informatique pour Réalisation Informatique pour

les Systèmes dles Systèmes d’’EntrepriseEntreprise) )

Page 2: Conceptiond ’ unebasededonnées

Le Dictionnaire des donnéesLe Dictionnaire des données

Page 3: Conceptiond ’ unebasededonnées

Le Dictionnaire des données Le Dictionnaire des données -1--1-

Pour être traitées de manière informatisée, les données Pour être traitées de manière informatisée, les données doivent être décrites dans un formalisme compris par le doivent être décrites dans un formalisme compris par le système informatique qui va les gérer. Les formats système informatique qui va les gérer. Les formats génériques utilisés sont:génériques utilisés sont:

Le type alphabétique (rien que des caractères)Le type alphabétique (rien que des caractères) Le type alphanumérique (des caractères, des chiffres)Le type alphanumérique (des caractères, des chiffres) Le type numérique (les nombres)Le type numérique (les nombres) Le type dateLe type date Le type logique (0-1, Vrai-Faux, Oui-Non) Le type logique (0-1, Vrai-Faux, Oui-Non)

Page 4: Conceptiond ’ unebasededonnées

Le Dictionnaire des données Le Dictionnaire des données -2--2-

Le dictionnaire des données est un document qui permet de Le dictionnaire des données est un document qui permet de recenser, de classer et de trier les informations (les recenser, de classer et de trier les informations (les données) collectées lors des entretiens ou de ldonnées) collectées lors des entretiens ou de l’’étude des étude des documents. documents.

Page 5: Conceptiond ’ unebasededonnées

Le Dictionnaire des données Le Dictionnaire des données – cas pratique-– cas pratique-

Page 6: Conceptiond ’ unebasededonnées

Le Dictionnaire des données Le Dictionnaire des données – cas pratique-– cas pratique-

Page 7: Conceptiond ’ unebasededonnées

Les dépendances fonctionnellesLes dépendances fonctionnelles

Page 8: Conceptiond ’ unebasededonnées

Les dépendances fonctionnellesLes dépendances fonctionnelles

Une donnée B dépend fonctionnellement Une donnée B dépend fonctionnellement (ou est en dépendance fonctionnelle) d’une (ou est en dépendance fonctionnelle) d’une donnée A lorsque la connaissance de la donnée A lorsque la connaissance de la valeur de la donnée A nous permet la valeur de la donnée A nous permet la connaissance connaissance d’une et au maximum une d’une et au maximum une seule va leur seule va leur de B.de B.

Exemple: la connaissance de la valeur d’un numéro de Exemple: la connaissance de la valeur d’un numéro de client nous permet de connaître sans ambiguïté la valeur client nous permet de connaître sans ambiguïté la valeur d’un et d’un seul d’un et d’un seul nom de client.nom de client.

Page 9: Conceptiond ’ unebasededonnées

Les dépendances fonctionnellesLes dépendances fonctionnelles

FormalismeFormalisme: Le formalisme de représentation : Le formalisme de représentation d’une dépendance fonctionnelle est le suivant:d’une dépendance fonctionnelle est le suivant:

Numéro adhérent Numéro adhérent (Nom adhérent, prénom, adresse, (Nom adhérent, prénom, adresse, code postal, ville, téléphone, email)code postal, ville, téléphone, email)

Page 10: Conceptiond ’ unebasededonnées

Les dépendances fonctionnellesLes dépendances fonctionnelles

Dépendances fonctionnelles composéesDépendances fonctionnelles composées: Une : Une dépendance fonctionnelle qui comporte plusieurs dépendance fonctionnelle qui comporte plusieurs attributs est dite composée.attributs est dite composée.

Exemple:Exemple: (Code athlète, code sport)(Code athlète, code sport) (année de pratique)(année de pratique) (Numéro coureur, Numéro de course)(Numéro coureur, Numéro de course) (Temps)(Temps) Connaissant le Connaissant le n° de coureur n° de coureur et et le n° de la coursele n° de la course, nous , nous

connaissons de façon certaine le temps chronométré d’un connaissons de façon certaine le temps chronométré d’un coureur précis sur une course précise.coureur précis sur une course précise.

Page 11: Conceptiond ’ unebasededonnées

Les dépendances fonctionnellesLes dépendances fonctionnelles

Dépendances fonctionnelles élémentaireDépendances fonctionnelles élémentaire: Une dépendance : Une dépendance fonctionnelle Afonctionnelle A B est élémentaire s’il n’existe pas une B est élémentaire s’il n’existe pas une donnée C, sous-ensemble de A, décrivant une dépendance donnée C, sous-ensemble de A, décrivant une dépendance fonctionnelle de type C.fonctionnelle de type C.

Exemple:Exemple: RéférenceProduitRéférenceProduit DésignationDésignation NuméroCommande, RéférenceProduit NuméroCommande, RéférenceProduit QuantitéQuantité NuméroCommande, RéférenceProduitNuméroCommande, RéférenceProduit DésignationDésignation

La troisième dépendance fonctionnelle n’est élémentaire car il La troisième dépendance fonctionnelle n’est élémentaire car il existe à l’intérieur d’elle: existe à l’intérieur d’elle: RéférenceProduitRéférenceProduit Désignation Désignation qui était qui était déjà une dépendance fonctionnelle élémentaire. Pour connaître déjà une dépendance fonctionnelle élémentaire. Pour connaître la désignation, Numéro de commande est dans ce cas superflu.la désignation, Numéro de commande est dans ce cas superflu.

Page 12: Conceptiond ’ unebasededonnées

Les dépendances fonctionnellesLes dépendances fonctionnelles

Dépendances fonctionnelles élémentaire directeDépendances fonctionnelles élémentaire directe: on dit que la : on dit que la dépendance fonctionnelle Adépendance fonctionnelle A B est directe s’il n’existe B est directe s’il n’existe aucun attribut C tel que l’on puisse avoir A C et C B. En aucun attribut C tel que l’on puisse avoir A C et C B. En d’autres termes, cela signifie que la dépendance entre A et B d’autres termes, cela signifie que la dépendance entre A et B ne peut être obtenue par transivité. ne peut être obtenue par transivité.

Exemple:Exemple: NumClasseNumClasse NumElèveNumElève NumElèveNumElève NomElèveNomElève NumClasse NumClasse NomElève NomElève

La troisième dépendance fonctionnelle n’est pas directe car nous La troisième dépendance fonctionnelle n’est pas directe car nous pourrions écrire: pourrions écrire:

NumClasseNumClasse NumElève NumElève NomElève NomElève

Page 13: Conceptiond ’ unebasededonnées

Les dépendances fonctionnellesLes dépendances fonctionnelles

Le Graphe des dépendances fonctionnellesLe Graphe des dépendances fonctionnelles Le graphe des dépendances est une étape intéressante Le graphe des dépendances est une étape intéressante

car il épure le dictionnaire en ne retenant que les données car il épure le dictionnaire en ne retenant que les données non déduites et élémentaires et permet une représentation non déduites et élémentaires et permet une représentation spatiale de ce que sera le futur MCD.spatiale de ce que sera le futur MCD.

Numéro adhérentNuméro adhérent

Nom adhérentNom adhérent prénom prénom adresse adresse CP VILLECP VILLE EmailEmail

Page 14: Conceptiond ’ unebasededonnées

Les dépendances fonctionnellesLes dépendances fonctionnelles

Méthodologie d’élaboration des dépendances Méthodologie d’élaboration des dépendances fonctionnellesfonctionnelles: :

L’élaboration des dépendances fonctionnelles est réalisée L’élaboration des dépendances fonctionnelles est réalisée à l’aide du dictionnaire des données. La démarche consiste à l’aide du dictionnaire des données. La démarche consiste à chercher :à chercher :– Les dépendances fonctionnelles formées par deux rubriques, Les dépendances fonctionnelles formées par deux rubriques,

élémentaires et directe.élémentaires et directe.– Les dépendances fonctionnelles composées.Les dépendances fonctionnelles composées.

Page 15: Conceptiond ’ unebasededonnées

Dépendances fonctionnelles: Dépendances fonctionnelles: – cas pratique-– cas pratique-

Page 16: Conceptiond ’ unebasededonnées

Dépendances fonctionnelles: Dépendances fonctionnelles: – cas pratique-– cas pratique-

NumCliNumCli (Nom, Prénom, Adresse, Code Postal, Ville)(Nom, Prénom, Adresse, Code Postal, Ville)

CodeArticleCodeArticle (Désignation, Prix unitaire)(Désignation, Prix unitaire)

(NumCli, CodeArticle, Date)(NumCli, CodeArticle, Date) QuantitéQuantité

Page 17: Conceptiond ’ unebasededonnées

Dépendances fonctionnelles: Dépendances fonctionnelles: – cas pratique-– cas pratique-

CodeArticleCodeArticle DateDate NumCliNumCli

QtéQté

Désignation PrixDésignation Prix Nom Prénom Adresse CP Ville Nom Prénom Adresse CP Ville

Page 18: Conceptiond ’ unebasededonnées

Le Modèle Conceptuel des Le Modèle Conceptuel des

données: données: MCDMCD

Page 19: Conceptiond ’ unebasededonnées

MCD: MCD: EntitéEntité

Une Une EntitEntité é est une population dest une population d’’individus individus homogènes. homogènes. Par exemple, les produits ou les articles Par exemple, les produits ou les articles vendus par une entreprise peuvent être regroupés vendus par une entreprise peuvent être regroupés dans une même entité articles, car ddans une même entité articles, car d’’un article `a un article `a ll’’autre, les informations ne changent pas de nature (a autre, les informations ne changent pas de nature (a chaque fois, il schaque fois, il s’’agit de la désignation, du prix unitaire, agit de la désignation, du prix unitaire, etc.).etc.).

Page 20: Conceptiond ’ unebasededonnées

MCD: AssociationMCD: Association

Une Une AssociationAssociation est une liaison qui a est une liaison qui a une signification précise entre plusieurs une signification précise entre plusieurs entités. entités. Dans notre exemple, lDans notre exemple, l’’association commander association commander est une liaison évidente entre les entités est une liaison évidente entre les entités articlesarticles et et clientsclients, tandis que l, tandis que l’’association association livrerlivrer ´ établit le lien ´ établit le lien

sémantique entre les entités sémantique entre les entités articlesarticles et et fournisseursfournisseurs..

Page 21: Conceptiond ’ unebasededonnées

MCD: AttributMCD: Attribut

Un Un AttributAttribut est une propriété dest une propriété d’’une entité une entité ou dou d’’une association. une association. Toujours dans notre exemple, Toujours dans notre exemple, le prix unitaire est un attribut de lle prix unitaire est un attribut de l’’entité articles, le nom de entité articles, le nom de famille est un attribut de lfamille est un attribut de l’’entité clients, la quantité entité clients, la quantité commandée est un attribut de lcommandée est un attribut de l’’association commander association commander et la date de livraison est un attribut de let la date de livraison est un attribut de l’’association livrer.association livrer.

Page 22: Conceptiond ’ unebasededonnées

MCD: CardinalitMCD: Cardinalitéé

La La CardinalitCardinalité é dd’’un lien entre une entité et un lien entre une entité et une association précise le minimum et le une association précise le minimum et le maximum de fois qumaximum de fois qu’’un individu de lun individu de l’’entité entité peut être concerné par lpeut être concerné par l’’association.association.

Page 23: Conceptiond ’ unebasededonnées

MCD: MCD: Les règles de Normalisation Les règles de Normalisation -1--1-

Un bon schéma entités-associations doit répondre à 9 règles de normalisation, que le concepteur doitconnaître par cœur.

Page 24: Conceptiond ’ unebasededonnées

MCD: MCD: Les règles de Normalisation Les règles de Normalisation -2--2-

1. Normalisation des entités (importante) : toutes les entités qui sont remplaçables par une association doivent être remplacées. Exemple

2. Normalisation des noms : le nom d’une entité, d’une association ou d’un attribut doit être unique.

3. Normalisation des identifiants : chaque entité doit posséder un identifiant.

4. Normalisation des attributs (importante) : remplacer les attributs en plusieurs exemplaires en une association supplémentaire de cardinalités maximales n et ne pas ajouter d’attribut calculable à partir d’autres attributs. Exemple

5. Normalisation des associations (importante) : il faut éliminer les associations fantômes redondantes ou en plusieurs exemplaires . Exemple

6. Normalisation des cardinalités : une cardinalité minimale est toujours 0 ou 1 (et pas 2, 3 ou n) et une cardinalité maximale est toujours 1 ou n (et pas 2, 3, ...).

Page 25: Conceptiond ’ unebasededonnées

MCD: MCD: Les règles de Normalisation Les règles de Normalisation -3--3-

A ces 6 règles de normalisation, il convient d’ajouter les 3 premières formes normales traditionnellement énoncées pour les schémas relationnels, mais qui trouvent tout aussi bien leur place en ce qui concerne les schémas entités-associations.

Page 26: Conceptiond ’ unebasededonnées

MCD: MCD: Les règles de Normalisation Les règles de Normalisation - Première Forme Normale-- Première Forme Normale-

A un instant donné dans une entité, pour un individu, un attribut ne peut prendre qu’une valeur et non pas, un ensemble ou une liste de valeurs. Si un attribut prend plusieurs valeurs, alors ces valeurs doivent faire l’objet d’une entité supplémentaire, en association avec la première.

Page 27: Conceptiond ’ unebasededonnées

MCD: MCD: Les règles de Normalisation Les règles de Normalisation - Deuxième Forme Normale-- Deuxième Forme Normale-

L’identifiant peut être composé de plusieurs attributs mais les autres attributs de l’entité doivent dépendre de l’identifiant en entier (et non pas une partie de cet identifiant).

Page 28: Conceptiond ’ unebasededonnées

MCD: MCD: Les règles de Normalisation Les règles de Normalisation - Troisième Forme Normale-- Troisième Forme Normale-

Tous les attributs d’une entité doivent dépendre directement de son identifiant et d’aucun autre attribut. Si ce n’est pas le cas, il faut placer l’attribut pathologique dans une entité séparée, mais en association avec la première.

Page 29: Conceptiond ’ unebasededonnées

MCD: MCD: Les règles de Normalisation Les règles de Normalisation - Troisième Forme Normale -- Troisième Forme Normale -suite-suite-

l’entité avions dont les valeurs sont données dans le tableau 1, n’est pas en troisième forme normale, car la capacité et le constructeur d’un avion ne dépendent pas du numéro d’avion mais de son modèle.

Page 30: Conceptiond ’ unebasededonnées

ExerciceExercice

Un médecin fixe le prix de sa consultation tous les ans. Son carnet de consultations indique ses rendez-vous. A chaque consultation, il reçoit un ou plusieurs malades s'ils sont de la même famille. L'examen clinique lui permet de détecter les symptômes (température, mal de tête, fréquence cardiaque élevée, souffle au coeur, …...) et de diagnostiquer une ou plusieurs maladies ou pathologies (rhume, crise de foie, spasmophilie, acouphènes, hypoglycémie...). A chaque maladie peuvent être associés un ou plusieurs symptômes. Cette même maladie peut être diagnostiquée plusieurs fois, à chaque consultation.

Page 31: Conceptiond ’ unebasededonnées

Exercice - CorrigéExercice - Corrigé

Page 32: Conceptiond ’ unebasededonnées

MCD: MCD: Les règles de Normalisation Les règles de Normalisation Règle N°1Règle N°1

Lorsqu’autour d’une entité, toutes les associations ont pour cardinalités maximales 1 au centre et n à l’extérieur, cette entité est candidate pour être remplacée par une association branchée à toutes lesentités voisines avec des cardinalités identiques 0,n.

Page 33: Conceptiond ’ unebasededonnées

MCD: MCD: Les règles de Normalisation Les règles de Normalisation Règle N°4Règle N°4

Page 34: Conceptiond ’ unebasededonnées

MCD: MCD: Les règles de Normalisation Les règles de Normalisation Règle N°4Règle N°4

Par exemple, sur la ci-dessus la quantité commandée dépend à la fois du numéro de client et du numéro d’article, par contre la date de commande non. Il faut donc faire une entité commandes à part.

Page 35: Conceptiond ’ unebasededonnées

MCD: MCD: Les règles de Normalisation Les règles de Normalisation Règle N°5Règle N°5

les cardinalités sont toutes 1,1 donc c’est une association fantôme

Page 36: Conceptiond ’ unebasededonnées

MLD: MLD: Modèle logique de données Modèle logique de données

Tables, lignes et colonnes:Lorsque des données ont la même structure, on peut les organiser en table dans laquelle les colonnes décrivent les champs en commun et leslignes contiennent les valeurs de ces champs pour chaque enregistrement.

Clés primaires et clés étrangères:Les lignes d’une table doivent être uniques, cela signifie qu’une colonne (au moins) doit servir à les identifier. Il s’agit de la clé primaire de la table

Page 37: Conceptiond ’ unebasededonnées

MLD: MLD: Schémas relationnelsSchémas relationnels

On peut représenter les tables d’une base de données relationnelle par un schéma relationnel dans lequel les tables sont appelées relations et les liens entre les clés étrangères et leur clé primaire est symbolisé par un connecteur

Page 38: Conceptiond ’ unebasededonnées

MLD: MLD: Traduction d’un MCD en un MLDR

Pour traduire un MCD en un MLDR, il suffit d’appliquer cinq règles.

Notations : on dit qu’une association binaire (entre deux entités ou réflexive) est de type :– 1 : 1 (un à un) si aucune des deux cardinalités maximales n’est n ;– 1 : n (un à plusieurs) si une des deux cardinalités maximales est n ;– n : m (plusieurs `a plusieurs) si les deux cardinalités maximales sont n.

Page 39: Conceptiond ’ unebasededonnées

MLD: MLD: Traduction d’un MCD en un MLDR

Règle 1 : toute entité devient une table dans laquelle les attributs deviennent les colonnes. L’identifiant de l’entité constitue alors la clé primaire de la table.

Règle 2 : une association binaire de type 1 : n disparait, au profit d’une clé étrangère dans la table côté.

Page 40: Conceptiond ’ unebasededonnées

MLD: MLD: Traduction d’un MCD en un MLDR

Règle 3 : une association binaire de type n : m devient une table supplémentaire

Page 41: Conceptiond ’ unebasededonnées

MLD: MLD: Traduction d’un MCD en un MLDR

Règle 4 : une association binaire de type 1 : 1 est traduite comme une association binaire de type 1 : n sauf que la clé étrangère se voit imposer une contrainte d’unicité en plus d’une éventuelle contrainte de non vacuité

Page 42: Conceptiond ’ unebasededonnées

MLD: MLD: Traduction d’un MCD en un MLDR

Règle 5 : une association non binaire est traduite par une table supplémentaire dont la clé primaire est composée d ’autant de clés étrangères que d’entités en association