Vous êtes sur la page 1sur 132

Année Universitaire: 2021/2022

FILIERE : Génie Civil

Initiation à la Conception de Base de Données

Chapitre 1

Pr. Khalid EL ASNAOUI

k.elasnaoui@ump.ac.ma

Pr. Khalid EL ASNAOUI 1 / 132


Contenu de module

Chapitres
1 Initiation à la Conception de Base de Données
2 Structured Query Language (SQL)

Pr. Khalid EL ASNAOUI 2 / 132


Objectifs

À la fin de ce chapitre
Vous saurez comment :
Appréhender la théorie des bases de données,
Analyser les besoins,
Apprendre à organiser les données en fonction des besoins,
Concevoir, créer, implémenter et maintenir les systèmes de gestion de
données d’une entreprise,
Produire des modèles physiques et logiques de conceptions pour le sys-
tème de base de données proposé.

Pr. Khalid EL ASNAOUI 3 / 132


Plan

1 Introduction générale

2 Base de Données et SGBD

3 Analyse et Conception des Systèmes d’Information

4 Méthode d’Analyse et Conception

5 Modèle Conceptuel des Données (MCD)

6 Régles de normalisation

7 Modèle Logique des Données (MLD)

8 Modèle Physique des Données (MPD)

Pr. Khalid EL ASNAOUI 4 / 132


Introduction générale

Pr. Khalid EL ASNAOUI 5 / 132


Introduction générale
Définitions

Qu’est ce qu’une Base de Données ?


Selon Wikipédia : «En informatique, une base de données (Abr. : «BD»
ou «BdD» ou encore DB en anglais) est un lot d’informations stockées
dans un dispositif informatique»,
Selon Marc Grange : «Une base de données est un ensemble struc-
turé d’informations non redondantes dont l’organisation est régie par
un modèle de données»,

Structuration (à l’aide du modèle de données)


Non répétition (non redondance ou redondance minimale) des données

Pr. Khalid EL ASNAOUI 6 / 132


Introduction générale
Définitions

Qu’est ce qu’une Base de Données ?


Selon AFNOR : «Une Base de Données est une structure de données
permettante de recevoir, de stocker, et de fournir à la demande, des
données à de multiples utilisateurs indépendants»,
Une Base de Données est un ensemble structuré de données enregistrées
sur des supports accessibles par l’ordinateur pour satisfaire simultané-
ment plusieurs utilisateurs de façon sélective et en un temps opportun.

L’Association Française de Normalisation (AFNOR) est l’organisation française qui représente la France auprès
de l’Organisation internationale de normalisation et du Comité européen de normalisation.

Pr. Khalid EL ASNAOUI 7 / 132


Introduction générale
Définitions

Qu’est ce qu’un Système de Gestion de Base de Données ?


La gestion de la base de données se fait à l’aide d’un système ap-
pelé Système de Gestion de Base de Données (SGBD) ou en anglais
DataBase Management System (DBMS),
Le SGBD est un ensemble de services (applications logicielles) permet-
tant de gérer les bases de données, c’est-à-dire :
Permettre l’accès aux données de façon simple,
Autoriser un accès aux informations à de multiples utilisateurs,
Manipuler les données présentes dans la base de données (inserstion,
modification, supprission).
Le SGBD est l’interface entre la base de données et les utilisateurs.

Pr. Khalid EL ASNAOUI 8 / 132


Introduction générale
Définitions

Qu’est ce qu’un Système d’information ?


Le système d’information (SI) est un ensemble d’éléments (person-
nel, matériel, logiciel...) permettant d’acquérir, traiter, mémoriser et
communiquer des informations,
Le SI est un ensemble de composantes interdépendantes qui recueillent,
traitent, stockent et sortent les données nécessaires pour exécuter une
tâche administrative,
Le SI peut se définir par son objectif, qui est d’assurer la saisie, la
conservation, le traitement et la circulation des informations, de façon
à ce que chacun, dans l’organisation, puisse disposer au bon moment
des données dont il a besoin pour remplir sa tâche.

Pr. Khalid EL ASNAOUI 9 / 132


Introduction générale
Définitions

Exemple

Pr. Khalid EL ASNAOUI 10 / 132


Introduction générale
Définitions

A ne pas confondre le système d’information (SI) et le système


informatique (SI)

Système informatique
Le système informatique regroupe les moyens informatiques utiles pour traiter
l’information : ordinateurs, réseaux, programmes, mais aussi des locaux et
du personnel. . .

Pr. Khalid EL ASNAOUI 11 / 132


Base de Données et SGBD

Pr. Khalid EL ASNAOUI 12 / 132


Base de Données et SGBD
Base de Données
Dans une base de données, les données doivent pouvoir être utilisées
par des programmes, par des utilisateurs différents,
Ansi, la notion de base de données est généralement couplée à celle de
réseau, afin de pouvoir mettre en commun ces informations, d’où le
nom de base.

Pr. Khalid EL ASNAOUI 13 / 132


Base de Données et SGBD

Objectifs d’une Base de Données


Les objectifs que l’on assigne généralement aux bases de données et aux
systèmes qui les supportent sont les suivants :
La centralisation,
L’indépendance entre les données et les traitements,
La structuration de données complexes,
Le partage des données,
L’intégrité et la cohérence,
La confidentialité,
La sécurité.

Pr. Khalid EL ASNAOUI 14 / 132


Base de Données et SGBD
SGBD
Afin de pouvoir contrôler les données ainsi que les utilisateurs, le besoin
d’un système de gestion s’est vite fait ressentir : c’est le rôle d’un SGBD
Le SGBD peut se décomposer en trois-systèmes :
Le Système de Gestion de Fichiers (SGF)
Le SGBD interne
Le SGBD externe

Pr. Khalid EL ASNAOUI 15 / 132


Base de Données et SGBD
SGBD

Le système de gestion de fichiers


C’est le niveau relatif à la mémoire physique,
Il concerne la structure de stockage physique de la base de données,
notament, les types de fichiers utilisées, caractéristiques des enregis-
trements (longueur, composants), ainsi que l’accès aux données par
exemple à travers les tables et indexes,
C’est le stockage des informations sur un support physique.

Pr. Khalid EL ASNAOUI 16 / 132


Base de Données et SGBD
SGBD

Le SGBD externe
Il s’agit du niveau où les utilisateurs interrogent la Base de Données,
A ce niveau, à chaque utilisateur ou groupe d’utilisateurs, des vues sur
tout ou sur une partie du schéma sont associées,
C’est l’interface avec l’utilisateur.

Pr. Khalid EL ASNAOUI 17 / 132


Base de Données et SGBD
SGBD

