04.introd. Au Modele Relationnel

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

Introduction

au modèle relationnel

Akoka-Wattiau

Le modèle relationnel
• proposé par Codd en 1971
• caractéristiques essentielles
– simplicité des concepts
– facilité d'utilisation
– standardisation du langage de définition des données
et du langage d'interrogation : SQL
– pauvreté sémantique
– pas de représentation graphique
– existence d'une théorie sous-jacente 2

Akoka-Wattiau

Page 1
Les concepts principaux
du modèle relationnel
• La table : matrice à deux dimensions
en colonnes : les attributs ou domaines
en lignes : les n-uplets ou tuples

COURS code professeur salle jour

Exemple : SID 230 WATTIAU E6 mardi

LOG 300 GEORGES S30 lundi

La constitution d'un tel tableau matérialise une relation


sémantique entre les différents éléments d'une ligne :
le cours de code … est donné le …
en salle … par le professeur … 3

Akoka-Wattiau

Interprétation mathématique

Soit P le produit cartésien des domaines D1, D2, …,


Dn. Une table est une relation R entre les domaines D1,
D2, …, Dn. C’est un sous-ensemble du produit
cartésien P.
Exemple : Domaines code, professeur, salle, jour
100 cours, 80 professeurs, 30 salles, 5 jours
PRODUIT CARTESIEN : 100 x 80 x 30 x 5 éléments
TABLE : 100 éléments (tuples)
si un cours a lieu une fois par semaine, donné par un seul professeur dans une seule salle

Akoka-Wattiau

Page 2
Théorie de la normalisation
permet de définir une méthode de conception de
"bonnes" tables, c'est-à-dire sans redondances et sans
perte d'information
COURS code trimestre libellé professeur
SID 130 T2 Bases de données Akoka
Exemples : SID 230
SID 132
T3
T2
B.D.A.
Micro-informatique
Akoka
Wattiau
SID 132 T3 Micro-informatique Wattiau

REDONDANCES : on dit 2 fois que le cours


SID132 a pour libellé Micro-informatique et est
donné par WATTIAU
5

Akoka-Wattiau

Théorie de la normalisation

COURS code trimestre professeur COURS code libellé


Akoka
SID 130 T2
T3 Akoka et SID 130 Bases de données
B.D.A.
SID 230 SID 230
SID 132 T2 Wattiau SID 132 Micro-informatique
SID 132 T3 Wattiau

C’est un bon découpage si le même cours a toujours le


même libellé mais peut changer d’enseignant

Akoka-Wattiau

Page 3
Dépendance fonctionnelle
La théorie de la normalisation s'appuie sur la notion de dépendance
fonctionnelle entre attributs :
on dit que les attributs A1 A2 …An déterminent fonctionnellement
l'attribut B si à un n-uplet (a1, a2, …, an) de valeurs de A1 A2 …An
correspond au plus une valeur b de B on note A1 A2 …An -> B
Exemple :
COURS code trimestre libellé professeur

code -> libellé car un cours a toujours le même libellé


code -> professeur si un cours est toujours donné par le même professeur
code, trimestre -> professeur si un cours un trimestre donné est donné par un professeur
code -> trimestre si un cours est donné un trimestre maximum

Akoka-Wattiau

Dépendance fonctionnelle
La notion de dépendance fonctionnelle (df) est liée à la
sémantique des données
Pour déterminer si une dépendance fonctionnelle est
vraie, il faut raisonner sur la sémantique de la table et
non sur son contenu à l’instant t
Le contenu de la table peut permettre d’invalider
certaines df

Akoka-Wattiau

Page 4
Clé d’une table
* On définit, pour chaque table, le (ou les) attributs - clés:
A1 A2 …An est une clé de la table R (A1 A2 …An B1 …Bp)si, à un n-uplet
(a1,a2 …an) de valeurs de A1 A2… An ,correspond au plus une ligne de R
c'est la notion d'identifiant du modèle E-R
Exemples : EMPLOYE matricule N°SS nom prénom salaire

clés : matricule, N°SS


COURS code trimestre professeur salle jour heure

clés : code trimestre


trimestre salle jour heure 9

Akoka-Wattiau

3ème forme normale


* Une table est en troisième forme normale (3FN) si elle
vérifie les 2 conditions suivantes :
• il n'existe pas de dépendance fonctionnelle d'une
partie d'une clé vers un attribut non-clé (2FN)
• il n'existe pas de dépendance fonctionnelle entre les
attributs non-clés (3FN)
Ces deux conditions doivent être vérifiées pour toutes les
clés possibles
10

Akoka-Wattiau

Page 5
3ème forme normale
* Exemples :
EMPLOYE matricule N°SS nom prénom salaire

clés : matricule et N°SS


