Académique Documents
Professionnel Documents
Culture Documents
Chap3 Modele Relationnel
Chap3 Modele Relationnel
Bases de Données
1
Chapitre 6
Le modèle Relationnel
2
Historique (1/2)
Le père des bases de données relationnelles
est Edgar Frank Codd.
Chercheur chez IBM à la fin des année 1960, il
étudiait de nouvelles méthodes pour gérer de
grandes quantités de données car les modèles
et les logiciels de l’époque ne le satisfaisait
pas.
Il était persuadé qu’il pourrait utiliser la théorie
des ensembles pour résoudre des difficultés
telles que la redondance des données,
l’intégrité des données ou l’indépendance de la
structure de la base de données avec sa mise
en œuvre physique.
3
Historique (2/2)
En 1970, il publia un article où il proposait de
stocker des données hétérogènes dans des
tables, permettant d’établir des relations entre
elles.
De nos jours, ce modèle est extrêmement
répandu, mais en 1970, cette idée était
considérée comme une curiosité intellectuelle.
On doutait que les tables puissent être jamais
gérées de manière efficace par un ordinateur.
Depuis les années 80, cette technologie a mûri
et a été adoptée par l’industrie.
En 1987, le langage SQL, qui étend l’algèbre
relationnelle, a été standardisé. 4
Introduction (1/2)
Dans ce modèle, les données sont
représentées par des tables, sans préjuger de
la façon dont les informations sont stockées
dans la machine.
Les tables constituent donc la structure
logique du modèle relationnel.
Au niveau physique, le système est libre
d’utiliser n’importe quelle technique de
stockage dès lors qu’il est possible de relier
ces structures à des tables au niveau logique.
Les tables ne représentent donc qu’une
abstraction de l’enregistrement physique des
données en mémoire. 5
Introduction (2/2)
14
Définitions (8/9)
15
Définitions (9/9)
Clé primaire
La clé primaire d’une relation est une de ses
clés candidates. Pour signaler la clé
primaire, ses attributs sont généralement
soulignés.
Clé étrangère
Une clé étrangère dans une relation est
formée d’un ou plusieurs attributs qui
constituent une clé primaire dans une autre
relation.
16
Propriétés d’une
BD relationnelle (1/3)
Une base de données relationnelle est
un ensemble fini de relations.
Le schéma de la base est l’ensemble des
schémas des relations de cette base.
La création d’un schéma de BDR est
simple une fois que l’on a déterminé
toutes les relations qui constituent la
base.
17
Propriétés d’une
BD relationnelle (2/3)
En revanche le choix de ces relations est un
problème difficile car il détermine en grande
partie les caractéristiques, qualités de la base:
performances, exactitude, exhaustivité,
disponibilité des informations, etc.
Un des aspects importants de la théorie des
bases de données relationnelles consiste
précisément à définir ce qu’est un bon schéma
et propose des outils formels pour y parvenir.
18
Propriétés d’une
BD relationnelle (3/3)
En pratique, on procède d’une manière
moins rigoureuse mais plus accessible,
en concevant le schéma à l’aide d’un
modèle de données conceptuel, puis en
transcrivant le schéma conceptuel
obtenu en schéma relationnel.
La technique la plus répandue consiste à
partir d’un schéma Entité/Association et
d’appliquer certaines règles de
transformation. 19
Anomalies de mise à jour (1/4)
Soit la relation
FOURNISSEUR (NomFournisseur, AdresseFournisseur, Produits, Prix)
Table de chevet 25 20
Anomalies de mise à jour (2/4)
1er problème
Il n’y a pas de clé primaire : on ne sait pas si les
deux Dupont sont différents ou pas (si c’est le
même Dupont, il y a une des deux adresses qui est
fausse)
2ème problème
L’adresse n’est pas décomposée. Si on veut par
exemple rechercher tous les fournisseurs qui
habitent la même ville, ça ne va pas être possible
21
Anomalies de mise à jour (3/4)
3ème problème
Une relation (table) correspondant à ce
schéma pourra éventuellement contenir
plusieurs produits pour un même
fournisseur.
Dans ce cas, il faudra faire face à un certain
nombre de problèmes :
l'adresse du fournisseur sera dupliquée dans
chaque n-uplet redondance
22
Anomalies de mise à jour (4/4)
Définition
On dit que B est en dépendance
fonctionnelle (DF) de A si à une valeur
quelconque de la propriété A, on ne peut
faire correspondre qu’une seule valeur au
plus de la propriété B.
Deux attributs sont en dépendance
fonctionnelle si la connaissance d’une valeur
de A détermine une et une seule valeur de
b. on dit que a détermine B ou encore que B
dépend fonctionnellement de A et on note
A B
26
Dépendances fonctionnelles (4/9)
28
Dépendances fonctionnelles (6/9)
29
Dépendances fonctionnelles (7/9)
31
Dépendances fonctionnelles (9/9)
Transitivité
Si XY et YZ Alors XZ
Pseudo-transitivité
Si XY et Y,WZ Alors X,WZ
Union
Si XY et XZ Alors XY,Z
Décomposition
Si XY,Z Alors XY et XZ
32
Graphe des DF (1/4)
33
Graphe des DF (2/4)
Exemple
Des articles, identifiés par un code et ayant
une description, sont achetés chez un seul
fournisseur par article. Le fournisseur est
connu par son numéro et son nom
Les DF sont les suivantes :
Code articleDescription article
Num fournisseur Nom fournisseur
Code article Num fournisseur
34
Graphe des DF (3/4)
Le graphe correspondant
Code Article
Num Fournisseur
35
Normalisation (1/13)
Exemples
PERSONNE (NOM, PRENOMS)
Mise en 1FN :
PERSONNE (NOM, PRENOM1, PRENOM2)
PERSONNE (NOM, PRENOM, ADRESSE)
Mise en 1FN :
PERSONNE (NOM, PRENOM, N°RUE, RUE,
CODEPOSTAL, VILLE)
37
Normalisation (3/13)
39
Normalisation (5/13)
40
Normalisation (6/13)
Exemple :
CLIENT(Num_client, Nom_client,
code_categ, nom_categ)
Cette relation n’est pas en 3FN car :
num_clientnom_categ n’est pas une
dépendance directe.
En effet, on a aussi :
num_client code_categ nom_categ
41
Normalisation (7/13)
43
Normalisation (9/13)
Forme Normale de Boyce-Codd
Dans les définitions précédentes, les
dépendances transitives cachées (pouvant
causer des anomalies de mise à jour) n’ont
pas été prises en compte.
Elles peuvent se manifester par
l’intermédiaire de clés candidates qui
pourraient demeurer dans une relation.
La forme normale de Boyce-Codd doit donc
prendre en considération toutes les clés de
la relation (au sens large).
44
Normalisation (10/13)
45
Normalisation (11/13)
Exemple
Soit la relation suivante :
Entretiens (candidat,dateExamen, heure, jury, salle)
Avec les dépendances suivantes:
candidat, dateExamen heure, jury, salle
jury ,dateExamen, heure candidat
jury ,dateExamen salle
46
Normalisation (12/13)
47
Normalisation (13/13)
48
Exercice 1
Pour les relations suivantes :
50
Règles de passage
Modèle E/AModèle relationnel
Règle 1 : Entité
Chaque entité donne une table
Sa clé primaire est la clé de la table
Règle 2 : association de type 1-N ou 1-1
La clé primaire de l'entité côté N est ajoutée du côté 1
où elle devient clé étrangère
Règle 3: association de type N-M
Création d'une nouvelle table dont la clé est
l'ensemble des clés primaires des entités concernées
Tout attribut de l'association devient attribut de la
nouvelle table 51