Le SGBD interne
Il décrit la structure des données dans la base, les contraintes d’intégrité,
leurs propriétés et leurs relations, indépendament de toute préoccupa-
tion technologique d’implémanatation ou accès par les utilisateurs,
En général, la vue conceptuelle est censée être une vue des données
telles qu’elles sont réellement,
C’est l’ordonnancemant des informations.

Pr. Khalid EL ASNAOUI 18 / 132


Base de Données et SGBD

Objectifs d’un SGBD


Indépendance physique (données/programmes) :
Possibilité de modifier l’organisation physique (accès) sans modifier les
programmes
Indépendance logique :
Modification du schéma conceptuel sans modification des programmes
Manipulation des données :
Manipulations des données par des utilisateurs qui n’ont pas la connais-
sance de l’organisation de la base et qui disposent de langages évolues
"naturels"
Efficacité des accès aux données :
Possibilités pour les utilisateurs avertis de manipuler les données à par-
tir de langages hôtes (Python, Java, J2EE,...). Efficacité et rapidité au
niveau des accès sur les supports
Administration centralisée des données :

Pr. Khalid EL ASNAOUI 19 / 132


Base de Données et SGBD

Objectifs d’un SGBD


L’administrateur de la base définit les structures de données, de stockage
et de contrôle
Non redondance des données :
Eviter qu’une même donnée apparaisse plusieurs fois dans la base pour
éviter les problèmes de mise à jour
Intégrité des données :
Cohérence des données lors des mises à jour (les règles de contraintes
d’intégrité sont définies par l’administrateur)
Partageabilite des données :
Plusieurs applications simultanées sur les données
Sécurité des données :
Contrôle des droits d’accès
Reprise sur panne

Pr. Khalid EL ASNAOUI 20 / 132


Base de Données et SGBD

Exemples de SGBD
Oracle est un SGBD relationnel (et Relationnel-Objet dans ses dernières
versions) très reconnu pour les applications professionnelles,
MySQL est un SGBD relationnel libre, simple et très performant (mais
qui n’implémente pas l’ensemble des fonctions attendues d’un SGBD,
telles que les transactions (La version de MySQL 4.0, annonce des avan-
cées significatives sur les lacunes jusque là reconnues et assumées de ce
SGBD)),
Access est un SGBD relationnel Microsoft, qui offre une interface convi-
viale permettant de concevoir rapidement des applications de petite en-
vergure ou de réaliser des prototypes à moindre frais).

Pr. Khalid EL ASNAOUI 21 / 132


Analyse et Conception des Systèmes d’Information

Pr. Khalid EL ASNAOUI 22 / 132


Analyse et Conception des Systèmes d’Information

Définition
L’Analyse et Conception des Systèmes d’Information (ACSI) a pour objet
l’analyse et la conception des systèmes d’information (SI) des organisations.

Analyse
On s’intéresse en général à un domaine d’activité de l’entreprise : ventes,
production,..
On prend en compte les besoins des utilisateurs,
On définit le problème à résoudre (fonctionnalités et qualités attendues).

Pr. Khalid EL ASNAOUI 23 / 132


Analyse et Conception des Systèmes d’Information

Conception
On définit une solution informatique :
Structuration des données,
Organisation des traitements,
Définition des postes de travail,
Choix techniques : matériels, langages de programmation, logiciels de
gestion de données (SGBD), . . .

Pr. Khalid EL ASNAOUI 24 / 132


Analyse et Conception des Systèmes d’Information

Démarche de conception
La modélisation d’un problème, c’est-à-dire le passage du monde réel
à sa représentation informatique, se définit en plusieurs étapes pour
parvenir à son intégration dans un SGBD-R et permettre la manipulation
des données par le langage SQL (Chapitre 3).
Classiquement, le processus de conception des données passe par deux
phases :
Réalisation d’un modèle conceptuel,
Traduction en un modèle relationnel.

Pr. Khalid EL ASNAOUI 25 / 132


Analyse et Conception des Systèmes d’Information

Démarche globale d’informatisation


En d’autres termes, il s’agit d’apprendre une manière professionnelle de tra-
vailler pour produire des applications informatiques complexes au sein des
entreprises.

Pr. Khalid EL ASNAOUI 26 / 132


Analyse et Conception des Systèmes d’Information

Notion de modèle
Au centre de la démarche d’ACSI, on trouve la notion de modèle.
Un modèle est une représentation simplifiée d’une réalité sur laquelle on
veut être renseigné (ex : plan, carte, schéma, . . . ),
Un modèle s’exprime avec un ensemble de concepts, dotés de règles
d’utilisation et de représentations (souvent graphiques).

Pr. Khalid EL ASNAOUI 27 / 132


Analyse et Conception des Systèmes d’Information

Notion de modèle
En ACSI, les modèles servent à :
Communiquer : vérifier que l’analyste a bien compris les utilisateurs
grâce à un modèle du problème (phase d’analyse),
Préparer la réalisation : grâce à un modèle de la solution (phase de
conception).

Pr. Khalid EL ASNAOUI 28 / 132


Analyse et Conception des Systèmes d’Information

Un bon analyste-concepteur
Qualités pour devenir un bon analyste-concepteur
Qualités relationnelles (dialogue avec les utilisateurs, travail en équipe),
Ténacité et rigueur (trouver ce qui est important, ne pas se noyer dans
les détails, fuir l’à peu près, . . . ),
Créativité (peu de recettes utilisables, inventer une solution adéquate,
. . . ).

Pr. Khalid EL ASNAOUI 29 / 132


Analyse et Conception des Systèmes d’Information

Outils de conception de BD (Open-source, multi-OS)


MySQLWorkbench : http ://mysqlworkbench.org/
JMerise : http ://www.jfreesoft.com/JMerise/
Dia : http ://dia-installer.de/
Rise Editor : http ://www.risetobloome.com/
DB-Main : http ://www.db-main.be/
https ://www.draw.io/

Pr. Khalid EL ASNAOUI 30 / 132


Analyse et Conception des Systèmes d’Information

Outils de conception de BD (propriétaires, payants)


Power AMC : www.sybase.com
Windesign : http ://www.win-design.com/fr/
Modelio SQL Designer :
http ://www.modeliosoft.com/fr/modules/sql-designer.html
Et bien d’autres. . . ..

Pr. Khalid EL ASNAOUI 31 / 132


Analyse et Conception des Systèmes d’Information
Démarche

Pr. Khalid EL ASNAOUI 32 / 132


Méthode d’analyse et conception

Pr. Khalid EL ASNAOUI 33 / 132


Méthode d’Analyse et Conception

Besoin d’une méthode ?


La conception d’un système d’information n’est pas évidente, car il faut
réflichir à l’ensemble des informations que l’on doit mettre en place,
La phase de conception nécessite des méthodes permettante de mettre
en place un modèle sur lequel on va s’appuyer,
La modélisation conciste à créer une représentation virtuelle d’une réa-
lité de telle façon à faire ressortir des points auxquels on s’interesse.

