Vous êtes sur la page 1sur 17

Université Abdelmalek Essaadi

Ecole Nationale des Sciences Appliquées


Al Hoceima

Systèmes d’I
d’Information et
Bases de Données Chapitre 3:
Pr. Abdelhamid ZOUHAIR
A. U: 2019 / 2020 Version 2.0
Systèmes de gestion de bases de
Systèmes d’Information et Bases de
Intitulé du module
Données
Ecole Nationale des Sciences Appliquées
données (SGBD)
Etablissement dont relève le module
d’
d’AAlhouciema (ENSAH)
Département d’attache Département Mathématiques et Informatique
1ère Année - Cycle Ingénieur – Génie Informatique
Filière, (Semestre d’appartenance du
(S1)
module)

A. U: 2019/2020 2

Systèmes de gestion de bases de données (SGBD) Systèmes de gestion de bases de données (SGBD)
I. Les bases de données I. Les bases de données
1. Présentation 1. Présentation
2. Les systèmes de gestion de base de données 2. Les systèmes de gestion de base de données
3. Histoire des SGBD 3. Histoire des SGBD
4. Les modèles des SGBD 4. Les modèles des SGBD
II. Systèmes de Gestion de Base de Données Relationnel II. Systèmes de Gestion de Base de Données Relationnel
1. Le modèle Relationnel 1. Le modèle Relationnel
2. Structure d’une Base de Données relationnelle
2. Structure d’une Base de Données relationnelle
III. Optimisation et normalisation de base de données
III. Optimisation et normalisation de base de données
1. Dépendances Fonctionnelles(DF)
1. Dépendances Fonctionnelles(DF) 2. Normalisation
2. Normalisation 3. Contraintes d’intégrité
3. Contraintes d’intégrité 3 4
Objectifs Base de données
Présenter les différents moyens de stocker des Les bases de données?
données afin de pouvoir les exploiter de façon A quoi ça sert ?
optimale. Stocker et structurer des données de façon à en rendre
Présenter rapidement les outils qui existent. l’exploitation beaucoup aisée et a éviter la redondance.
Ils sont à la base de nombreux systèmes d’information
Présenter les concepts fondamentaux sur et notamment les SI d’entreprise.
lesquelles s’appuient les bases de données et les
Ils sont utilisables direct par les humains via
systèmes de gestion de bases de données . éventuellement des interfaces logicielles mais aussi par
Etre capable de concevoir une base de données d’autres systèmes informatiques (ex : les systèmes
d’aide à la décision).
pour qu’elle soit facilement réutilisable.
5 6

Base de données Base de données


Systèmes de Gestion de Bases de Données
Les bases de données? Ensemble de logiciels systèmes permettant aux utilisateurs
A quoi ca ressemble? d'insérer ;
Cela peut aller du simple fichier texte au fichier de modifier/mettre à jour ;
Excel en passant bien sur par des SGBD relationnel. de rechercher, d’extraire, et d’interroger ;
Tout ce qui peut contenir de l’information peut des données spécifiques dans une grande masse
d'informations (pouvant atteindre plusieurs milliards
quasiment être considéré comme une base de d'octets) partagée par de multiples utilisateurs.
données .
- Mises à jour de la BD
Exemple 1 : Organisation : une bibliothèque ; Données : les livres, les emprunts, les
- Interrogations
emprunteurs.
Exemple 2 : Organisation : une Université ; Données : les étudiants, les enseignants, les Utilisateurs - Administration
cours, etc. - Gestion des fichiers
- Gestion de bases de données
BD
7 SGBD 8
Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données
Principaux objectifs Principales fonctionnalités
Indépendance physique : la façon dont les données sont définies Le SGBD permet à chaque administrateur et/ou concepteur et/ou
utilisateur d’effectuer les tâches suivantes :
doit être indépendante des structures de stockage utilisées.
Création et mises à jour de la structure de la base de données
Indépendance logique : un même ensemble de données peut (par le concepteur et/ou Administrateur), tout en garantissant:
être vu différemment par des utilisateurs différents. Toutes ces • L’intégrité ;
visions personnelles des données doivent être intégrées dans
• La confidentialité des données dans un environnement
une vision globale.
multiutilisateurs ;
Non redondance d’information : afin d’éviter les problèmes lors
• La sécurité des données.
des mises à jour, chaque donnée ne doit être présente qu’une
seule fois dans la base. Administration de la base de données : gestion des utilisateurs,
des droits d’accès etc. (par l’administrateur ).
Partage des données : interrogations et modifications « en Saisie et mises à jour des données (par le concepteur et/ou les
même temps » dans un contexte multi-utilisateurs. utilisateurs).
Sécurité et reprise sur panne. Interrogation des données selon différents critères et/ou en
9 effectuant des calculs (par les utilisateurs). 10

Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données


