Vous êtes sur la page 1sur 29

Conception et

modélisation des BDs


relationnelles

M ou ra d KM I M E C H
Mourad.kmimech@efrei.fr

Support de cours de Maha Naceur


Plan

Modèle Conceptuel Modèle Relationnel


Normalisation SQL - LDD
de Données MCD de Données
Processus de conception d’une base de données

Analyse : étude de l’existant, des besoins, des choix, des


contraintes, etc…

Modèle conceptuel de données (MCD) : représenter les


aspects importants du problème d’une manière non-
formelle (graphique)

Modèle logique de données (MLD) : description de la


solution d’une manière formelle mais indépendante du
choix de l’implémentation

Modèle physique de données (MPD) : implémentation de la


BD dans un SGBD à partir du MLD (et optimisation)
Cycle de vie

Analyse des besoins Analyse


(cahier de charge)

Spécification
De la BDD
1. Modèle conceptuel
de données (MCD)
Conception

Schéma
conceptuel Conception
Transformation
physique
en modèle
2. Modèle logique de
logique
données (MLD)

Schéma Schéma interne Maintenance


logique

Spécifique à un SGBD
Bien analyser, bien modéliser !

L’étape d’analyse est L’étape de modélisation conceptuelle


fondamentale dans le doit être correctement réalisée
processus de
conception
Passer d'une spécification en
langage naturel soumise à

Bien modéliser !
Bien analyser !

interprétation, à une spécification


non ambigüe nécessite l’utilisation
La perception de
de formalismes de modélisation tels
l’existant et des besoins
que E-A ou UML
repose sur l’expertise de
l’ingénieur
 Le modèle logique est déduit de
façon systématique du modèle
conceptuel et l'implémentation
logicielle est réalisée par traduction
directe du modèle logique.
Le MCD ou modèle E/A : le QUOI sur les données !

Distinguer les entités qui


Conception des bases de Simple et suffisamment
constituent la base de Souffre de nombreuses
données (relationnelles puissant pour représenter
données, et les associations insuffisances :
principalement) des structures relationnelles.
(relations) entre ces entités.

Il repose sur une Il n’existe pas d’opération


Mettre en place un schéma Ces concepts permettent de
représentation graphique permettant de manipuler les
correct permettant le donner une structure à la
qui facilite données, et pas (ou peu) de
développement d’une base, ce qui s’avère
considérablement sa moyen d’exprimer des
application viable. indispensable.
compréhension. contraintes

Il mène souvent à certaines


ambiguïtés pour des
Origine du schémas complexes.
terme modèle Merise est une méthode d’analyse et de conception des systèmes
d’information basée sur le principe de la séparation des données et des
E/A
traitements.

Le formalisme utilisé dans MERISE a été reconnu internationalement par


l’ISO: Formalisme Individu-Relation, ou Formalisme Entity-Relationship [Chen
Le concepteur doit répondre
76] ou Entité-Relation
au mieux aux exigences
Le jargon !

 Une entité est similaire à la notion d’objet, elle décrit une «entité» du monde réel.
 Exemple : un livre, un étudiant, un compte, une facture, ...
 Une association est un lien entre plusieurs entités
 Exemple : une facture contient plusieurs produits.
E/A : représentation informelle

« Soit une base de données décrivant des films, avec leur metteur en scène et leurs acteurs,
ainsi que les cinémas où passent ces films. Cette BD est accessible sur le Web et des
internautes peuvent noter les films qu’ils ont vus. »

Attributs Même MES


+
valeurs
Enregistrement

Même
année
E/A : représentation formelle
Associations

Attributs
Attributs

Entités Attributs cardinalités

Identifiant Attributs
unique
Entité

Entité : tout objet identifiable et pertinent pour l’application


 exp : Film, Artiste, Internaute…

Attribut : une propriété qui caractérise une entité


 Exp :Titre d’un film, le nom d’un artiste…
 Un attribut est atomique : prend une valeur et une seule
 Un attribut peut être multivalué : ensemble de valeurs prises dans un même domaine (numéros de
téléphone)
 Un attribut peut être composé : constitué par agrégation d’autres attributs (adresse : n° rue, nom de la rue,
code postal, pays)

Le type d’une entité est composé des éléments suivants :


 Son nom;
 La liste de ses attributs avec, – optionnellement – le domaine où l’attribut prend ses valeurs : les entiers, les