Pr. Khalid EL ASNAOUI 34 / 132


Méthode d’Analyse et Conception

Besoin d’une méthode ?


Selon le Petit Robert, une méthode est un ensemble de démarches
raisonnées, suivies, pour parvenir à un but,
Tel est bien l’objet des méthodes de conception et de développement
des SI : présenter une démarche et un ensemble de modèles permettant
de définir et mettre en place un nouveau système.

Pr. Khalid EL ASNAOUI 35 / 132


Méthode d’Analyse et Conception

Avantages d’utilisation d’une méthode


Une meilleure gestion et un meilleur suivi du projet en cours,
Une facilité de dialogue entre les membres du projet et ensuite avec les
utilisateurs du fait qu’elle utilise un formalisme commun et constitue
une documentation.

Il existe plusieurs méthodes d’analyse, la méthode utilisée dans ce


chapitre est celle de : MERISE

Pr. Khalid EL ASNAOUI 36 / 132


Méthode d’Analyse et Conception

C’est quoi MERISE ?


MERISE : Méthode d’Etude et de Réalisation Informatique pour les
Systèmes d’Entreprise,
MERISE date de 1978-1979, et fait suite à une consultation nationale
lancée en 1977 par le ministère de l’Industrie dans le but de choisir
des sociétés de conseil en informatique afin de définir une méthode de
conception de systèmes d’information,
Les deux principales sociétés ayant mis au point cette méthode sont
le Centre Technique d’Informatique (CTI) chargé de gérer le projet,
et le Centre d’Etudes Techniques de l’Equipement (CETE) implanté à
Aix-en-provence.

Pr. Khalid EL ASNAOUI 37 / 132


Méthode d’Analyse et Conception

C’est quoi MERISE ?


MERISE est une méthode de conception, de développement et de réa-
lisation de projets informatiques. Le but de cette méthode est d’arriver
à concevoir un système d’information,
La méthode MERISE est basée sur la séparation des données et des
traitements à effectuer en plusieurs modèles conceptuels et physiques.
La séparation des données et des traitements assure une longévité au
modèle,
En effet, l’agencement des données n’a pas à être souvent remanié,
tandis que les traitements le sont plus fréquement.

Pr. Khalid EL ASNAOUI 38 / 132


Modèle Conceptuel des Données (MCD)

Pr. Khalid EL ASNAOUI 39 / 132


Modèle Conceptuel des Données (MCD)

Entité
Une entité est un objet spécifique, concret ou abstrait, de la réalité
perçue. Elle peut être une personne, un objet inerte, un concept abstrait
un événement, ....
Elle désigne un ensemble d’objet qui possèdent une sémantique et pro-
priétés communes,
Les entités peuvent être regroupées en type d’entités,
Elle est représentée par un rectangle, souvent nom majuscule.

Pr. Khalid EL ASNAOUI 40 / 132


Modèle Conceptuel des Données (MCD)

Attribut
Un Attribut est une caractéristique d’une entité (ou d’une association)
que le concepteur juge nécessaire de répertorier,
C’est la modélisation d’une information élémentaire présente dans le
discours.

Pr. Khalid EL ASNAOUI 41 / 132


Modèle Conceptuel des Données (MCD)

Attribut
Il est possible de spécifier le type chaque attribut : numérique, caractère,
date, ... ainsi que sa longueur,
Un attribut prend ses valeurs dans un ensemble de valeurs possibles
appelé "domaine".

Pr. Khalid EL ASNAOUI 42 / 132


Modèle Conceptuel des Données (MCD)

Identifiant
Un identifiant permet d’identifier de manière unique une occurence
d’une entité parmis toutes les occurences,
Il est choisi par l’analyse de façon à ce que deux occurences d’une entité
ne puissent pas avoir le même identifiant,
Un identifiant peut être constitué d’un ou plusieurs attributs,
Le ou les identifiants d’une entité sont soulignés.

Pr. Khalid EL ASNAOUI 43 / 132


Modèle Conceptuel des Données (MCD)

Conseils
Eviter les identifiants composés de plusieurs attributs (comme par
exemple un identifiant formé par les attributs nom du client et prénom),
Préférer un identifiant court pour rendre la recherche la plus rapide
possible (éviter par exemple les chaînes de caractères comme le numéro
de sécurité sociale ou la plaque d’immatriculation),
Dans le modèle physique de données, on utilise une clé numérique ( un
entier) incrémentée automatiquement.

Pr. Khalid EL ASNAOUI 44 / 132


Modèle Conceptuel des Données (MCD)

Association
Une association est l’ensemble de liaisons et d’interactions entre diffe-
rentes entités,
En conception de base de données, une association précise et explicite
le lien entre plusieurs entitées,
Une association est une liaison entre 2 entites minimum, mais il n’y a
pas de maximum.

Pr. Khalid EL ASNAOUI 45 / 132


Modèle Conceptuel des Données (MCD)

Attribut d’une association


Une association peut être porteuse d’informations :
Les cardinalités
Les attributs
Les contraintes
Des informations qui ne peuvent prendre de sens qu’avec la présence de
l’ensemble des entités constituant cette relation,
Un attribut peut être placé dans une association uniquement lorsqu’il
dépend de toutes les entités liées par cette association.

Pr. Khalid EL ASNAOUI 46 / 132


Modèle Conceptuel des Données (MCD)

Cardinalités
Les cardinalités permettent de caractériser le lien qui existe entre une
entité et la relation à laquelle elle est reliée,
La cardinalité d’une relation est composé d’un couple comportant une
borne maximale et une borne minimale, intervalle dans lequel la cardi-
nalité d’une entité peut prendre sa valeur :
La borne minimale (généralement 0 ou 1) décrit le nombre minimum de
fois qu’une entité peut participer à une relation,
La borne maximale (généralement 1 ou n) décrit le nombre maximum
de fois qu’une entité peut participer à une relation.

Pr. Khalid EL ASNAOUI 47 / 132


Modèle Conceptuel des Données (MCD)

Cardinalités
La cardinalité se lit comme suit :
Un étudiant peut ne pas emprunter aucun livre (min=0), comme il peut
emprunter plusieurs livre (max=n),
Un livre peut ne pas être emprunté (min=0), comme il peut être emprn-
tée par un seul étudiant (max=1).

Pr. Khalid EL ASNAOUI 48 / 132


Modèle Conceptuel des Données (MCD)

Types de cardinalité
0,1
1, 1
0, N
1, N
Premier nombre de la cardinalité : nombre minimal d’associations pos-
sibles (min),
Second nombre de la cardinalité : nombre maximal d’associations pos-
sibles (max).

Pr. Khalid EL ASNAOUI 49 / 132


Modèle Conceptuel des Données (MCD)