Histoire des SGBD Histoire des SGBD (Suite)
1970: recommandations de Codd; naissance du modèle relationnel
1960 : systèmes de gestion de fichiers (systèmes de fichiers) : théorie des relations fondement de la théorie des bases de données
relationnelles . Jonction avec l’algèbre relationnelle.
Le premier modèle de SGBD fût développé par IBM, dans le cadre du
programme spacial Appolo de la NASA, pendant les années 1960. 1980 : Apparition des SGBD relationnels sur le marché (Oracle, Informix,
Sybase, DB2 …).
Fin des années 1960 (modèle hiérarchique) : À partir de 1984 : Intégration des SGBD relationnels sur les
microordinateurs (+ 1500 bases de données accessibles au public).
À partir de 1965, création d’une notion de « superstructure unique»,
hiérarchisée (modèle hiérarchique) : Charles Williams Bacham 1990 : début des SBGD orientés objet (Gemstone, O2, Objectstore,...).
proposa le modèle réseau, qui généralise le modèle hiérarchique. Avec l’arrivée du Web (1995): généralisation des SGBD relationnels.
Les premières spécifications de ce modèle furent publiées en 1969 Notion de SGBD serveur.
par le groupe de travail DBTG (Data Base Task Group) de l’organisme Depuis 2000 : le Web mélange toutes les formes de stockage : ontologies
américain CODASYL (Conference On Data Systems Languages).
(structures de connaissances), bases de données relationnelles, bases de
Inconvénient : consommation excessive de temps et d’espace données objets…
pour la gestion de l’ensemble.
11
Aujourd’hui : relationnel-objet, semi-structuré, multimédia ... BIG DATA12
Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données
Les modèles Le modèle hiérarchique
Historiquement, les modèles des bases de données Une base de données hiérarchique est une base de
ont été définis comme suit, dans l’ordre données dont le système de gestion lie les
chronologique : enregistrements dans une structure arborescente où
1. Modèle hiérarchique (structure de données chaque enregistrement n'a qu'un seul possesseur. Les
données sont classées hiérarchiquement, selon une
«arbre»).
arborescence descendante. Ce modèle utilise des
2. Modèle réseau (structure de données « graphe»). pointeurs entre les différents enregistrements.
3. Modèle relationnel (structure de données «
tableau de n-uplets »).
Les bases relationnelles sont les bases de données les plus répandues.
13 14

Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données


Le modèle hiérarchique Le modèle hiérarchique : Exemple

Modèle conceptuel

Modèle conceptuel hiérarchique

Pour un noeud donné, un seul noeud père


Chaque noeud est une famille d’objets.

15 16
Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données
Le modèle réseau Le modèle réseau
Principe :
Ce modèle est encore utilisé de nos jours :
• IDMS (Integrated Database Management System) de
Computer Associates.
• IDS2 de Bull.
De type un à un 1:1
On part du modèle hiérarchique mais on en Ou un à plusieurs : 1:n
modifie les nœuds et les relations.
Les entités peuvent être des objets statiques ou dynamiques
Exemples :
Comme le modèle hiérarchique, ce modèle utilise • Un professeur enseigne un ou plusieurs matières, une matière
des pointeurs vers des enregistrements. Toutefois n’est enseignée que par un seul professeur.
la structure n’est plus forcément arborescente
dans le sens descendant.
17 18

Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données


