BD 2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 49

Initiation au système de gestion de base de données: Le

schéma d’une base de données relationnelle

Aminata Ngom

UCAD/FST/DMI/LACGAA

27 octobre 2020

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données: 27
Le octobre
schéma 2020
d’une base1de
/ 49
don
1 Introduction
2 Passage du modèle entité-association au schéma de base de données
relationnelle
Types d’associations un-à-plusieurs (1 :N)
Types d’associations un-à-un (1 :1)
Types d’associations plusieurs-à-plusieurs (N :N)
Types d’associations cycliques
Resumé des régles
3 Les dépendances entre données et les formes normales
Les dépendances entre données
Les dépendances fonctionnelles
Les formes normales
4 Algèbre relationnelle
Le domaine
Les opérations unaires
Les opérations ensemblistes
5 Les Jointures
Les jointures internes
La Ojointure
L’équijointure
Aminata Ngom La jointure naturelleInitiation au système de gestion de base de données: 27
(UCAD/FST/DMI/LACGAA) Le octobre
schéma 2020
d’une base2de
/ 49
don
Introduction

Nous abordons maintenant la traduction d’un modèle entité-association en


un schéma de base de données relationnelle. Il s’agit essentiellement de
définir une méthode qui permet de représenter les ensembles d’entités et de
liens par des tables.

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données: 27
Le octobre
schéma 2020
d’une base3de
/ 49
don
schéma de base de données relationnelle

La phase finale de production d’une base de données consiste à traduire le


schéma conceptuel dans le langage de définition de données d’un SGBD
(ici SQL DDL). Pratiquement, on traduira chaque composant du schéma
Entité-association en structures de tables, colonnes,identifiants et clés
étrangères. Ces structures seront ensuite exprimées dans le langage SQL.
Le schéma conceptuel exprime clairement les structures d’information à
représenter,mais il n’est pas accepté tel quel par l’ordinateur. Il est donc
nécessaire de traduire ce schéma en structures techniques de tables et de
colonnes, c’est-à-dire en concepts compréhensibles et gérables par des
outils disponibles : les SGBD relationnels.

Il existe des règles de traduction systématiques de chaque type de


composants Entité-association en structures de bases de données. Les
structures ainsi obtenues seront alors exprimées aisément en SQL.

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données: 27
Le octobre
schéma 2020
d’une base4de
/ 49
don
schéma de base de données relationnelle

Types d’associations un-à-plusieurs (1 :N)


Soit R un type d’associations un-à-plusieurs entre A et B (plusieurs entités
B pour chaque entité A , une seule entité A pour chaque entité B ).
L’attribut IA est l’identifiant primaire de A . A est représenté par la table
TA et B par la table TB.

Considérons l’exemple du type d’associations occupe entre


DEPARTEMENT et EMPLOYE. Ces deux types d’entités sont représentés
par les tables DEPARTEMENT et EMPLOYE . Sachant que
DEPARTEMENT est identifié parNomDépart , on représente occupe par
une nouvelle colonne NOMDEPART dans la table EMPLOYE de telle sorte
que la valeur de NOMDEPART identifie le DEPARTEMENT dans lequel l’
EMPLOYE est occupé. NOMDEPART est donc une clé étrangère d’
EMPLOYE qui référence la table DEPARTEMENT .

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données: 27
Le octobre
schéma 2020
d’une base5de
/ 49
don
schéma de base de données relationnelle

Types d’associations un-à-plusieurs (1 :N)

Figure – Représentation d’un type d’associations un-à-plusieurs par une clé


étrangère et une clé étrangère multi-composant

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données: 27
Le octobre
schéma 2020
d’une base6de
/ 49
don
schéma de base de données relationnelle
Types d’associations un-à-plusieurs (1 :1)
La traduction est similaire à celle du cas précédent, mais elle admet deux
variantes. Soit R un type d’associations un-à-un entre A et B (une seule
entité B pour chaque entité A , une seule entité A pour chaque entité B ).
A est représenté par la table TA et B par la table TB . L’identifiant
primaire de A est IA et/ou celui de B est IB. on distingue :
Si R est obligatoire pour A et facultatif pour B , on ajoutera à TA une
nouvelle colonne obligatoire RB , de même type que IB , et qu’on
déclare clé étrangère vers TB.
Si R est facultatif pour A et B, on procède comme précédemment :
une clé étrangère est ajoutée indifféremment à TA ou TB . La nouvelle
colonne sera déclarée facultative.
Dans tous les cas, la nouvelle colonne (ou les nouvelles colonnes)
constitue(nt)en outre un identifiant supplémentaire pour sa table.
Le cas où R est obligatoire pour A et B n’est pas admis dans le
modèle
Aminata Ngom de base. Initiation au système de gestion de base de données: 27
(UCAD/FST/DMI/LACGAA) Le octobre
schéma 2020
d’une base7de
/ 49
don
schéma de base de données relationnelle

