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)
Schéma Relationnel
Une relation peut simplement être représentée
sous forme de table
Une relation a donc un nom et se compose d’un
ensemble de colonnes désignées par un nom
d’attribut.
Dans chaque colonne on trouve des valeurs d’un
certain domaine (chaînes de caractères, nombres,
…).
Enfin on constate que chaque ligne (ou tuple)
correspond à une occurrence d’une entité.
Un schéma relationnel est constitué d’un
ensemble de schémas de relations qui décrivent,
à l’aide des élements présentés informellement ci-
dessus (domaines, attributs, noms de relation) le
contenu d’une relation. 9
Définitions (3/9)
Attribut
Un attribut est un identificateur (un nom) décrivant
une information stockée dans une base.
Exemples d’attribut : l’âge d’une personne, le nom
d’une personne, le numéro de sécurité sociale
Domaine
Le domaine d’un attribut est l’ensemble, fini ou infini,
de ses valeurs possibles.
Par exemple, l’attribut numéro de sécurité sociale a
pour domaine l’ensemble des combinaisons de
quinze chiffres et nom a pour domaine l’ensemble
des combinaisons de lettres (appelée chaîne de
caractères).
10
Définitions (4/9)
Relation
Une relation est un sous-ensemble du
produit cartésien de n domaines d’attributs
(n > 0).
Une relation est représentée sous la forme
d’un tableau à deux dimensions dans lequel
les n attributs correspondent aux titres des n
colonnes.
Schéma de relation
Un schéma de relation précise le nom de la
relation ainsi que la liste des attributs avec
leurs domaines. 11
Définitions (5/9)
Degré
Le degré d’une relation est son nombre
d’attributs.
Occurrence ou n-uplets ou tuples
Une occurrence, ou n-uplets, ou tuples, est
un élément de l’ensemble figuré par une
relation. Autrement dit, une occurrence est
une ligne du tableau qui représente la relation.
Cardinalité
La cardinalité d’une relation est son nombre
d’occurrences
13
Définitions (7/9)
Clé candidate
Une clé candidate d’une relation est un
ensemble minimal des attributs de la relation
dont les valeurs identifient à coup sûr une
occurrence.
La valeur d’une clé candidate est donc
distincte pour tous les tuples de la relation.
La notion de clé candidate est essentielle
dans le modèle relationnel.
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)
Exemple
LIGNE_COMMANDE(#Num_cde, #RéférenceProd,
DésignationProd,
Quantité)
Cette relation est en première forme normale
(existence d’une clé valide et aucun attribut n’est
décomposable)
MAIS elle n’est pas en 2° forme normale car on a
DésignationProd ne dépend pas de toute la clé mais
seulement de RéférenceProd
RéférenceProd DésignationProd
pour connaître l’attribut désignationProd, on n’a pas
39
besoin de connaître le numéro de commande.
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)
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