Le modèle réseau Les modèles hiérarchiques et réseaux : Bilan
Un étudiant étudie une ou plusieurs matières. Une matière est Bien que simples, les modèles hiérarchiques et réseaux présentes
étudiée par un ou plusieurs étudiants. quelques inconvénients :
Incohérence des données : redondance de l’information.
Coûts élevés : nécessitent de la place mémoire avec la gestion de
pointeurs.
Maintenance difficile :
• Modifier, ajouter et effacer sont complexes.
On est obligé de passer par une entité « intermédiaire » , la classe
• Lorsqu’on détruit un nœud tous ses fils sont également détruits.
par exemple. Elle permet de représenter en outre le fait qu’un
professeur enseigne à des « classes ». •Perte d’information en supprimant des données.
Difficultés de gestion :
• Pas de gestion de panne.
• Pas de partage des données.
19 • Pas de confidentialité. 20
Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données
Fonctionnalités et structure des SGBD hiérarchiques et réseaux : Bilan
Le modèle objet
L'organisation des données au sein d'une BD a une importance essentielle pour
faciliter l'accès et la mise à jour des données Les SGBD orientés objet sont destinés à offrir les fonctionnalités des
SGBD à des langages orientés objet et permettre le stockage
persistant des objets (1980).
Les objets sont manipulés en utilisant les possibilités natives des
langages orientés objet et une interface de programmation permet
d'exploiter les fonctionnalités du SGBD.
Celui-ci est équipé des mécanismes nécessaires pour permettre
l'utilisation des possibilités d'encapsulation, d'héritage et de
polymorphisme des langages de programmation orientée objet.

Quelques SGBD objet


Les modèles hiérarchique et réseau sont issus du modèle GRAPHE • ObjectStore.
• données organisées sous forme de graphe • Objectivity/DB.
• Descri. 22

Systèmes de gestion de bases de données (SGBD) Systèmes de Gestion de Bases de Données