Types d’associations un-à-plusieurs (1 :1)

Figure – Représentation d’un type d’associations un-à-un par une clé étrangère

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données: 27
Le octobre
schéma 2020
d’une base8de
/ 49
don
schéma de base de données relationnelle

Types d’associations un-à-plusieurs (1 :1)

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données: 27
Le octobre
schéma 2020
d’une base9de
/ 49
don
schéma de base de données relationnelle

Types d’associations un-à-plusieurs (1 :1)

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
10de
/ 49
don
schéma de base de données relationnelle
Types d’associations un-à-plusieurs (1 :1)

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
11de
/ 49
don
schéma de base de données relationnelle

Types d’associations un-à-plusieurs (N :N)


Soit R un type d’associations plusieurs-à-plusieurs entre A et B (plusieurs
entités B pour chaque entité A , plusieurs entités A pour chaque entité B ).

Figure – Représentation d’un type d’associations plusieurs-à-plusieurs par une


table associative munie de deux clés étrangères.

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
12de
/ 49
don
schéma de base de données relationnelle
Types d’associations cycliques
On pourrait penser que les types d’associations cycliques posent des
problèmes particuliers. Il n’en est rien. Les règles qui ont été proposées
précédemment s’appliquent lorsque les deux membres d’un type
d’associations sont un seul et même type d’entités.

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
13de
/ 49
don
schéma de base de données relationnelle

Aminata Ngom (UCAD/FST/DMI/LACGAA) Figure – Résumés


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
14de
/ 49
don
Les dépendances entre données

La recherche dans le domaine relationnel a permis d’élaborer une véritable


théorie des bases de données qui traite des aspects formels du modèle
relationnel, en partie détachés du monde réel.

Elle accorde une place importante à l’étude des formes normales. L’objectif
consiste à détecter et à analyser les dépendances à l’intérieur des tables
pour en éliminer les informations redondantes et les anomalies qui en
résultent.

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
15de
/ 49
don
Les dépendances entre données

Redondance d’un attribut


Un attribut dans une table est redondant lorsque ses valeurs peuvent être
éliminées de cette table sans perte d’informations. Si nom d’un attribut
apparaît plusieurs fois dans la table, l’attribut est donc redondant.

Les formes normales que nous abordons maintenant permettent d’éliminer


les anomalies, et par là même les redondances qui en sont la cause. les
formes normales limitent l’ensemble de tables admises en fournissant des
règles de plus en plus strictes.

Dans la pratique, on se limite généralement aux trois premières formes


normales car les dépendances multivaluées et les dépendances de jointure
se présentent moins fréquemment ; les exemples d’application sont rares.

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
16de
/ 49
don
Le phénomène de dépendance fonctionnelle
Dans une relation R(A,B,C,D), il existe une dépendance fonctionnelle
A −→ B si, à tout instant, deux lignes de R qui ont même valeur de A ont
aussi même valeur de B.

Figure – les dépendances fonctionnelles


Aminata Ngom (UCAD/FST/DMI/LACGAA)
Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
17de
/ 49
don
Règles de dérivation des dépendances fonctionnelles

1 Réflexivité : Si L est un sous-ensemble non vide de


K , alors on a K −→ L . Un ensemble d’attributs détermine chacun de
ses sous-ensembles. Cette propriété qui semble évidente produit ce
qu’on appelle des DF triviales.
2 Augmentation : Si K −→ B , alors on a aussi
KA −→ BA . Si on ajoute un attribut quelconque à un déterminant et
à son déterminé, on obtient encore une DF.
3 Additivité : Si K −→ A et L −→ B , on a aussi KL −→ AB . Si on
additionne (il s’agit en fait d’une union) respectivement les
déterminants et les déterminés de deux DF, on obtient encore une DF.
4 Transitivité : Si K −→L et L −→ M , on a aussi K−→M . En clair, la
composition de deux DF est encore une DF.
5 Pseudo-transitivité : Si K −→ L et LM −→ N , on a aussi KM −→ N

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
18de
/ 49
don
Première forme normale : 1FN
Une table satisfait à la première forme normale si les domaines de ses
attributs sont constitués de valeurs atomiques. La 1FN exige des valeurs
d’attributs atomiques.

Aminata Ngom (UCAD/FST/DMI/LACGAA) Figure – 1FN


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
19de
/ 49
don
Deuxième forme normale : 2FN
Une table satisfait à la deuxième forme normale si elle est déjà en première
forme normale et s’il existe une dépendance fonctionnelle totale reliant la
clé à chaque attribut non clé.

