BA S ES D E
DONNÉES
R É A L I S É PA R :
MME. EL OUAHAB I I KRAM
CONCEPTION
D’UNE BASE DE
DONNÉES
MÉTHODE MERISE
Module : Bases de données 2
ÉTAPES LA CONCEPTION D’UNE BASE
DE DONNÉES
• Analyse de la situation existante et des besoins ;
• Création d'un modèle conceptuel qui permet de représenter tous les aspects importants du
problème ;
• Traduction du modèle conceptuel en modèle logique (et normalisation de ce modèle logique) ;
• Implémentation d'une base de données dans un SGBD, à partir du modèle logique.
Module : Bases de données 3
ANALYSE DE L’EXISTANT ET DES
BESOINS
• La phase d'analyse de l'existant et des besoins est une phase essentielle et complexe. Elle doit
aboutir à des spécifications générales qui décrivent en langage naturel les données manipulées,
et les traitements à effectuer sur ces données.
• Cette étape doit être menée avec soins de la qualité de la réalisation de cette étape
dépendra ensuite la pertinence de la base de données par rapports aux usages.
• Dans ce cours, on étudiera merise comme méthode d’analyse des bases de données. Elle est
basé sur la séparation des données et des traitements à effectuer en plusieurs modèles
conceptuels et physiques.
Module : Bases de données 4
ANALYSE DE L’EXISTANT ET DES
BESOINS : RÈGLES DE GESTION
• Éléments pour l’analyse de l’existant et des besoins :
– L'analyse de documents existants ;
– Le dialogue avec les usagers (utilisateurs cibles et experts) ;
– L'étude des autres systèmes informatiques existants.
• A partir des besoins, on doit être en mesure d'établir les règles de gestion des données.
• Exemple :
– Pour chaque livre, on doit connaître le titre, l'année de parution, le type (roman, poésie…) ;
– Un livre peut être rédigé par un ou plusieurs auteurs dont on connaît le nom, le prénom, la date de
naissance et le pays d'origine ;
Module : Bases de données 5
ANALYSE DE L’EXISTANT ET DES BESOINS :
DICTIONNAIRE DE DONNÉES
• Après le recueil des besoins auprès des utilisateurs, il faut désormais recenser les informations
collectées. C’est une étape de listing de toutes les données à informatiser sous forme d’un tableau
appelé dictionnaire des données.
• Dans un dictionnaire de données, les données ne doivent pas être :
– Calculées (exemple : moyenne) ;
– Composés (exemple : une adresse est obtenue à partir d'une rue, d'une ville et d'un code postal).
• Pour chaque donnée, le dictionnaire de donnée indique :
– Le code mnémonique : il s'agit d'un libellé désignant une donnée ( prix_a) ;
– La désignation : expression décrivant ce que représente la donnée (prix de l’article) ;
– Le type de donnée ;
– La taille ;
– Le commentaire : représente des remarques complémentaires (< 200s).
Module : Bases de données 6
ANALYSE DE L’EXISTANT ET DES BESOINS :
DÉPENDANCES FONCTIONNELLES
• Une dépendance fonctionnelle est une contrainte qui spécifie la relation entre deux ensembles
d’attributs.
• Soit R(U) une relation avec U l’ensemble de ses attributs.
• Soit X,Y⊆U, c'est-à-dire que X et Y sont deux attributs ou ensemble d’attributs de R.
• On dit qu’il existe une dépendance fonctionnelle (DF) entre X et Y, si pour toute valeur de X, il ne
lui est associé qu’une seule valeur de Y dans tout tuple de R.
• On notera une telle dépendance fonctionnelle : X→Y (X détermine Y ou Y dépend
fonctionnellement de X).
• Exemples :
– C_massar →nom_élève, prénom_élève
– Id_livre → titre_livre
Module : Bases de données 7
ANALYSE DE L’EXISTANT ET DES BESOINS :
DÉPENDANCES FONCTIONNELLES
• Propriétés des dépendances fonctionnelles :
– Réflexivité : si Y⊆X, alors X→Y ;
– Augmentation : si X→Y, alors X,Z→Y,Z ;
– Transitivité : si X→Y et Y→Z, alors X→Z ;
– Décomposition : si X→Y,Z, alors X→Y et X→Z ;
– Union : si X→Y et X→Z, alors X→Y,Z ;
– Pseudo-transitivité : si X→Y et W,Y→Z, alors W,X→Z.
Module : Bases de données 8
ANALYSE DE L’EXISTANT ET DES
BESOINS : DF ÉLÉMENTAIRE
• Une Dépendance fonctionnelle X→Y est élémentaire si pour tout X’X la dépendance
fonctionnelle X’→Y n’est pas vraie.
• Exemple :
– id_livre, titre_livre → date_parution
Cette dépendance n’est pas élémentaire car id_livre → date_parution est vraie.
Module : Bases de données 9
ANALYSE DE L’EXISTANT ET DES
BESOINS: CLÉ D’UNE RELATION
• La clé d’une relation est l’ensemble d’attributs dont les valeurs permettent de caractériser les
tuples de la relation de manière unique.
• On dit qu’un attribut ou une liste d’attributs X est une clé pour la relation R(X,Y,Z) si :
– X→ Y, Z ;
– X→ Y, Z est élémentaire.
Module : Bases de données 10
DÉPENDANCES FONCTIONNELLES :
FORMES NORMALES
Les formes normales ont été définies pour permettre la décomposition des relations sans perte
d’informations en utilisant la notion de dépendance fonctionnelle.
Module : Bases de données 11
DÉPENDANCES FONCTIONNELLES :
PREMIÈRE FORME NORMALE (1FN)
• Une relation R est en première forme normale et notée 1FN si chaque attribut de R a un
domaine simple, c’est à dire dont les valeurs sont atomiques.
• Exemple :
Livre (Id_livre, Titre, Auteurs, Editeur)
La relation Livre n’est pas en première forme normale car l’attribut Auteurs a plusieurs valeurs.
Module : Bases de données 12
DÉPENDANCES FONCTIONNELLES :
DEUXIÈME FORME NORMALE (2FN)
• Une relation R est en deuxième forme normale (2FN) si et seulement si :
– Elle est en première forme normale ;
– Tout attribut n’appartenant pas à une clé ne dépendra d’aucun sous-ensemble de clé (ne dépend pas d’une
partie d’une clé).
• Exemple : soit la relation Emprunt avec ses DF
Emprunt(id_livre, titre, c_massar, nom, date_emprunt)
F1 : id_livre → titre
F2 : c_massar → nom
F3 : id_livre, c_massar → date_emprunt
Emprunt n’est pas une relation en 2FN. Elle pourra être décomposée en : Livre(id_livre, titre),
Elève(c_massar, nom) et Emprunt(id_livre, c_massar, date_emprunt).
Module : Bases de données 13
DÉPENDANCES FONCTIONNELLES :
TROISIÈME FORME NORMALE (3FN)
• Une relation R est en troisième forme normale (3FN) si et seulement si :
– Elle est en deuxième forme normale ;
– Tout attribut n’appartenant pas à une clé ne dépendra pas d’un attribut non clé.
• La 3FN permettra d’éliminer les redondances dues aux dépendances transitives et préserve les DF.
• Exemple : soit la relation Voiture avec ses DF
Voiture(NumVoiture, Marque, Type, Puissance, Couleur)
F1 : NumVoiture→ Marque, Type, Puissance, Couleur
F2 : Type → Marque
La relation Voiture n'est pas en 3FN. Cette relation peut ainsi être décomposée en deux relations : Voiture
(NumVoiture, #Type, Couleur, Puissance) et Modèle(Type, Marque).
Module : Bases de données 14