I. Les bases de données
1. Présentation
Le modèle relationnel
2. Les systèmes de gestion de base de données Modèle relationnel (1970) :
3. Histoire des SGBD
Basé sur une organisation sous forme de tables.
4. Les modèles des SGBD Tables constituées de N-uplets.
II. Systèmes de Gestion de Base de Données Relationnel Les noms de colonnes sont des « rubriques ».
1. Le modèle Relationnel Les tables sont des multi-ensembles sur lesquels on peut définir
2. Structure d’une Base de Données relationnelle des opérateurs algébriques (algèbre relationnelle).
III. Optimisation et normalisation de base de données Les opérations relationnelles permettent de créer une nouvelle
relation (table) à partir d’opérations élément sur d’autres tables
1. Dépendances Fonctionnelles(DF) (exemple :union, intersection, différences).
2. Normalisation Une table est un tableau de valeurs. C’est-à-dire une entité ou
3. Contraintes d’intégrité une association dans le cadre du modèle conceptuel de
données (MCD) Entité/Association (E/A).
23 24
Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données
Le modèle relationnel (SGBD-
(SGBD-R) Le modèle relationnel (SGBD-
(SGBD-R) : Exemple
Dans ce modèle, les données sont enregistrées dans des tableaux à CLIENT (IdCli, nom, ville)
deux dimensions (lignes et colonnes). Il existe des liens ou relations PRODUIT (IdPro, nom, prix, qstock)
entre les tables. VENTE (IdCli, IdPro, date, qte)
Représentation des données sous forme de tables :

25 26

Systèmes de Gestion de Bases de Données Systèmes de Gestion de Base de Données Relationnel


Le modèle relationnel (SGBD-
(SGBD-R) Les avantages / objectifs des SGBD-
SGBD-R
Indépendance physique des données : indépendance des
A partir de la fin des années 90, les bases de données relationnelles sont
programmes d’application vis à vis du modèle physique.
les bases de données les plus répandues.
• Possibilité de modifier les structures de stockage (fichiers, chemins
Les avantages du modèle relationnel : d’accès,…) sans modifier les programmes.
•SIMPLICITE DE PRÉSENTATION • Meilleure portabilité des applications et indépendance vis-à-vis du
- représentation sous forme de tables. matériel.
•OPÉRATIONS RELATIONNELLES Indépendance logique des données : bien que partageant la
- algèbre relationnelle. même BD, les programmes d’application ou les utilisateurs peuvent
•INDEPENDANCE PHYSIQUE avoir des vues différentes des données.
- optimisation des accès. Accès aux données : L’accès aux données se fait par un langage de
- stratégie d'accès déterminée par le système. manipulation de données (DML), tel que SQL. Le langage doit être
optimisé de manière à minimiser le nombre d’accès disques, de façon
•INDEPENDANCE LOGIQUE
transparente pour les utilisateurs
-concept de VUES.
Administration centralisée des données : toutes les données
•MAINTIEN DE L’INTEGRITÉ doivent être centralisées dans un lieu de stockage commun à toutes
- contraintes d'intégrité définies au niveau du schéma. 27 les applications. 28
Systèmes de Gestion de Base de Données Relationnel Systèmes de Gestion de Base de Données Relationnel
Les avantages / objectifs des SGBD-
SGBD-R Les principaux SGBD-
SGBD-R
Non redondance des données : chaque information ne doit être Oracle: il s’agit de l’un des plus utilisé au monde
représentée qu’ne seule fois dans la base, pour éviter les problèmes notamment pour l’exploitation des données très
lors des mises à jour. volumique. Il est extrêmement robuste et dispose de
nombreuse fonctionnalités. Il est disponible sous
Cohérence des données : Les données sont soumises à des Windows, Unix et Linux, mode client/serveur, licence
contraintes d’intégrité pour définir un état cohérent de la base. Elles commerciale (Dernière version 12.2 (19 septembre 2016) , Écrit en
doivent être exprimées simplement et vérifiées à chaque insertion, Java, C et C++).
suppression ou modification des données.
MySQL : Il s’agit d’un SGBD issu du monde du logiciel
Partage des données : plusieurs utilisateurs peuvent intervenir sur libre. Il permet l’exploitation de bases de données de
les données simultanément. Plus particulièrement permettre la taille relativement peu importante. Souvent associé à
modification du contenu de la base. PHP, il permet de concevoir des bases de données
Sécurité des données : associe des droits d’accès aux utilisateurs. consultable au sein des sites WEB dynamiques... Dernière
version 8.0.16 (25 avril 2019), (Écrit en C et C++).
Pour protéger l’accès à certaines données.
Résistance aux pannes : pouvoir récupérer les données après une POSTGRESQL : Plate-formes Windows et Linux, mode
panne, soit en récupérant l’état de la BD avant la panne, soit client/serveur, licence libre Dernière Version 12.1 (14 novembre
terminer l’opération interrompue. 29 2019).

Systèmes de Gestion de Base de Données Relationnel Systèmes de Gestion de Base de Données Relationnel
Les principaux SGBD-
SGBD-R Les principaux SGBD-
SGBD-R
Microsoft SQL Server : Il s’agit de l’un des plus
utilisé au monde notamment pour les systèmes
Windows et l’exploitation des données très •DB2 (IBM)
volumique. il s’agit du principal concurrent •Informix
d’oracle, mode client/serveur, licence commerciale • Sybase
Dernière version 2017 (2 octobre 2017)).
Microsoft Access : Son principal avantage réside • Paradox
dans la présence d’interface et la facilité •...
d’exploitation des liens avec les autres logiciels
Microsoft( World, Excel, etc.), plate-forme
Windows, mono-poste, licence commerciale Sharewares :
Dernière version Access 2019. •Postgres
SYBASE : plate-formes Windows et Linux, mode • InstantDB
client/serveur, licence commerciale •…
Dernière version 16.0 (2014).

31 32
Systèmes de Gestion de Base de Données Relationnel Systèmes de Gestion de Base de Données Relationnel
Structure d’une Base de Données relationnelle Structure d’une BD relationnelle: Exemple de table

Une BD relationnelle est composée d’un ensemble de Nom de la table 3 champs


tables (à deux dimensions).
Une table est composée de : Commande
La première dimension représente les champs qui vont être stockés
(Colonnes représentant chacune un champ ou un attribut).
La seconde dimension représente les données stockées (Lignes
qu’on appelle enregistrements ou tuples).
Chaque table a un nom.
Chaque champ a un nom et un type :
Texte, numérique, date, …
N°Commande est du type numérique entier
Une table peut être liée a une autre table au moyen d’un champ. 4 enregistrements
Montant est du type numérique réel

33
DateCommande est du type date 34

Systèmes de Gestion de Base de Données Relationnel Systèmes de Gestion de Base de Données Relationnel

Structure d’une BD relationnelle Structure d’une BD relationnelle : Caractéristiques d’une table

Etudiant(Id_Etud, Nom, Prénom, Age)


Une table porte un nom unique.
Id_Etud Nom Prénom Age
Propriété (attribut, colonne, champ) Le nom des colonnes désignent les attributs.
et type
11 SAIDI Ali 21 Tuple (n-uplet), ligne, enregistrement
Les attributs d’une table appartiennent à un domaine
12 RAHMONI said 22
précis qui a été prédéfini lors de la création de la table
(exemple : date).
Lorsqu’un attribut permet de définir de façon unique une
- Indivisibilité : les données ne sont pas décomposables ligne de La table, il s’agit d’une clé.
- Domaine unique : les attributs ne peuvent prendre n’importe La ligne d’une table est aussi appelé tuple.
quelle valeur (intervalle, type de données)
On appelle schémas d’une table, ce qui permet de définir
- Ordre : l’ordre des attributs n’a pas d’importance sa structure : c’est à dire son nom suivi de la liste de ses
attributs avec leurs domaines de valeurs.
35 36
Systèmes de Gestion de Base de Données Relationnel Systèmes de Gestion de Base de Données Relationnel
Structure d’une BD relationnelle : Caractéristiques d’une table Structure d’une BD relationnelle : Quelques contraintes
Le nom de chaque attribut est unique à l’intérieur d’une même
table. Deux tables d’une même base de données ne
Une table peut contenir un nombre quelconque d’attributs, l’ordre peuvent pas avoir le même nom.
des colonnes dans une table est indifférent (ordre quelconque).
Unicité des tuples : il ne peut y avoir de tuples identiques.
L’un des attributs ou une combinaison d’attributs doit identifier de Deux champs de la même table ne peuvent pas
manière unique un tuple dans une table et sera déclaré clé avoir le même nom.
primaire.
=> identifiant (ou clé) : un ou plusieurs attributs permettent
d’identifier un enregistrement de la table. Un même champ peut être présent dans
Dans le modèle relationnel, chaque table est vue comme un plusieurs tables.
ensemble non ordonnée de tuples et un tuple ne peut donc
apparaître qu’une seule fois dans une table.
37 38

Systèmes de Gestion de Base de Données Relationnel Systèmes de Gestion de Base de Données Relationnel
Définition et propriétés d’une clé Définition et propriétés d’une clé

Une clé d’identification ou clé d’une table est Deux types de clé :
un attribut ou une combinaison minimale Clé simple : un seul attribut.
d’attributs dont les valeurs permettent de Clé composée: plusieurs attributs.
définir de façon unique chaque tuple de la Une clé possède deux propriétés :
table. Unicité : chaque valeur clé identifie de manière
Les clés permettent l’accès à un ou plusieurs unique un enregistrement dans la table.
tuples sans ambiguïté et optimisent ainsi le Minimalité : si une clé est composée par un
fonctionnement des SGBDR. ensemble d’attributs, cette combinaison doit être
minimale. Aucun attribut ne peut être retirer sans
violer la propriété d’unicité.
39 40
Systèmes de Gestion de Base de Données Relationnel Systèmes de gestion de bases de données (SGBD)
I. Les bases de données
Différents types de clés
1. Présentation
2. Les systèmes de gestion de base de données
Trois types de clés peuvent être définis : 3. Histoire des SGBD
4. Les modèles des SGBD
Clé primaire : Elle doit permettre d’identifier chaque
tuple d’une table sans ambiguïté. En règle générale, il II. Systèmes de Gestion de Base de Données Relationnel
s’agit de l’identifiant de la table. 1. Le modèle Relationnel
2. Structure d’une Base de Données relationnelle
Clé secondaire : Elle doit permettre d’identifier un ou
éventuellement plusieurs tuples à partir de la III. Optimisation et normalisation de base de données
connaissance d’un ou plusieurs attributs. L’identifiant 1. Dépendances Fonctionnelles(DF)
alternatif devient alors une clé secondaire.
2. Normalisation
Clé étrangère : Clé principale d’une autre table avec
laquelle une relation est établie. 3. Contraintes d’intégrité
41 42

Systèmes de Gestion de Base de Données Relationnel Systèmes de Gestion de Base de Données Relationnel

Exemple
Problème ? Livre(isbn, titre, éditeur, pays)
isbn titre éditeur pays Cette relation contient des redondances
Mélanger dans une même relation des provoquant les anomalies suivantes :
1. Insertion: Si les valeurs nulles sont
informations relatives à plusieurs entités entraîne, 2-212-09283-0
Base de
Eyrolles France interdites, Il faut connaitre toutes les
données
en général des redondances d’information qui caractéristiques du livre pour l’enregistrer.
Fondements
provoquent les anomalies suivantes: 2-7117-8645-5 des bases de Vuibert USA 2. Mise à jour: si l’éditeur Eyrolles change de
anomalies d’insertion ; données pays, il faut modifier ce pays pour chacun
des livres qu’il a édités (autant de
anomalies de mise à jour ; 0-201-70872-8
Databases and
Transaction
Addition
Wesley
USA modifications qu’il y’ a de Eyrolles dans la
base) .
anomalies de suppression. Processign

Internet/Intran 3. Suppression : si l’unique livre publié par


2-212-09069-2 et et base de Eyrolles France l’éditeur Vuibert est supprimé,
données l’information sur cet éditeur est perdue.
43 44
Systèmes de Gestion de Base de Données Relationnel Systèmes de Gestion de Base de Données Relationnel
Optimisation des schémas de BD : La normalisation
Solution :
La solution à ces problèmes consiste à normaliser la relation en L’objectif consiste à détecter et à étudier les dépendances à
cause en la décomposant en plusieurs relations. l’intérieur des tables pour en éliminer les informations
• Les questions à résoudre: S’il y’a redondance : redondantes et les anomalies qui en résultent.
- Comment faut-il décomposer la relation? La normalisation permet de:
- Y-a-t-il de l’information perdue par la décomposition? éviter les redondances (perte de place et incohérences)
- Existe-t-il des algorithmes qui permettent de déterminer la minimiser l’espace de stockage.
décomposition adéquate?
éviter les problèmes de mises à jour.
La décomposition s’appuie sur les dépendances qui existent Normaliser un schéma relationnel c'est le remplacer par un
entre les attributs de la relation initiale : dépendances schéma équivalent où toutes les relations vérifient certaines
fonctionnelles. propriétés. Ces propriétés sont basées sur l'analyse des
Par exemple, la dépendance entre l’ISBN d’un livre et son titre dépendances fonctionnelles à l’intérieur de chaque relation.
ou bien entre le nom d’un éditeur et son pays. 45 46

Systèmes de Gestion de Base de Données Relationnel Optimisation des schémas de BD


Optimisation des schémas de BD : La normalisation La 1ere Forme Normale
Exemple : soit la relation CommandeProduit :
Une relation est en 1FN si tous ses attributs sont
NumProd Quantité NumFour AdresseFour
simples et non décomposables.
105 2000 901 Rue Maréchal joffre Exemple :
Cette relation présente différentes anomalies lors de la mise à jour. On peut dire que l’entité « employé » est normalisée si tout employé est
décrit par les propriétés « nom », « email », « code postal », « service »…
Anomalies de modification : Imaginons en revanche une entité « employé » dont les caractéristiques
Si on souhaite modifier l'adresse d’un fournisseur, il faut le faire pour tous les seraient non seulement celles de notre exemple, mais aussi les diplômes
tuples concernés (produits qu'il fournit). qu’il possède.
Si l’employé Ahmed possède un MBA et un BAC, tandis que l’employé
Anomalies d’insertion : Said possède une licence en droit, un DUT comptable et une maîtrise de
Pour ajouter un nouveau fournisseur, il faut obligatoirement fournir des valeurs philosophie, l’entité générique possède une structure variable, puisque
pour NumProd et Quantité (ajouter un nouveau produit). le nombre de qualifications change selon l’occurrence identifiée.
Anomalies de suppression : Sur la base de la convention générale qu’on vient d’énoncer, l’entité
La suppression par exemple du produit 105 fait perdre toutes les informations « employé » n’est pas en forme normale.
concernant le fournisseur 901. 47 48
Optimisation des schémas de BD Optimisation des schémas de BD
La 1ere Forme Normale La 2eme Forme Normale
Pour la normaliser sans pour autant perdre Deuxième forme normale (2FN)
l’information sur les qualifications, il faut Une relation est en 2FN si:
extérioriser cette information, par exemple en Elle est en 1FN,
créant une entité «Diplôme» et en établissant une Tout attribut, non clef primaire, est
relation entre « Employé» et «Diplôme» comme dépendant de la clef primaire.
dans la figure ci-dessous.
Exemple de relation en 1FN mais pas en 2FN :
Employé 0,N
Diplôme
Projet NumProjet NumEmployé Fonction NomEmployé
num_employe POSSEDE Code_diplome
nom_emploe Date_obtention Libelle_diplome
0,N
cp_employe Niveau_diplome Problèmes ?
on ne peut enregistrer un employé s'il ne participe pas à un projet.
si un employé participe à plusieurs projets, on doit répéter les
49 informations sur cet employé (redondance et problèmes de m-à-j). 50

Optimisation des schémas de BD Optimisation des schémas de BD


La 2eme Forme Normale La 3eme Forme Normale
Une solution peut être proposée qui consiste à extraire la
dépendance fonctionnelle: Une entité est dite en 3FN si les conditions suivantes sont
1. On créé une nouvelle relation contenant l'attribut déterminé réunies :
par une partie de la clé primaire. 1.Elle est normalisée ;
2. La clé primaire de la nouvelle relation est cette partie de la clé 2.Toutes les propriétés sont en DF directe de l’identifiant ;
3.Il n’existe dans l’entité aucune autre DF que celles qui
Employé NumEmployé NomEmployé
émanent de l’identifiant.
Projet Numprojet NumEmployé
Remarque et Rappel:
Une dépendance fonctionnelle est un lien sémantique entre deux
NumEmployé est à la fois clé primaire et clé étrangère dans Projet. informations ou groupes d’informations, tel que la connaissance de
l’une détermine de façon non équivoque la connaissance de l’autre.
51 52
Optimisation des schémas de BD Optimisation des schémas de BD
La 3eme Forme Normale La 3eme Forme Normale
Exemple: PAS en 3FN

• Une entité « employé » caractérisée par un identifiant EMPLOYE


«num_employe » et des propriétés « nom », Num_employe
« téléphone », « email » et « nom du service » est sans nom_employe
doute en 3FN. cp_employe
email_employe
• Si on lui ajoute une propriété supplémentaire « nom du Tel_employe
chef de service », elle n’est plus en 3FN car il existe une Nom_Service
DF entre « nom du service » et « nom du chef de Chef_service
service ».
53 54

Optimisation des schémas de BD Optimisation des schémas de BD


La 3eme Forme Normale Forme normale de Boyce-
Boyce-Codd (BCNF)
Le modèle est en 3FN ;
Pour respecter la 3FN tout en insérant cette nouvelle
Les seules dépendances fonctionnelles élémentaires sont
donnée, il faudrait alors créer une nouvelle entité
« service », en association avec « employé ». celles dans lesquelles un identifiant détermine une propriété.
Pour les identifiants composés de plusieurs propriétés, ces dernières ne doivent pas
être dépendantes d’une autre propriété de l’entité (pour éviter les cycles de DF).
Exemple: (Admettant la règle de gestion):
Règle de gestion: tout professeur enseigne une matière et une seule.
EMPLOYE Toute classe n’a qu’un seul Professeur par matière.
Num_employe
SERVICE Dans ce cas l’entité:
1,1 0,n
Nom_employe Est rattaché Code_service COURS
Cp_employe Nom_service Matière N’est pas en BCFN, car Matière dépend de la propriété code-prof.
Email_employe Chef_service N°classe
Code-prof
Tel_employe BCFN
Prof 1,n Classe
1,n
Code_service Fait cours N°classe
Code-prof
55
Matière 56
Optimisation des schémas de BD Systèmes de gestion de bases de données (SGBD)
Les formes normales: Synthèse I. Les bases de données
Les normalisations ci-dessus ont pour but d’éliminer : 1. Présentation
les redondances (inutile de répéter la désignation du produit 2. Les systèmes de gestion de base de données
commandé chaque commande d’un même produit).
3. Histoire des SGBD
les anomalies de mise à jour ( si on annule un client on veut sans
4. Les modèles des SGBD
doute toutefois conserver la catégorie de ce client).
II. Systèmes de Gestion de Base de Données Relationnel
Modèle normalisé = relations avec
1. Le modèle Relationnel
une clé, qui permet de distinguer chaque occurrence
2. Structure d’une Base de Données relationnelle
des attributs élémentaires (1FN)
en dépendance de TOUTE la clé (2FN), III. Optimisation et normalisation de base de données
et RIEN QUE de la clé (3FN) 1. Dépendances Fonctionnelles(DF)
Remarque: 2. Normalisation
Un MCD normalisé donne aussi un 3. Contraintes d’intégrité

Modèle relationnel normalisé. 57 58

Optimisation et normalisation de base de données Optimisation et normalisation de base de données


Contraintes d’Intégrité (1) Contraintes d’Intégrité (2)
l’intégrité référentielle doit avoir une place capitale dans
Une contrainte d'intégrité est une propriété du schéma
les S.I. En effet, elle définie le respect des règles
invariante dans le temps qui traduit les caractéristiques
d’interdépendance entre données.
sémantiques des données.
Exemples : il est convenu que tout employé est rattaché à
On peut distinguer plusieurs catégories de contraintes.
un service, le contrôle d’intégrité référentielle doit garantir
que dans la base de données, à tout instant, chaque • Contraintes de clé ;
occurrence de l’entité « employé » est bien associée à une • Contraintes de types de données ;
occurrence de l’entité « service ».
• Contraintes d’intégrité référentielle (CIR).
l’enregistrement service « ACHAT » par exemple doit être
créé avant que l’employé ne soit affecté à ce service et que Remarque :
l’on interdise la suppression de l’enregistrement service La gestion de ces C.I se fait d’une manière automatique par
tant qu’il restera au moins un employé affecté à ce service. le SGBD.
59 60
Contraintes d’Intégrité Contraintes d’Intégrité
Contraintes de clé Contraintes de types de données
Un SGBD gère et vérifie la définition de clé primaire pour
chaque relation ; Le second type de contraintes d'intégrité traité par un SGBD
permet de vérifier les types des données saisies (entiers,
Quelle que soit la table, si une clé primaire est définie, elle réels, dates, chaînes de caractères, booléens etc ...) et les
doit être présente pour chaque enregistrement, elle doit être domaines de validité pour chacune de ces données.
unique et aucun de ses constituants ne peut être NULL.
Exemple :
• Si la clé est omise ;
• S’elle est à valeur NULL ; • Date postérieure au 01/01/2019 pour la gestion des
• Elle a déjà saisie pour un autre enregistrement de la table. commandes d'une entreprise créée a cette date ;
• Entier compris entre 0 et 20 pour représenter une note
d’étudiant ;
Une anomalie de clé est déclenchée par le SGBD • …
61 62

Contraintes d’Intégrité Contraintes d’Intégrité


Contraintes d’Intégrité Référentielle (CIR) Contraintes d’Intégrité Référentielle (CIR)
Les CIR permettent au SGBD de vérifier automatiquement la
Gestion de données référencées dans plusieurs tables : une cohérence de la BD par rapport :
CIR peut s’appliquer dès qu’une clé primaire d’une table R Anomalie de suppression
est utilisée comme référence dans une autre table T (clé
Lorsqu’on supprime un client (Table Client), il faut supprimer
étrangère). toutes ses commandes (Table Commande).
La gestion des contraintes d'intégrité permet aussi de vérifier
Anomalie de modification
automatiquement la présence de données référenciées dans
des tables différentes. Lorsqu’on modifie le code d’un produit (Table Produit), il faut
répercuter ces modifications dans les commandes (Table
Présence du clé étrangère Commande).
Absence du clé primaire associée Anomalie d’ajout
Lorsqu’on ajoute une commande, il faut s’assurer que le code
Une anomalie d’I.R. est déclenchée par le SGBD
63 client et le code produit existent. 64
Optimisation et normalisation de base de données Systèmes de Gestion de Base de Données Relationnel
Contraintes d’Intégrité : Conclusion Composition d’un SGBDR : Synthèse

Grâce à la gestion des C I, le SGBD s’occupe automatiquement, a


chaque action sur les données (saisie, modification, effacement)
de vérifier la cohérence de la BD. Composant Composant
de de Gestion
stockage
Exemple BD incohérente:
Saisir une commande d’un produit dont la réf. n’est pas présente Données utilisateurs stockées Langage de définition et de
dans la table des produits. sous formes de table. manipulation de données relationnels

Données de descriptions et Fonctions centrales de réorganisation


Mettre une note à un étudiant qui ne figure pas dans la table des données statistiques (table de de protection, de sécurité de
étudiants. système). données.

65 66

Vous aimerez peut-être aussi