Aminata Ngom (UCAD/FST/DMI/LACGAA) Figure – 2FN


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
20de
/ 49
don
Troisième forme normale : 3FN
Une table est en troisième forme normale si elle est déjà en deuxième forme
normale et qu’aucun attribut non clé ne dépend d’une clé quelconque par
transitivité. La 3FN interdit toute dépendance. transitive.

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
21de
/ 49
don
Résumé

Figure – Résumé

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
22de
/ 49
don
Algèbre relationnelle

Le concept de base de l’algèbre est l’ensemble, c’est une collection


d’éléments cohérents liés par une condition permettant de définir leur
appartenance à ce groupe. Dans l’algèbre relationnelle, on parlera de
domaine. Un domaine est un ensemble de valeurs. On le représentera de la
manière suivante :
D = v1 , v2 , ...vn
Un domaine peut être un sous ensemble d’un autre domaine.

Exemples :
Le domaine des booléens : Db = 0, 1 Le domaine des couleurs
primaires :Dcp = jaune, rouge, bleu Le domaine des couleurs spectrales,
issues de la décomposition de la lumière solaire par un prisme :
Ds = violet, indigo, vert, bleu, jaune, rouge, orang .

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
23de
/ 49
don
Algèbre relationnelle :Les opérations unaires
La projection
La projection d’une relation R consiste à créer une nouvelle relation, à
partir de R mais en ne conservant que les attributs cités en opérande. La
projection(proj)est l’opération qui consiste à :
Supprimer, d’une relation, les attributs non mentionnés en opérande,
ET à éliminer les tuples, en doublon, qui risquent d’apparaître dans la
nouvelle table.

La projection : Notation

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
24de
/ 49
don
Algèbre relationnelle :Les opérations unaires

La projection :Exemple
Considérons la relation CLIENT < NUCLI , NOCLI , PNCLI , DNCLI >.
Nous ne voudrions connaître que les noms et prénoms des clients qui
intéressent l’utilisateur X.

Figure – Projection

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
25de
/ 49
don
Algèbre relationnelle :Les opérations unaires
La projection :Exemple

Figure – Notation Projection

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
26de
/ 49
don
Algèbre relationnelle :Les opérations unaires
La sélection (ou restriction)
La sélection consiste à créer une relation à partir d’une autre, en ne gardant
que les tuples pour lesquels un attribut vérifie une certaine propriété.

La sélection (ou restriction) : Notation

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Figure – Sélection
Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
27de
/ 49
don
Algèbre relationnelle :Les opérations unaires

La sélection :Exemple
Considérons la relation CLIENT < NUCLI , NOCLI , PNCLI , DNCLI >. On
veut connaitre les clients qui ont 35 ans ou plus au 1er janvier 2008.

Figure – Restriction

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
28de
/ 49
don
Algèbre relationnelle :Les opérations unaires
La sélection :Exemple

Figure – Sélection notation

Figure – Sélection résultat


Aminata Ngom (UCAD/FST/DMI/LACGAA)
Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
29de
/ 49
don
Algèbre relationnelle :Les opérations ensemblistes

L’intersection
L’intersection de deux relations R1 et R2 est une nouvelle relation R dont
les tuples appartiennent à R1 ET R2. Les trois relations R1, R2 et R ont le
même schéma.

Figure – Intersection

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
30de
/ 49
don
Algèbre relationnelle :Les opérations ensemblistes
L’intersection : Exemple

Figure – Résultat intersection


Aminata Ngom (UCAD/FST/DMI/LACGAA)
Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
31de
/ 49
don
Algèbre relationnelle :Les opérations ensemblistes
L’union
L’union de deux relations R1 et R2 est une nouvelle relation R dont les
tuples appartiennent à R1 OU appartiennent à R2 OU appartiennent à R1
et R2. Les trois relations R1, R2 et R ont le même schéma.

Figure – Union

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
32de
/ 49
don
Algèbre relationnelle :Les opérations ensemblistes
L’union :Exemple

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
33de
/ 49
don
Algèbre relationnelle :Les opérations ensemblistes

La différence
La différence R1 − R2 de deux relations R1 et R2 est une nouvelle relation
R dont les tuples appartiennent à R1 ET n’appartiennent PAS à R2. Les
trois relations R1, R2 et R ont le même schéma. On notera : R = R1 − R2
Aucun exemplaire des tuples communs n’est conservé. La modélisation
graphique de la différence est la suivante :

Figure – Différence

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
34de
/ 49
don
Algèbre relationnelle :Les opérations ensemblistes
Différence :Exemple

Figure – Résultat Différence