Cardinalité
Le schéma ci-dessous se lit :
1 stage est proposé par 1 entreprise et une seule,
1 entreprise propose 0 ou n stages (pas de limite max).

Pr. Khalid EL ASNAOUI 50 / 132


Modèle Conceptuel des Données (MCD)

Cardinalité
Cardinalité (1,1) ou (0,1)

Cardinalité (0,n) ou (1,n)

Pr. Khalid EL ASNAOUI 51 / 132


Modèle Conceptuel des Données (MCD)

Cardinalité
Cardinalités (N,M)

Un étudiant peut candidater dans 2 universités au minimum et jusqu’à


4 universités au maximum,
Une université peut avoir 10 candidatures au minimum et 100 candida-
tures au maximum.

Pr. Khalid EL ASNAOUI 52 / 132


Modèle Conceptuel des Données (MCD)

Règles
L’expression de la cardinalité est obligatoire,
Il ne peut y avoir de cardinalité maximale égale à 0,
Si une cardinalité est connue et vaut 2 ou plus, alors nous considérons
qu’elle est indéterminée et vaut n. En effet, si cette valeur est définie
lors de la conception, il se peut qu’elle évolue dans le futur. Il faut donc
considérer n comme inconnue dès la conception.

Pr. Khalid EL ASNAOUI 53 / 132


Modèle Conceptuel des Données (MCD)

Dimension d’une association


Dimension : Nombre de «pattes» de l’association
Binaire
Ternaire
n-aire

Pr. Khalid EL ASNAOUI 54 / 132


Modèle Conceptuel des Données (MCD)

Association Binaire
Permet de relier deux entités entre elles. Elle se représente par le biais
d’un ovale ou d’un losange contenant son nom et ses éventuels attributs.

Pr. Khalid EL ASNAOUI 55 / 132


Modèle Conceptuel des Données (MCD)

Association ternaires
Il est toujours possible de réécrire une association ternaire avec trois
associations binaires.

Pr. Khalid EL ASNAOUI 56 / 132


Modèle Conceptuel des Données (MCD)

Association n-aire
Ce type association met en relation n type entité. Même s’il n’y a, en
principe, pas de limite sur l’arité d’un type association, dans la pratique
on ne va rarement au-delà de trois. Les associations de degré supérieur
à deux sont plus difficiles à manipuler et à interpréter, notamment au
niveau des cardinalités.

Pr. Khalid EL ASNAOUI 57 / 132


Modèle Conceptuel des Données (MCD)

Association plurielle
Deux mêmes entités peuvent participer dans plusieurs associations à la
fois.

Exemple
Sur ce schéma, une association permet de modéliser que des personnes
ayant écris des livres et une autre pour des personnes qui critiquent (au
sens de critique littéraire) des livres.

Pr. Khalid EL ASNAOUI 58 / 132


Modèle Conceptuel des Données (MCD)

Exercice
Dans cet exemple issu d’une agence immobilière, une personne peut être
propriétaire, résider principalement ou résider secondairement dans un loge-
ment géré par l’agence. Les logements qui ne sont pas gérés par l’agence ne
figurent pas dans l’entité des logements, ce qui explique certaines cardina-
lités 0 du schéma. Nous supposons également qu’un logement n’est détenu
que par une seule personne et que ce propriétaire figure obligatoirement dans
l’entité des personnes.
Etablir le Modèle Conceptuel de Données

Pr. Khalid EL ASNAOUI 59 / 132


Modèle Conceptuel des Données (MCD)

Solution

Pr. Khalid EL ASNAOUI 60 / 132


Modèle Conceptuel des Données (MCD)

Association réflexive
Une association réflexive permis à une association d’être branchée
plusieurs fois à la même entité.

Exemple 1
On veut modéliser le fait qu’un professeur puisse se faire remplacer par
plusieurs collègues qu’il peut lui-même en remplacer plusieurs.

Pr. Khalid EL ASNAOUI 61 / 132


Modèle Conceptuel des Données (MCD)

Exemple 2
Dans cet exemple, tout employé est dirigé par un autre employé (sauf le
directeur général), et un employé peut diriger plusieurs autres employés,
ce qui explique les cardinalités sur le schéma.

Pr. Khalid EL ASNAOUI 62 / 132


Modèle Conceptuel des Données (MCD)

Entité faible
Jusqu’à présent, nous avons considéré le cas d’entités indépendantes
les unes des autres. Chaque entité, disposant de son propre identifiant,
pouvait être considérée isolément. Il existe des cas où une entité ne
peut exister qu’en étroite association avec une autre, et est identifiée
relativement à cette autre entité. On parle alors d’entité faible.

Définition
Une entité qui ne peut être identifiée par ses seuls attributs propres est
appelée entité faible.

Pr. Khalid EL ASNAOUI 63 / 132


Modèle Conceptuel des Données (MCD)

Exemple
Une chambre peut avoir le même numéro (e.g., chambre 301) dans
deux hôtels différents (e.g., Bougafer et Saghro).
L’identification d’une chambre est relative à l’HOTEL.

Pr. Khalid EL ASNAOUI 64 / 132


Modèle Conceptuel des Données (MCD)

Contraintes d’intégrité
Toutes règles implicites ou explicites que doivent suivre les données
Contraintes d’entité : toute entité doit posséder un identifiant,
Contraintes de domaine : les valeurs de certains attributs doivent être
prises dans un ensemble donné,
Contraintes d’unicité : une valeur d’attribut ne peut pas être affectée
deux fois à deux entités différentes,
Contraintes générales : règle permettant de conserver la cohérence de la
base de manière générale.

Pr. Khalid EL ASNAOUI 65 / 132


Modèle Conceptuel des Données (MCD)

Contraintes d’intégrité
Contraintes de domaine : "La fonction d’un enseignant à l’université
prend sa valeur dans l’ensemble {Vacataire, Moniteur, Professeur}",
Contraintes d’unicité : "Un département, identifié par son numéro, a un
nom unique (il n’y a pas deux départements de même nom)",
Contraintes générales :"Un même examen ne peut pas avoir lieu dans
deux salles différentes à la même date et à la même heure".

Pr. Khalid EL ASNAOUI 66 / 132


Modèle Conceptuel des Données (MCD)

Exercice d’application
Un service de ressources humaines dans une entreprise veut gérer le
personnel. Dans un premier temps, on veut pouvoir connaître le nom,
la fonction, la date d’entrée, le salaire, la commission (part de salaire
variable) de chaque employé et le numéro du département dans lequel
travaille chaque employé. Chaque employé a donc les caractéristiques
suivantes : Nom, fonction, date d’entrée, salaire, commission, numéro
du département.
Le service du personnel souhaite aussi connaître le nom du département
dans lequel l’employé travaille. L’entreprise est répartie dans plusieurs
villes. Les départements sont donc caractérisés par leur nom et par leur
ville. Un employé travaille dans un département et un seul. Il peut y
avoir plusieurs départements qui ont le même nom.
Etablir le Modèle Conceptuel de Données