toutes les dépendances fonctionnelles ont une clé pour partie gauche
=> Employé est en 3FN

COURS code trimestre professeur libellé

clé : code trimestre


la dépendance fonctionnelle code -> libellé viole la première
règle (2FN)
11

Akoka-Wattiau

Utilisation de la normalisation
• La conception d'un schéma relationnel correct nécessite donc
l'explicitation de toutes les dépendances fonctionnelles.
• Il existe des algorithmes, dits de normalisation, qui, à partir d'un
ensemble de dépendances fonctionnelles sur un ensemble
d'attributs, construisent le schéma relationnel en 3ème forme
normale.
• La conception d'un schéma E-R, ou EER, correct et sa traduction
selon certaines règles, fournit aussi un schéma relationnel en
3ème forme normale.

12

Akoka-Wattiau

Page 6
Concepts du modèle relationnel

Le modèle relationnel s'appuie sur un seul concept essentiel : la relation


ou table

Deux autres concepts sont néanmoins toujours présents et très utiles :

• LA VUE : notion virtuelle


= table "artificielle"

• L'INDEX: notion physique


= « table » complémentaire pour accès rapide
13

Akoka-Wattiau

Notion de vue
* Une vue est une table virtuelle (c'est-à-dire non stockée telle
qu'elle) regroupant les données dont un utilisateur a besoin
Exemple 1 : table ⇒ EMPLOYE N°SS nom prénom salaire service

Vue obtenue par sélection dans une table


vue ⇒ EMPLOYE N°SS nom prénom service

Exemple 2 :
COURS code libellé EMPLOITEMPS code professeur trimestre salle
tables

vue COURS code libellé professeur trimestre salle


14

Akoka-Wattiau
Vue obtenue par jointure entre deux tables

Page 7
Notion d’index
* Un index est une table supplémentaire permettant un accès rapide
à une table de la base (en réalité, l’index est arborescent)
table COURS code professeur trimestre

{ 1 SID 130 Wattiau T2


2 SID 230 Wattiau T3
3 LOG 300 Dupont T2
4 MKG 254 Martin T1

Exemple : Triée sur


index PROFESSEUR adresse professeur

Dupont 3
Martin 4
Wattiau 1,2

Recherche des cours de Wattiau :


15

Akoka-Wattiau

Les index : avantages et inconvénients

• Avantages :
– accélère les recherches
– utilisation transparente pour l’utilisateur
– mise à jour automatique
– accès multiple
• Inconvénients :
– espace de stockage important
– peut pénaliser les mises à jour
16

Akoka-Wattiau

Page 8
Pauvreté sémantique du modèle relationnel

* La simplicité et la pauvreté sémantique du modèle relationnel


sont dues au fait qu'il n'y a qu'un seul concept : la relation (ou
table) pour représenter :
une entité EMPLOYE matricule nom salaire ...

une association CONSULTATION N°SS patient matrice médecin

une sous-classe ETUDIANT numéro nom type


AST
ASC
... ... 17

Akoka-Wattiau

Contraintes d'intégrité dans


un schéma relationnel
Une contrainte d'intégrité est une expression logique qui doit être
vraie, à tout moment, dans une base de données

Exemples :
• deux employés ne peuvent avoir le même matricule
• tout employé doit avoir un matricule
• on ne peut avoir deux cours dans la même salle à la même heure
• un salaire ne peut qu'augmenter
• une commande ne peut être enregistrée que si son client est déjà
enregistré
18

Akoka-Wattiau

Page 9
Les types de contraintes d’intégrité
Dans les SGBD relationnels usuels, on définit :
• Les contraintes de clés : unicité des tuples ayant même valeur de clé
• Exemple : matricule est clé de EMPLOYE
• Convention : dans le schéma relationnel, on souligne une clé
• EMPLOYE (matricule, nom, prénom, salaire, N° SS)
• autres clés : N° SS matricule : clé primaire
• Les attributs obligatoires :
• on interdit les tuples n'ayant pas de valeur pour ces attributs
• en général, la clé primaire est obligatoire
• Les contraintes référentielles :
• un tuple d'une relation qui se réfère à une autre relation doit se référer à un tuple existant
dans cette relation.
•Exemple :COURS (code, libellé) EMPLOITEMPS (code, salle, professeur, trimestre)
•un cours ne peut être inséré dans EMPLOITEMPS que s'il existe dans COURS

19

Akoka-Wattiau

Conclusion

• Le modèle relationnel permet de représenter


toutes les données dans des tables
• Un schéma relationnel est décrit à l’aide de :
– au niveau logique : des tables, des clés, des
contraintes d’intégrité
– au niveau physique : des index
– au niveau externe : des vues

20

Akoka-Wattiau

Page 10

Vous aimerez peut-être aussi