Aminata Ngom (UCAD/FST/DMI/LACGAA)
Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
35de
/ 49
don
Algèbre relationnelle :Les opérations ensemblistes
Le produit cartésien
Le produit cartésien de deux relations R1 et R2 est la relation R, dont :
Le schéma relationnel est constitué de la concaténation des attributs
du schéma de R1 et du schéma de R2,
les tuples sont issus de toutes les combinaisons des tuples de R1 avec
les tuples de R2. Les deux tables participant au produit cartésien n’ont
pas forcément le même schéma.
On notera : R = R1XR2 = R1 ∗ R2

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
36de
/ 49
don
Algèbre relationnelle :Les opérations ensemblistes
Le produit cartésien : Exemple

Figure – Résultat Produit Cartésien


Aminata Ngom (UCAD/FST/DMI/LACGAA)
Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
37de
/ 49
don
Les jointures internes : La Ojointure

Définition
La jointure thêta (ou join) est l’opération qui consiste, à partir du produit
cartésien de deux relations R1 (A0 1, A0 2...A0 n) et R2(A”1, A”2...A”n) et à
une condition de rapprochement C de ces deux relations, à créer une
nouvelle relation R conservant les tuples satisfaisant au prédicat. Le
principe est donc, à partir de deux relations R1 et R2 et avec une condition
de rapprochement (O), de construire une nouvelle relation R3.

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
38de
/ 49
don
Les jointures internes : La Ojointure

Exemple
Reprenons l’exemple précédent de la bibliothèque dont le SI possède, entre
autres, deux relations : LIVRE < NULIV , TITLIV , NBPAGE > : et
ANNEX < NUAN, VILAN >. Nous ne voulons conserver que les livres dont
le nombre de pages NBPAGE est supérieur au numéro d’annexe NUAN
d’ANNEX. Le contenu de cette relation va se constituer en deux étapes :
1 D’abord un produit cartésien
2 Puis élimination des tuples qui ne vérifient pas la condition
(NBPAGE > NUAN)

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
39de
/ 49
don
Les jointures internes : La Ojointure

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
40de
/ 49
don
Les jointures internes : L’équijointure

L’équijointure est une jointure thêta où l’opérateur de rapprochement est


une égalité (=). La modélisation graphique de l’équijointure est la
suivante :

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
41de
/ 49
don
Les jointures internes : L’équijointure

Exemple
Nous ne voulons conserver que les livres dont le nombre de pages NBPAGE
est égal au numéro d’annexe NUAN d’ANNEX. Il faut construire la relation
EQUILA, issue de l’équijointure sur LIVRE et ANNEX, reposant sur la
condition NBPAGE de LIVRE = NUANd 0 ANNEX Pour ce faire :
1 D’abord, un produit cartésien :
2 Puis, élimination des tuples qui ne vérifient pas la condition
(NBPAGE = NUAN)

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
42de
/ 49
don
Les jointures internes : L’équijointure

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
43de
/ 49
don
Les jointures internes : La jointure naturelle

La jointure naturelle R de R1 et R2 est une équijointure dont la condition


de rapprochement concerne tous les attributs, A0 i de R1 et A”i de R2, de
même nom et dont une occurrence de chaque attribut commun est
éliminée.

Figure – jointure Naturelle

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
44de
/ 49
don
Les jointures internes : La jointure naturelle : exemple
Exemple
Prenons le SI d’une bibliothèque avec les deux relations suivantes :
LIVRE < NULIV , TITLIV , NOAUT , NUAN > etANNEX <
NUAN, VILAN >. Nous ne voulons conserver que les livres dont le numéro
d’annexe existe dans la relation ANNEX. Cela se traduit en la recherche des
livres de la relation LIVRE dont le numéro d’annexe NUAN est égal à un
numéro d’annexe NUAN d’ANNEX.

Figure – jointure Naturelle


Aminata Ngom (UCAD/FST/DMI/LACGAA)
Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
45de
/ 49
don
Les jointures internes : La jointure naturelle

Exemple
Nous allons passer par plusieurs étapes pour obtenir la relation résultante :
D’abord, le produit cartésien des deux relations
Puis, élimination des tuples qui ne vérifient pas la relation de jointure
(NUAN= NUAN)
Nous supprimons l’attribut en double pour obtenir la relation finale.

Figure – résultat jointure Naturelle

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
46de
/ 49
don
Les jointures internes : La jointure naturelle

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
47de
/ 49
don
La jointure externe

Dans le cas d’une jointure externe, les tuples ne vérifiant pas la condition
de rapprochement seront conservés avec un signe distinctif dans la relation
résultante. Suivant l’appartenance des tuples conservés avec un signe
distinctif, à telle ou telle relation, nous parlerons de jointure externe
entière, gauche, droite. Pour une meilleur compréhension cette partie du
cours sera faite sous forme de travaux dirigés.

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
48de
/ 49
don
Conclusion

Aminata Ngom (UCAD/FST/DMI/LACGAA)


Initiation au système de gestion de base de données:27Leoctobre
schéma2020
d’une base
49de
/ 49
don

Vous aimerez peut-être aussi