Pr. Khalid EL ASNAOUI 67 / 132


Modèle Conceptuel des Données (MCD)

Solution
Un service de ressources humaines dans une entreprise veut gérer le person-
nel. Dans un premier temps, on veut pouvoir connaître le nom, la fonction,
la date d’entrée, le salaire, la commission (part de salaire variable) de chaque
employé et le numéro du département dans lequel travaille chaque employé.
Chaque employé a donc les caractéristiques suivantes : Nom, fonction, date
d’entrée, salaire, commission, numéro du département.
Le service du personnel souhaite aussi connaître le nom du département
dans lequel l’employé travaille. L’entreprise est répartie dans plusieurs villes.
Les départements sont donc caractérisés par leur nom et par leur ville. Un
employé travaille dans un département et un seul. Il peut y avoir plusieurs
départements qui ont le même nom.

Pr. Khalid EL ASNAOUI 68 / 132


Modèle Conceptuel des Données (MCD)

Pr. Khalid EL ASNAOUI 69 / 132


Modèle Conceptuel des Données (MCD)

Exercice d’application
Une société est organisée en services. Chaque service a un nom et un
numéro unique et est dirigé par un employé unique
Un service contrôle un certain nombre de projets, chacun d’entre eux
ayant un nom, un numéro et une durée. Un projet ne peut etre contrôlé
que par un seul service
Le nom de chaque employé, son numéro de sécurité sociale, son adresse,
son salaire, son sexe et sa date naissance sont mémorisés. Un employé
est affecté à un service, mais peut travailler sur plusieurs projets qui ne
sont pas forcément contrôlés par le même service. Le volume du travail
d’un employé sur chaque projet est mémorisé. Chaque employé peut
être superviseur de plusieurs employés comme il peut être supérvisé par
un superviseur.
Etablir le Modèle Conceptuel de Données.

Pr. Khalid EL ASNAOUI 70 / 132


Modèle Conceptuel des Données (MCD)

Solution
La société est organisée en services. Chaque service a un nom et un
numéro unique et est dirigé par un employé unique.
Un service contrôle un certain nombre de projets, chacun d’entre eux
ayant un nom, un numéro et une durée. Un projet ne peut être contrôlé
que par un seul service.
Le nom de chaque employé, son nom, son adresse, son salaire, son
sexe et sa date naissance sont mémorisés. Un employé est affecté à
un service, mais peut travailler sur plusieurs projets qui ne sont pas
forcément contrôlés par le même service. Le volume du travail d’un
employé sur chaque projet est mémorisé. Chaque employé peut être
superviseur de plusieurs employés comme il peut être supérvisé par un
superviseur.

Pr. Khalid EL ASNAOUI 71 / 132


Modèle Conceptuel des Données (MCD)

Pr. Khalid EL ASNAOUI 72 / 132


Modèle Conceptuel des Données (MCD)

Synthèse sur les concepts de base


Une entité est une FAMILLE d’objets ayant les mêmes caractéristiques.
Un attribut est une information élémentaire qui permet de décrire une
entité ou une association. Un attribut peut prendre une VALEUR (c’est
l’équivalent d’une variable).
Une ASSOCIATION est un LIEN entre 2 entités ou plus.
Modèle Entité Association= ({Entités }, {Associations}, {Contraintes
d’intégrité}).

Pr. Khalid EL ASNAOUI 73 / 132


Régles de normalisation

Pr. Khalid EL ASNAOUI 74 / 132


Régles de normalisation

Règles de bonne formation d’un modèle entités-associations


La bonne formation d’un modèle entités-associations permet d’éviter une
grande partie des sources d’incohérences et de redondance. Pour être bien
formé, un modèle entités-associations doit respecter certaines règles et les
types entité et type association doivent être normalisés.
Bien que l’objectif des principes exposés dans cette section soit d’aider le
concepteur à obtenir un diagramme entités-associations bien formé, ces prin-
cipes ne doivent pas être interprétés comme des lois. Qu’il s’agisse des règles
de bonne formation ou des règles de normalisation, il peut exister, très oc-
casionnellement, de bonnes raisons pour ne pas les appliquer.

Pr. Khalid EL ASNAOUI 75 / 132


Régles de normalisation

Règles portant sur les noms


Dans un modèle entités-associations, le nom d’un type entité, d’un type
association ou d’un attribut doit être unique.

Exemple
La présence des deux type entité Enseignant et Étudiant est symptomatique
d’une modélisation inachevée. À terme, ces deux type entité doivent être
fusionnés en un unique type entité Personne.

Pr. Khalid EL ASNAOUI 76 / 132


Régles de normalisation
Règles portant sur les noms

Conseils
Pour les entités, utiliser un nom commun au pluriel (par exemple :
clients) ;
Pour les associations, utiliser un verbe à l’infinitif (par exemple : effec-
tuer, concerner) éventuellement à la forme passive (être commandé) et
accompagné d’un adverbe (avoir lieu dans, pendant, à) ;
Pour les attributs, utiliser un nom commun singulier (par exemple :
nom, numéro, libellé, description) éventuellement accompagné du nom
de l’entité ou de l’association dans laquelle il se trouve (par exemple :
nom de client, numéro d’article).

Pr. Khalid EL ASNAOUI 77 / 132


Régles de normalisation
Règles de normalisation des attributs
Il faut remplacer un attribut multiple en un type association et un type entité
supplémentaires.

Exemple
Remplacement des attributs multiples en un type association et un type entité
et décomposition des attributs composites. En effet, les attributs multiples
posent régulièrement des problèmes d’évolutivité du modèle. Par exemple,
comment faire si un employé possède deux adresses secondaires ou plusieurs
numéros de portable ?

Pr. Khalid EL ASNAOUI 78 / 132


Régles de normalisation

Normalisation des attributs des associations


Les attributs d’une association doivent dépendre directement des identifiants
de toutes les entités en association.

Pr. Khalid EL ASNAOUI 79 / 132


Régles de normalisation

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, ...).
Cela signifie que si une cardinalité maximale est connue et vaut 2, 3
ou plus, alors nous considérons quand même qu’elle est indéterminée et
vaut n. Cela se justifie par le fait que même si nous connaissons n au
moment de la conception, il se peut que cette valeur évolue au cours
du temps. Il vaut donc mieux considérer n comme une inconnue dès le
départ.

Pr. Khalid EL ASNAOUI 80 / 132


Régles de normalisation

Règles de fusion/suppression d’entités/associations


Il ne faut jamais ajouter un attribut dérivé d’autres attributs, que ces autres
attributs se trouvent dans le même type entité ou pas.

