Académique Documents
Professionnel Documents
Culture Documents
Le modèle relationnel
2
Le modèle relationnel
Introduction
Relation
Une relation R est un sous-ensemble du produit cartésien de n ensembles
D1,D2,…,Dn les domaines des attributs A1,A2,…,An.
R est donc un ensemble de n-uplets (v1,v2,…,vn) tel que vi Di appelés
occurrences.
Une relation est notée R(A1,A2,…,An).
Exemple
Soit la relation Personne(CIN,Nom,Genre)
Le triplet (06125478,Kamoun,M) est
DCIN={Toutes les CIN possible} une occurrence de Personne
DNom={Ensemble de tous les noms possibles}
DGenre={M, F}
4
Le modèle relationnel
Notions de base (2)
Clé primaire
Chaque élément d’une relation R doit être unique.
Toute relation R doit avoir un identifiant, qui est un sous-ensemble des
attributs (Ai,Aj,…,Ak), appelé clé primaire.
Deux occurrences d’une même relation peuvent avoir les mêmes valeurs
pour tous les attributs, sauf pour la clé primaire.
Exemple
Dans la relation Personne(CIN,Nom,Genre), l’attribut CIN est la clé primaire.
R peut contenir des occurrences qui ont les mêmes valeurs pour Nom et
Genre, mais pas pour CIN.
5
Le modèle relationnel
Notions de base (3)
Table
Dans les SGBDs, les relations sont représentées par des tables.
Les occurrences sont dites lignes, et les attributs sont dits colonnes.
Exemple
PERSONNE
CIN Nom Genre
06125478 Kamoun M
05487964 Laâbidi F
07548976 Kamoun M
6
Le modèle relationnel
Notions de base (4)
CONCERNER
1-N
PROD_ALIM CLIENT
Règles de passage: ingredients
date_conso
PROD_HiT EC
config_tech codec
nom
garantie
adresse
1. Un TE est traduit en relation. id: codec
4. Traitement de la généralisation
4.1. Décomposition par distinction
4.2. Décomposition descendante (push-down)
4.3. Décomposition ascendante (push-up)
Transformer uniquement la sur-entité en relation en migrant les attributs spécifiques
des sous-entités à la sur-entité.
Cas d’une contrainte de partition (une occurrence du super-type ne peut appartenir qu’à un seul sous-type à la fois).
Produit(id_produit,libelle,prix,ingredients,date_lim_conso,conf_technique,g
arantie,type_produit)
Cas d’une contrainte de non-disjonction (une occurrence du super-type peut appartenir à plusieurs sous-types à la fois ).
Produit(id_produit,libelle,prix,ingredients,date_lim_conso,conf_te
chnique,garantie,prod_alim,prod_hitec)
10
Le modèle relationnel
Exemple de la base de données EMP
EMP DEPT
SALGRADE
11
Le modèle relationnel
Algèbre relationnelle (1)
Algèbre relationnelle
Définit un ensemble d’opérations qui sont appliquées aux
relations d’une base de données. Le langage SQL s’en est inspiré.
Il existe deux types d’opérateurs : relationnels et ensemblistes.
Le résultat de toute opération algébrique est une relation
(fermeture)
R1 op R2 = R3
Le degré d’une relation: nombre d’attributs de la relation
l’algèbre relationnelle est la base de l’implémentation de SQL
12
Le modèle relationnel
Algèbre relationnelle (2)
Opérateurs relationnels
La projection
La projection de R sur les attributs Ai, Aj,…,Ak est notée R[Ai,Aj,…Ak].
Exemple
La projection de EMP sur ENAME et JOB est notée EMP[ENAME,JOB]
La restriction (dite aussi sélection)
La restriction de R selon une condition C, est l’ensemble des occurrences de R
qui satisfont la condition C. Elle est notée R<C>.
Exemple
L’opération algébrique qui renvoie la liste des employés payés plus que 1000
est notée EMP<SAL>1000>
13
Le modèle relationnel
Opérateurs relationnels (1)
Opérateurs relationnels
La jointure
La jointure de deux relations R et S est la combinaison de deux tuples (l’un de
R et l’autre de S) selon une condition qu’ils satisfont.
L’équijointure de R et S sur les colonnes A et B produit la concaténation des
tuples de R et ceux de S ayant la même valeur pour A et B. Elle est notée
R S<A=B>
On parle de jointure naturelle si les colonnes de l’équijointure portent le
même nom, chacune dans sa table
Exemple
La jointure naturelle de EMP avec DEPT donne les informations des employés
ainsi que les informations de leurs départements EMP DEPT.
14
Le modèle relationnel
Opérateurs relationnels (2)
La jointure externe
La jointure externe entre R et S est la jointure entre R et S avec les tuples de R et de S
qui n’ont pas d’équivalent. Elle est notée
La semijointure de R avec S notée R S est la jointure naturelle entre R et S, avec en
plus les tuples de S qui n’ont font pas partie.
15
Le modèle relationnel
Opérateurs relationnels (3)
Opérateurs ensemblistes
Les opérations ensemblistes peuventSELECT
être exécutées sur n’importe quel couple
A,B FROM R1
de relations ayant
SELECT A,B FROMleR1même nombreUNION
et domaines d’attributs.
INTERSECT SELECT A,B FROM R2
Soient R1 et
SELECT A,BR2 deux
FROM R2relations ayant le même nombre d’attributs (qui ont les
mêmes domaines).
L’union de R1 et R2 est notée R1R2. L’intersection de R1 et R2 est notée
R1R2 . La différence entre R1 et R2 est notée R1-R2.
Exemple
R1 R2 SELECT A,B FROM R1
Exécuter toutes les MINUS
A B A B
opérations possibles SELECT A,B FROM R2
entre R1 et R2. a1 b1 a1 b1
a1 b2 a2 b1
a2 b2 a2 b2
17
Le modèle relationnel
Opérateurs ensemblistes (2)
R1 R2
A B C D
a1 b1 c3 d1
a1 b2 c2 d1
18
Le modèle relationnel
Opérateurs relationnels (3)