1
Le modèle relationnel
2
Le modèle relationnel
Introduction
Modèle de niveau logique
Introduit par Ted Codd en 1970, et développé par IBM
Lab.
Se base sur deux concepts de base :
Relation (table)
Attribut (colonne)
Utilisé aujourd’hui par plusieurs éditeurs de SGBD
(Oracle, DB2, Informix, Sybase, Ingres, SQL Server etc.)
3
Le modèle relationnel
Notions de base (1)
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)
Passage modèle conceptuel (E/A) – modèle logique (SR)
PRODUIT FACTURE
codep codef
0-N INCLURE 1-N
libelle datef
prix id: codef
id: codep
1-1
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
2. Un TA «un à plusieurs» engendre la migration de la clé primaire de la relation
mère à la relation fille en clé étrangère.
3. Un TA «plusieurs à plusieurs» est représenté par une relation dont la clé
primaire est composée par les clés primaires des relations associées.
7
Le modèle relationnel
Notions de base (5)
Règles de passage E/A - SR
4. Traitement de la généralisation
4.1. Décomposition par distinction
Transformer la sur-entité et ses sous-entités en relations. La clé primaire de la
sur-entité migre dans les relations issues des sous-entité.
PRODUIT(codep,libelle,prix)
PROD_ALIM(#codep,ingredients,date_conso)
PROD_HiTEC(#codep,config_tech,garantie)
8
Le modèle relationnel
Notions de base (6)
Règles de passage E/A – SR
4. Traitement de la généralisation
4.1. Décomposition par distinction
4.2. Décomposition descendante (push-down)
Transformer uniquement les sous-entités en relations, en migrant les attributs de la
sur-entité vers ses sous-entités.
PROD_ALIM(codep,libelle,prix,ingredients,date_lim_conso)
PROD_HiTEC(codep,libelle,prix,conf_technique,garantie)
La généralisation doit être complète (Un produit est soit alimentaire, soit HiTec et rien
d’autre) et disjointe (Un produit ne peut pas être à la fois alimentaire et HiTec).
9
Le modèle relationnel
Notions de base (7)
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