Exemple
Il faut supprimer l’attribut Montant total du type entité Commande, car on
peut le calculer à partir des attributs Quantité du type association Contenir
et Prix unitaire du type entité Article.

Pr. Khalid EL ASNAOUI 81 / 132


Régles de normalisation

Règles de fusion/suppression d’entités/associations


Il faut factoriser les types entité quand c’est possible.
La spécialisation du type entité obtenu peut se traduire par l’introduction
d’un attribut supplémentaire dont l’ensemble des valeurs possibles est l’en-
semble des noms des types entité factorisés.

Pr. Khalid EL ASNAOUI 82 / 132


Régles de normalisation
Les formes normales

Définition
En plus des règles de normalisation vues précédemment, 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,
Les entités d’un MCD doivent vérifier les règles suivantes, appelées
formes normales.

Pr. Khalid EL ASNAOUI 83 / 132


Régles de normalisation
Les formes normales

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.

Pr. Khalid EL ASNAOUI 84 / 132


Régles de normalisation
Les formes normales

Pr. Khalid EL ASNAOUI 85 / 132


Régles de normalisation
Les formes normales

Deuxième forme normale


Une entité respecte la deuxième forme normale (2FN) si elle est en pre-
mière forme normale et si les attributs n’appartenant pas à l’identifiant
ne dépendent pas fonctionnellement d’une partie de l’identifiant.

Pr. Khalid EL ASNAOUI 86 / 132


Il y a redondance d’informations car les informations sur les groupes sont
répétées plusieurs fois. On note que Groupe dépend fonctionnellement de
N°Groupe.

Pr. Khalid EL ASNAOUI 87 / 132


Régles de normalisation
Les formes normales

Troisième forme normale de Boyce-Codd


Tous les attributs d’une entité doivent dépendre directement de son
identifiant et d’aucun autre attribut.

Pr. Khalid EL ASNAOUI 88 / 132


Régles de normalisation
Les formes normales

Troisième forme normale de Boyce-Codd


L’entité avions dont les valeurs sont données dans le tableau, n’est
pas en troisième forme normale de Boyce-Codd, car la capacité et le
constructeur d’un avion ne dépendent pas du numéro d’avion mais de
son modèle. La solution normalisée est :

Pr. Khalid EL ASNAOUI 89 / 132


Régles de normalisation
Les formes normales

L’entité en 2FN, Mais l’attribut Adresse fournisseur dépend de l’attribut


fournisseur

Pr. Khalid EL ASNAOUI 90 / 132


Régles de normalisation
Les formes normales

Pourquoi l’étude des Formes Normales ?


La mise en 3FN de toutes les relations d’un système d’informations per-
met en regroupant l’ensemble des attributs dépendants fonctionnellement
au sens strict de l’identifiant (unique ou combinaison d’attributs) d’éviter
toutes redondances de données, donc de faciliter la maintenance de la base
de données.

Pr. Khalid EL ASNAOUI 91 / 132


Régles de normalisation
Les formes normales

Exercice d’application
Un pharmacien veut gérer l’ensemble des informations d’achat des médica-
ments par ses clients. Le pharmacien, amateur d’informatique, a réalisé le
tableau indiqué ci-dessous.
1 Indiquer les faiblesses qu’amène ce tableau
2 Réaliser le MCD qui corrigerait ces faiblesses
3 Le client peut acheter le même médicament en quantité, améliorer
votre MCD pour prendre en charge cette nouvelle situation.

Pr. Khalid EL ASNAOUI 92 / 132


Modèle Logique des Données (MLD)

Pr. Khalid EL ASNAOUI 93 / 132


Modèle Logique des Données (MLD)

Contexte
La description conceptuelle a permis de représenter le plus fidèlement
possible les réalités de l’univers à informatiser. Mais cette représentation
ne peut pas être directement manipulée et acceptée par un système
informatique
Il est donc nécessaire de passer du niveau conceptuel à un niveau plus
proche des capacités des systèmes informatiques. Ce niveau, appelé ni-
veau logique, consiste à choisir l’un des trois modèles suivants :
Modèle hiérarchique (années 80)
Modèle réseau
Modèle relationnel

Pr. Khalid EL ASNAOUI 94 / 132


Modèle Logique des Données (MLD)

Contexte
Maintenant que le MCD est établi, on peut le traduire en différents systèmes
logiques et notamment les bases de données relationnelles qui proposent une
vision plus concrète pour modéliser la situation.

Pr. Khalid EL ASNAOUI 95 / 132


Modèle Logique des Données (MLD)

Contexte
Avant l’apparition des systèmes de gestion de base de données (SGBD),
les données étaient stockées dans des fichiers binaires et gérées par des
programmes exécutables (développés en Basic, Cobol ou Dbase, par
exemple),
Aujourd’hui, il existe les SGBD relationnels (SGBDR) avec lesquels l’in-
formation peut être obtenue par une requête formulée dans un langage
quasiment naturel (la langage SQL Chapitre 3). Parmi les SGBDR les
plus répandus nous trouvons Oracle, SQL Server, etc. Nous nous conten-
tons ici d’exposer le modèle logique de données relationnel (MLDR).

Pr. Khalid EL ASNAOUI 96 / 132


Modèle Logique des Données (MLD)

Définitions
Le Modèle Logique des Données (MLD) est un modèle permettant
de modéliser la structure selon laquelle les données seront stockées dans
la future base de données,
Il consiste à décrire la structure de données utilisée sans faire référence
à un langage de programmation. Il s’agit donc de préciser le type de
données utilisées lors des traitements,
Le MLD est la traduction, sous forme de relations linéaires, du MCD,
Il est appelé aussi "Modèle Relationnel".

Pr. Khalid EL ASNAOUI 97 / 132


Modèle Logique des Données (MLD)

Définitions
Dans ce type de modèle sont associés les notions suivantes :
Relation (ou table) est définie comme un tableau de données,
Les colonnnes sont les attributs et les lignes sont les tuples,
Clé primaire : un ou plusieurs attributs permettant d’identifier de façon
unique chaque tuple de la table,
Le lien entre deux tables relationnelles est résalisé par la duplication de
la clé primaire d’une table dans l’autre : Cette duplication est appelée
Clé étrangère.

Pr. Khalid EL ASNAOUI 98 / 132


Modèle Logique des Données (MLD)

Tables, lignes et colonnes


Lorsque des données ont la même structure (comme par exemple, les rensei-
gnements relatifs aux clients), on peut les organiser en table dans laquelle
les colonnes décrivent les champs en commun et les lignes contiennent les
valeurs de ces champs pour chaque enregistrement.

Pr. Khalid EL ASNAOUI 99 / 132