chaînes de caractères ;
 L’indication du (ou des) attribut(s) permettant d’identifier l’entité : ils constituent la clé.
Une occurrence d’une entité est:
- un élément particulier de l’entité
- représentée par l’ensemble des valeurs des propriétés constituant cette entité
Identifiant unique : clé

Clé : Soit E un type d’entité, A l’ensemble de ses attributs, une clé de E est un sous-ensemble minimal de A,
permettant d’identifier de manière unique une entité parmi n’importe quelle extension de E

• Les caractéristiques d’une bonne clé sont :

 sa valeur est connue pour toute entité ;

 on ne doit jamais avoir besoin de la modifier ;

 sa taille de stockage doit être la plus petite possible (performance de stockage)

Exemples : id_Film pour identifier un film, la paire (email,mdp) pour identifier un internaute, etc

Clés

Attributs

Entités
Choix de l’identifiant

 Évitez les identifiants composés de plusieurs attributs (comme, par exemple, un identifiant formé par les
attributs nom et prénom) :
 ils dégradent les performances du SGBD,
 mais surtout l’unicité supposée par une telle démarche finit généralement, tôt ou tard, par être démentie

 Évitez les identifiants susceptibles de changer au cours du temps (comme la plaque d’immatriculation d’un
véhicule)

 Évitez les identifiants du type chaîne de caractères


Association
 Une association (appelée aussi parfois relation) représente les liens sémantiques qui peuvent exister entre plusieurs