Modèle Logique des Données (MLD)

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,
L’absence de valeur dans une clé primaire ne doit pas être autorisée.
Autrement dit, la valeur vide (NULL) est interdite dans une colonne
qui sert de clé primaire, ce qui n’est pas forcément le cas des autres
colonnes, dont certaines peuvent ne pas être renseignées à toutes les
lignes,
De plus, la valeur de la clé primaire d’une ligne ne devrait pas, en
principe, changer au cours du temps.

Pr. Khalid EL ASNAOUI 100 / 132


Modèle Logique des Données (MLD)

Clés primaires et clés étrangères


Par convention, on souligne les clés primaires et on fait précéder les clés
étrangères d’un dièse # dans la description des colonnes d’une table :
clients(numéro client, nom client, prénom, adresse client)
commandes(numéro commande, date de commande, #num´ero client
(non vide))

Pr. Khalid EL ASNAOUI 101 / 132


Modèle Logique des Données (MLD)

Clés primaires et clés étrangères : Remarques


Une même table peut avoir plusieurs clés étrangères mais une seule clé
primaire (éventuellement composées de plusieurs colonnes),
Une colonne clé étrangère peut aussi être primaire (dans la même table) ;
Une clé étrangère peut être composée (c’est le cas si la clé primaire
référencée est composée),
Implicitement, chaque colonne qui compose une clé primaire ne peut
pas recevoir la valeur vide (NULL interdit),
Par contre, si une colonne clé étrangère ne doit pas recevoir la valeur
vide, alors il faut le préciser dans la description des colonnes.

Pr. Khalid EL ASNAOUI 102 / 132


Modèle Logique des Données (MLD)

Schéma relationnel
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.

Pr. Khalid EL ASNAOUI 103 / 132


Modèle Logique des Données (MLD)

Schéma relationnel
Certains éditeur inscrivent sur le connecteur un symbole 1 côté clé pri-
maire et un symbole ∞ côté clé étrangère (à condition que celle-ci ne
soit pas déjà clé primaire). Il faut prendre garde avec cette convention,
car le symbole ∞ se trouve du côté opposé à la cardinalité maximale n
correspondante.

Pr. Khalid EL ASNAOUI 104 / 132


Modèle Logique des Données (MLD)
Traduction d’un MCD en un MLDR

Règle 1
Toute entité devient une table dans laquelle les attributs deviennent les co-
lonnes. L’identifiant de l’entité constitue alors la clé primaire de la table.

Pr. Khalid EL ASNAOUI 105 / 132


Modèle Logique des Données (MLD)
Traduction d’un MCD en un MLDR

Pr. Khalid EL ASNAOUI 106 / 132


Modèle Logique des Données (MLD)
Traduction d’un MCD en un MLDR

Règle 2
Une association binaire de type 1 : n disparait, au profit d’une clé étrangère
dans la table côté 0,1 ou 1,1 qui référence la clé primaire de l’autre table.
Cette clé ´étrangère ne peut pas recevoir la valeur vide si la cardinalité est
1,1.

Pr. Khalid EL ASNAOUI 107 / 132


Modèle Logique des Données (MLD)
Traduction d’un MCD en un MLDR

Pr. Khalid EL ASNAOUI 108 / 132


Modèle Logique des Données (MLD)
Traduction d’un MCD en un MLDR

Pr. Khalid EL ASNAOUI 109 / 132


Modèle Logique des Données (MLD)
Traduction d’un MCD en un MLDR

Règle 3
Une association binaire de type n : m devient une table supplémentaire (par-
fois appelée table de jonction, table de jointure ou table d’association) dont
la clé primaire est composée de deux clés étrangères (qui référencent les deux
clés primaires des deux tables en association). Les attributs de l’association
deviennent des colonnes de cette nouvelle table.

Pr. Khalid EL ASNAOUI 110 / 132


Modèle Logique des Données (MLD)
Traduction d’un MCD en un MLDR

Pr. Khalid EL ASNAOUI 111 / 132


Modèle Logique des Données (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é (cette contrainte
d’unicité impose à la colonne correspondante de ne prendre que des valeurs
distinctes).

Pr. Khalid EL ASNAOUI 112 / 132


Modèle Logique des Données (MLD)
Traduction d’un MCD en un MLDR

Règle 4
Si les associations fantômes ont été éliminées, il devrait y avoir au moins
un côté de cardinalité 0,1. C’est alors dans la table du côté opposé que doit
aller la clé étrangère. Si les deux côtés sont de cardinalité 0,1 alors la clé
´étrangère peut être placée indifféremment dans l’une des deux tables.

Pr. Khalid EL ASNAOUI 113 / 132


Modèle Logique des Données (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. Les attributs de l’association deviennent des colonnes de cette
nouvelle table.

Pr. Khalid EL ASNAOUI 114 / 132


Modèle Logique des Données (MLD)
Traduction d’un MCD en un MLDR

Pr. Khalid EL ASNAOUI 115 / 132


Modèle Physique des Données (MPD)

Pr. Khalid EL ASNAOUI 116 / 132


Modèle Physique des Données

Définition
Le Modèle Physique des Données (MPD) est la traduction du Mo-
dèle Logique des Données (MLD) dans un SGBDR choisi, en tenant
compte des contraintes de ce dernier, et en faisant éventuellement des
choix stratégiques
Cette étape consiste à implémenter le modèle dans le SGBD, c’est-à-dire
le traduire dans un langage de définition de données
Le langage généralement utilisé pour ce type d’opération est le SQL, et
plus spécialement le langage de définition de données du SQL

Pr. Khalid EL ASNAOUI 117 / 132


Modèle Physique des Données

Définition
Le MPD permet d’avoir une représentation graphique de la structure
d’une base de données et ainsi de mieux comprendre les relations entre
les différents tables
Il permet d’avoir un point de vue global sur l’ensemble de la base de
données

Pr. Khalid EL ASNAOUI 118 / 132


Modèle Physique des Données

Distinction entre MLD et MPD


La traduction d’un MLD conduit à un MPD qui précise notamment le
stockage de chaque donnée à travers son type et sa taille (en octets ou
en bits). Cette traduction est également l’occasion d’un certain nombre
de libertés prises par rapport aux règles de normalisation afin d’optimiser
les performances du système d’information.
La traduction d’un MLD relationnel en un modèle physique est la
création (par des requêtes SQL de type CREATE TABLE et ADD
CONSTRAINT) d’une base de données hébergée par un SGBD rela-
tionnel particulier. Il peut s’agir d’une base Oracle, d’une base SQL
Server, d’une base Access ou d’une base MySQL, par exemple. Le fait
que tous les SGBDR reposent sur le même modèle logique (le schéma
relationnel) permet à la fois la communication entre des bases hétéro-
gènes et la conversion d’une base de données d’une SGBDR à l’autre.

Pr. Khalid EL ASNAOUI 119 / 132


Régles de normalisation
Dépendances fonctionnelles

Définition
Pour établir efficacement un modèle entités-associations bien normalisé,
on peut étudier au préalable les dépendances fonctionnelles entre les
attributs,
Cette technique est traditionnellement employée pour normaliser des
schémas relationnels, mais elle s’applique très bien en amont, au niveau
des modèles conceptuels.

Pr. Khalid EL ASNAOUI 120 / 132


Régles de normalisation
Dépendances fonctionnelles

Définitions et propriétés
Un attribut Y dépend fonctionnellement d’un attribut X si et seulement
si une valeur de X induit une unique valeur de Y,
On note une dépendance fonctionnelle par une flèche simple : X → Y,
Par exemple, si X est le numéro de client et Y le nom de client, alors
on a bien X → Y . Par contre, on a pas Y→ X, car plusieurs clients de
numéros différents peuvent porter le même nom.

Pr. Khalid EL ASNAOUI 121 / 132


Régles de normalisation
Dépendances fonctionnelles

Transitivité
Si X → Y et Y → Z alors X→ Z,
Par exemple, on a numéro de commande → numéro de client → nom de
client, donc on a aussi : numéro de commande → nom de client. Mais
la dépendance fonctionnelle numéro de commande → nom de client est
dite transitive, car il faut passer par le numéro de client pour l’obtenir,
Au contraire, la dépendance fonctionnelle numéro de client → nom de
client est directe ,
Seules les dépendances fonctionnelles directes nous intéressent.

Pr. Khalid EL ASNAOUI 122 / 132


Régles de normalisation
Dépendances fonctionnelles

Dépendances fonctionnelles non élémentaires


Un attribut Y peut avoir une dépendance fonctionnelle qui repose sur
la conjonction de plusieurs attributs, auquel cas la dépendance est dite
non élémentaire. Les dépendances fonctionnelles non élémentaires sont
notées par une flèche unique mais comportant plusieurs points d’entrée
(regroupés autour d’un cercle).
Par exemple, la quantité commandée (d’un article dans une commande)
dépend de deux attributs : le numéro de commande et le numéro d’ar-
ticle. Notons que cette dépendance numéro de commande + numéro
d’article → quantité est à la fois non ´élémentaire et directe.

Pr. Khalid EL ASNAOUI 123 / 132


Régles de normalisation
Dépendances fonctionnelles

Exemple
BUVEURS(nb, nom, prénom, ville)
COMMANDES(nc, datec, nv, qtéc, nb)
EXPEDITIONS(nc, dateexp, qtéexp)
NB→ NOM NB → PRENOM NB → VILLE
NC→ DATEC NC → NB NC → NV NC → QTEC

NC, DATEEXP→ QTEEXP NOM → VILLE ?


NB→ NV ? QTEC → QTEEXP?

Pr. Khalid EL ASNAOUI 124 / 132


Régles de normalisation

Exercice d’application
On considère une relation R construite sur les attributs Propriétaire, Occu-
pant, Adresse, Noapt, Nbpièces, Nbpersonnes, un nuplet (p, o, a, n, nb1,
nb2) ayant la signification suivante :
la personne o habite avec nb2 personnes l’appartement de numéro n ayant
nb1 pièces dont le propriétaire est p.
Une analyse de cette relation nous fournit un ensemble initial E de dépen-
dances fonctionnelles :
occupant –> adresse occupant –> noapt
occupant –> nbpersonnes adresse, noapt –> propriétaire
adresse, noapt –> occupant adresse, noapt –> nbpièces
1 Donner l’ensemble des dépendances fonctionnelles élémentaires
engendrées par E.
2 Quelles sont les clés potentielles de R ?
3 R est elle en 3ème forme normale ?
Pr. Khalid EL ASNAOUI 125 / 132
Régles de normalisation

Solution : Fermeture transitive de E


occupant –> adresse et occupant –> noapt donc occupant –> adresse,
noapt
Par transitivité on a donc :
occupant –> propriétaire occupant –> nbpièces
On a donc :
occupant –> adresse, noapt, nbpersonnes, propriétaire, nbpièces
adresse, noapt –> propriétaire, occupant, nbpièces, nbpersonnes
La DF adresse, noapt –> nbpersonnes est obtenue par transitivité avec
occupant

Pr. Khalid EL ASNAOUI 126 / 132


Régles de normalisation

Solution : Clés potentielles de R ?


Une clé est un (ensemble d’) attribut qui dérive tous les autres. Si on regarde
la fermeture transitive de E, on voit que :
occupant ainsi que adresse, noapt sont dans ce cas. Il y a donc deux clés
potentielles.

Pr. Khalid EL ASNAOUI 127 / 132


Régles de normalisation

Solution : Forme normale de R


Pour déterminer la forme normale de R, il faut d’abord distinguer les attributs
clés des attributs non clés :
Attributs clés : adresse, occupant, noapt
Attributs non clés : nbpersonnes, propriétaire, nbpièces
Une relation est forcément en 1ere forme normale. Elle est en 2eme forme
normale si tous les attributs non clés dépendent pleinement des clés. Ici c’est
le cas, aucun attribut non clé ne dépend que de adresse ou noapt.
Une relation est en 3eme forme normale s’il n’existe pas de dépendance
fonctionnelle entre deux attributs non clés. C’est le cas ici. R est donc en
3eme forme normale.

Pr. Khalid EL ASNAOUI 128 / 132


Régles de normalisation

Exercice d’application
La relation suivante décrit des commandes faites par des clients, avec les
produits et quantités commandés par client.
Commandes (NumCom, DateCom, NumCli, AdrCli, NumProd, Prix, Qte)
1 Déterminer les DFs ?
2 Quelle est la clé de cette relation ?

Pr. Khalid EL ASNAOUI 129 / 132


Régles de normalisation
Solution
Avant de chercher la clé, il faut d’abord déterminer les DFs. L’énoncé ne
mentionne pas de règles de gestion, qu’on peut deviner facilement.
NumCom → DateCom, NumCli, AdrCli
(Une commande est faite par un seul client avec une adresse donnée et
à une date donnée).
NumCom, NumProd → Prix, Qte
(Dans une commande, un produit a un prix donnée est commandé avec
une quantité donnée)
NumCli → AdrCli
(Un client a une seul adresse)
NumProd → Prix
(Il y un seul prix pour un produit)
On peut alors dire que (NumCom, NumProd) déterminent tous les autres
attributs. C’est donc une clé.
Pr. Khalid EL ASNAOUI 130 / 132
Conclusion

Un schéma de la base de données conforme au besoin et ne présentant pas


d’anomalie.

Pr. Khalid EL ASNAOUI 131 / 132


Structured Query Language (SQL)

Pr. Khalid EL ASNAOUI 132 / 132

Vous aimerez peut-être aussi