entités
 Une classe (ou bien type) d’association contient toutes les associations similaires (qui relient donc des entités
appartenant à des mêmes classes d'entité)

Association

 Une classe d‘association peut lier plus de deux classes d'entité. Voici les dénominations des classes d’association :
– une classe d’association récursive (ou réflexive) relie la même classe d'entité
– une classe d’association binaire relie deux classes d'entité
– une classe d’association ternaire relie trois classes d'entité
– une classe d’association n-aire relie n classes d'entité
Association porteuse d’attributs

Un artiste participe à
un film avec le rôle
« acteur » Dans un film peuvent
participer avec le rôle
« acteur » les artistes
suivants : ….
Un artiste participe à
un film avec le rôle
« réalisteur »
Cardinalité
Cardinalité : Soit une association (E1, E2) entre deux types d’entités. La cardinalité de l’association pour Ei (E1
ou E2) est une paire [Min, Max] telle que :

 Max : cardinalité maximale qui désigne le nombre maximal de fois où une instance ei de Ei peut
intervenir dans l’association (1 ou n)

 Min : cardinalité minimale qui désigne le nombre minimal de fois où une instance ei de Ei dans la
relation (0 ou 1)

Exemple : Un artiste(MES) réalise 0 ou plusieurs film(s) et un film est réalisé par un et un seul artiste(MES).
Association n-aire

Relation entre n types d’entités E1, E2,..,En est un ensemble de n-uplets (e1, e2,..,en) où chaque ei appartient à Ei

Exemple :

• Un film est diffusé à 15h dans la salle

numéro 5 et à 18h dans la salle numéro 7

• A 15h, il y aura la diffusion du film

«Avengers» dans la salle 9 et du film « Iron

man» dans la salle numéro 5.

• Dans la salle numéro 5, ils seront diffusés

les films « Avengers» à 15h et « Iron man »

à 17h.
Quelques conseils
o Normalisation des noms : Le nom donné à une entité, une association ou un attribut doit
être unique
 Risque d’incohérence si des attributs portent le même nom mais également de
redondance, de gaspillage de l’espace mémoire
Quelques conseils
o Normalisation des attributs
o Chaque attribut multiple (structure) doit être transformé en une entité et une association
supplémentaire est rajoutée
o Idem pour une énumération (exemple pour Film, l’attribut « Genre » ={action, comédie,
fiction,…})
o Eviter la redondance d’information des attributs par calcul ou transition: un attribut
dérivé d’autres attributs
Quelques conseils
o Faire des fusions quand c’est possible
o Il faut factoriser les entités et les associations quand c’est possible

Même
cardinalités

Fusion d’entités
Fusion d’association
Quelques conseils
o Faire des suppressions quand c’est possible
o Il faut se poser la question de l’intérêt d’une association quand les cardinalités
maximales sont toutes égales à 1

Suppression
Pas de
suppression

Le cas ou les cardinalités sont exactement à 1  1,1 ---1,1 : suppression d’une des entité
=> Maj de la liste de l’entité non supprimée avec les attributs de celle qui a été supprimé
Quelques conseils

o S’il existe deux chemins pour se rendre d’une entité à une autre, alors ces deux chemins
doivent avoir deux significations distinctes. exemple : si un client ne peut pas régler la
facture d’un autre client, alors l’association payer est inutile.
o Dans le cas contraire, il faut supprimer le chemin le plus court puisqu’il est déductible des
autres chemins
D’une association n-aire vers un type d’entité
Soit A une association entre les types d’entité {E1, E2,.., En}. La transformation de A en type
d’entité s’effectue en trois étapes :

1. Attribution d’un identifiant autonome de A

2. Création d’une association Ai, de type (1..n) entre A et chacun des Ei

3. La contrainte minimale du coté de A est toujours à 1.


Normalisation

Problème : Mélanger dans une même relation des informations relatives à


plusieurs entités entraîne, en général des redondances d’information qui
provoquent les anomalies suivantes :
• anomalies d’insertion
• anomalies de mise à jour
• anomalies de suppression

Principe : La théorie de la normalisation est une théorie destinée à concevoir un


bon schéma d’une base de données sans redondance d’information et sans
risques d'anomalie de mise à jour. Elle a été introduite dès l'origine dans le modèle
relationnel.
Normalisation : formes normales

Les formes normales permettent d’éviter la redondance et les sources d’anomalies


Il existe plusieurs formes normales :
 1FN : 1ère forme normale
 2FN : 2ème forme normale
 3FN : 3ème forme normale
 FNBC : Forme normale de Boyce-Codd
 4FN : 4ème forme normale
 5FN : 5ème forme normale
 …
Normalisation : 1FN

 1ère forme normale (1FN) : Une entité ou une association est en première forme
normale si tous ses attributs sont élémentaires, c’est-à-dire non décomposables

 Un élément composite doit être décomposés en :


 Attributs élémentaires (ex. coordonnées)
 Ajoutant une nouvelle entité (ex. adresse)
Normalisation : 2FN

 2ème forme normale (2FN) : une entité ou une association est en deuxième forme normale si,
et seulement si, elle est en 1ère forme normale et si tout attribut n’appartenant pas à
l’identifiant ne dépend pas d’une partie de l’identifiant

 Autrement dit, l’identifiant peut être composé de plusieurs attributs mais les autres attributs
de l’entité doivent être dépendant de l’identifiant en entier (et non pas une partie de cet
identifiant)
∀ 𝒂𝒊𝒅𝒆𝒏𝒕𝒊𝒇𝒂𝒏𝒕 ∶ 𝒑𝒂𝒓𝒕𝒊𝒆 𝒊𝒅𝒆𝒏𝒕𝒊𝒇𝒊𝒂𝒏𝒕 ⇸ 𝒂

IdCinema  NomCinema
Normalisation : 3FN

 3ème forme normale (3FN) : une entité ou une association est en troisième forme normale
si, et seulement si, elle est en 2ème forme normale et si tout attribut n’appartenant pas à
l’identifiant ne dépend pas d’un autre attribut

 Garantir que seulement l’identifiant détermine tous les attributs d’une relation

∀ 𝒂, 𝒃  𝒊𝒅𝒆𝒏𝒕𝒊𝒇𝒂𝒏𝒕 ∶ 𝒂 ⇸ 𝒃

IdMES  NomMES
Normalisation : 4FN (FNBC)

 Forme normale de Boyce-Codd (FNBC) : les attributs d’un identifiant composé ne doivent
pas dépendre d’un autre attribut de l’entité

 Une entité ou une association est en forme normale de Boyce-Codd si, et seulement si, elle
est en troisième forme normale et si aucun attribut faisant partie de l’identifiant ne dépend
pas d’un autre attribut ne faisant pas partie de l’identifiant

∀ 𝒂 ∊ 𝒊𝒅𝒆𝒏𝒕𝒊𝒇𝒂𝒏𝒕 ∶ 𝒂⇸ 𝒑𝒂𝒓𝒕𝒊𝒆 𝒊𝒅𝒆𝒏𝒕𝒊𝒇𝒊𝒂𝒏𝒕

1,n

1,1

NomVille  CP
Prochain Chapitre
Modèle logique de données

Vous aimerez peut-être aussi