Vous êtes sur la page 1sur 31

LE MODELE RELATIONNEL

Invent par T. Codd (IBM Recherche) Publication ACM 1970 1. Concepts pour la description 2. Concepts pour la manipulation 3. Concepts additionnels

1. CONCEPTS DESCRIPTIFS
Ensemble de concepts pour formaliser la description d'articles de fichiers plats Modle standardis mais extensible


G. Gardarin

Introduction de types de donnes varis (SQL2) Introduction de la dynamique (produits, SQL3) Introduction des objets (SQL3)
2

Domaine
ENSEMBLE DE VALEURS Exemples:

ENTIER REEL CHAINES DE CARACTERES EUROS SALAIRE = {4 000..100 000} COULEUR= {BLEU, BLANC, ROUGE} POINT = {(X:REEL,Y:REEL)} TRIANGLE = {(P1:POINT,P2:POINT,P3:POINT)}

G. Gardarin

Produit cartsien
LE PRODUIT CARTESIEN D1x D2x ... x Dn EST L'ENSEMBLE DES TUPLES (NUPLETS) <V1,V2,....Vn> TELS QUE Vi Di Bleu Vrai Bleu Faux Exemple:

D1 = {Bleu,Blanc,Rouge} D2 = {Vrai, Faux}

Blanc Blanc Rouge Rouge

Vrai Faux Vrai Faux


4

G. Gardarin

Relation
SOUS-ENSEMBLE DU PRODUIT CARTESIEN D'UNE LISTE DE DOMAINES Une relation est caractrise par un nom
CoulVins

Exemple:

Coul Bleu Blanc Rouge

Choix Faux Vrai Vrai

D1 = COULEUR D2 = BOOLEEN

G. Gardarin

Attribut
VISION TABULAIRE DU RELATIONNEL

Une relation est une table deux dimensions Une ligne est un tuple Un nom est associ chaque colonne afin de la reprer indpendamment de son numro d'ordre

ATTRIBUT

nom donn une colonne d'une relation prend ses valeurs dans un domaine
6

G. Gardarin

Graphe d'une relation


Relation binaire R(A1,A2) Une relation n-aire est une gnralisation n dimensions
DOM(A2) 4 3 2 1 a
G. Gardarin

DOM(A1)

DOM(A2) 1 2

a
b

b c

DOM(A1)

Exemple de relation

VINS

CRU

MILL

REGION

COULEUR

CHENAS 1983 BEAUJOLAIS ROUGE TOKAY 1980 ALSACE BLANC TAVEL 1986 RHONE ROSE CHABLIS 1986 BOURGOGNE BLANC ST-EMILION 1987 BORDELAIS ROUGE

G. Gardarin

Cl
GROUPE D'ATTRIBUTS MINIMUM QUI DETERMINE UN TUPLE UNIQUE DANS UNE RELATION Exemples:

{CRU,MILLESIME} DANS VINS ==> NV NSS DANS PERSONNE Toute relation doit possder au moins une cl documente
9

CONTRAINTE D'ENTITE

G. Gardarin

Schma
NOM DE LA RELATION, LISTE DES ATTRIBUTS AVEC DOMAINES, ET LISTE DES CLES D'UNE RELATION Exemple:

VINS(NV: Int, CRU:texte, MILL:entier, DEGRE: Rel, REGION:texte) Par convention, la cl primaire est souligne Un schma de relation dfinit l'intention de la relation Une instance de table reprsente une extension de la relation C'est l'ensemble des schmas des relations composantes

INTENTION ET EXTENSION

SCHEMA D'UNE BD RELATIONNELLE

G. Gardarin

10

Cl Etrangre
GROUPE D'ATTRIBUTS DEVANT APPARAITRE COMME CLE DANS UNE AUTRE RELATION Les cls trangres dfinissent les contraintes d'intgrit rfrentielles

Lors d'une insertion, la valeur des attributs doit exister dans la relation rfrence Lors d'une suppression dans la relation rfrence les tuples rfrenant doivent disparatre Elles correspondent aux liens entit-association obligatoires
11

G. Gardarin

Exemple de Schma
EXEMPLE BUVEURS (NB, NOM, PRENOM, TYPE) VINS (NV, CRU, MILL, DEGRE) ABUS (NB, NV, DATE, QUANTITE)
CLES ETRANGERES ABUS.NV REFERENCE VINS.NV ABUS.NB REFERENCE BUVEURS.NB
G. Gardarin

12

Diagramme des Liens


BUVEURS NB NOM PRENOM TYPE VINS NV CRU MILL. DEGRE

ABUS

NB

NV

DATE

QUANTITE

G. Gardarin

13

Concepts Descriptifs : Bilan


RELATION ou TABLE ATTRIBUT ou COLONNE DOMAINE ou TYPE CLE CLE ETRANGERE
Questions ?

G. Gardarin

14

Synthse : Create Table


CREATION DES TABLES EN SQL

CREATE TABLE <relation name> (<attribute definition>+) [{PRIMARY KEY | UNIQUE} (<attribute name>+)] <attribute definition> ::= <attribute name> <data type> [NOT NULL [{UNIQUE | PRIMARY KEY}] ] CREATE TABLE VINS ( NV INTEGER PRIMARY KEY CRU CHAR VARYING MILL INTEGER NOT NULL, DEGRE FIXED 5.2 )

avec :

Exemple :

G. Gardarin

15

2. CONCEPTS MANIPULATOIRES
Un ensemble d'oprations formelles

Algbre relationnelle

Ces oprations permettent d'exprimer toutes les requtes sous forme d'expressions algbriques Elles sont la base du langage SQL

Paraphrasage en anglais des expressions relationnelles Origine SEQUEL Algbre d'objets complexes
16

Ces oprations se gnralisent l'objet

G. Gardarin

Oprations Ensemblistes
Oprations pour des relations de mme schma

UNION note INTERSECTION note DIFFERENCE note Relation X Relation --> Relation

Oprations binaires

Extension

Union externe pour des relations de schmas diffrents Ramener au mme schma avec des valeurs nulles
17

G. Gardarin

Projection
Elimination des VINS Cru Mill Rgion Qualit attributs non dsirs et VOLNAY 1983 BOURGOGNE A VOLNAY 1979 BOURGOGNE B suppression des tuples CHENAS 1983 BEAUJOLAIS A JULIENAS 1986 BEAUJOLAIS C en double Relation -> Relation Cru,Rgion note: (VINS) Cru Rgion VOLNAY BOURGOGNE A1,A2,...Ap (R) CHENAS BEAUJOLAIS
JULIENAS BEAUJOLAIS
G. Gardarin

18

Restriction
Obtention des tuples de R satisfaisant un critre Q Relation ->Relation, note Q(R) Q est le critre de qualification de la forme :

Ai Valeur = { =, <, >=, >, <=, !=}

Il est possible de raliser des "ou" (union) et des "et" (intersection) de critres simples
G. Gardarin

19

Exemple de Restriction
VINS Cru Mill VOLNAY 1983 VOLNAY 1979 CHENAS 1983 JULIENAS 1986 Rgion Qualit BOURGOGNE A BOURGOGNE B BEAUJOLAIS A BEAUJOLAIS C

MILL>1983

VINS

Cru Mill JULIENAS 1986

Rgion Qualit BEAUJOLAIS C

G. Gardarin

20

Jointure
Composition des deux relations sur un domaine commun Relation X Relation ->Relation

note

Critre de jointure

Attributs de mme nom gaux : Attribut = Attribut Jointure naturelle Comparaison d'attributs : Attribut1 Attribut2 Thta-jointure

G. Gardarin

21

Exemple de Jointure
VINS Cru VOLNAY VOLNAY CHABLIS Mill 1983 1979 1983 Qualit A B A

JULIENAS
LOCALISATION Cru

1986

C
QualMoy

Rgion

VOLNAY CHABLIS CHABLIS


VINSREG Cru Mill

Bourgogne Bourgogne Californie


Rgion

A A B
QualMoy

Qualit

VOLNAY VOLNAY
G. Gardarin

1983 1979 1983 1983

A B A A

Bourgogne Bourgogne Bourgogne Californie

A A A B

CHABLIS CHABLIS

22

Compltude
L'algbre relationnelle est complte

Les cinq (sept) oprations de base permettent de formaliser sous forme d'expressions toutes les questions que l'on peut poser avec la logique du premier ordre (sans fonction). Nom et prnom des buveurs de volnay 1988 ?
PROJECT (NOM, PRENOM, RESTRICT(CRU="VOLNAY" et MILL =1988, JOIN(VINS, ABUS, BUVEURS)))

Exemple :

G. Gardarin

23

SQL
Une requte SQL est un paraphrasage d'une expression de l'algbre relationnelle en anglais Requte lmentaire :
SELECT A1, A2, Ap FROM R1, R2, Rk WHERE Q [{UNION |INTERSECT | EXCEPT } ]

Smantique du bloc select :


PROJECT A1,A2,Ap ( RESTRICT Q ( PRODUIT ( R1, R2, , Rk) ) )

G. Gardarin

24

3. CONCEPTS ADDITIONNELS
Ensemble de concepts pour :

Etendre les fonctionnalits de manipulation Dcrire les rgles d'volution des donnes Supporter des objets complexes (SQL3)

Introduits progressivement dans le modle :


Complique parfois le modle Standardiss au niveau de SQL3 (1999) Des extensions multiples
25

G. Gardarin

Fonction et Agrgat
FONCTION

Fonction de calcul en ligne applique sur un ou plusieurs attributs Exemple : DEGRE * QUANTITE / 100

AGREGAT

Partitionnement horizontal d'une relation selon les valeurs d'un groupe d'attributs, suivi d'un regroupement par une fonction de calcul en colonne (SUM, MIN, MAX, AVG, COUNT, )
26

G. Gardarin

Exemples d'agrgats
VINS CRU CHABLIS CHABLIS VOLNAY VOLNAY MEDOC MILL 1977 1987 1977 1986

DEGRE
10.9 11.9 10.8 11.2

QUANTITE
100 250 400 300 200

1985

11.2

SELECT AVG(DEGRE) FROM VINS;


AVG DEGRE 11.2

SELECT CRU, SUM(QUANTITE)


FROM VINS GROUP BY CRU;

SUM

CRU CHABLIS VOLNAY

QUANTITE 350 700 200

G. Gardarin

MEDOC

27

Vue
Relation d'un schma externe dduite des relations de la base par une question Exemple : GrosBuveurs

CREATE VIEW GrosBuveurs AS SELECT NB, Nom, Prnom, FROM Buveurs, Abus WHERE Buveurs.NB = Abus.NB and Abus.Quantit > 100

Calcul de la vue

Une vue est une fentre dynamique sur la BD et est recalcule chaque accs. Une vue peut tre matrialise (vue concrte).
28

G. Gardarin

Dclencheur (Trigger)
Action base de donnes dclenche suite l'apparition d'un vnement particulier Forme :

{BEFORE | AFTER} <vnement> THEN <action> Un vnement peut tre : une opration sur une table (dbut ou fin) un vnement externe (heure, appel,etc.) Une action peut tre : une requte BD (mise jour) Une annulation (abort) de transaction l'appel une procdure catalogue
29

G. Gardarin

Dclencheur avec condition (Rgle)


Il est possible d'ajouter une condition afin de dclencher l'action seulement quand la condition est vrifie

Une condition est une qualification portant sur la base. BEFORE UPDATE EMPLOYE IF SALAIRE > 100.000 THEN ABORT TRANSACTION

Exemples :

G. Gardarin

30

4. CONCLUSION
Un ensemble de concepts bien compris et bien formaliss Un modle unique, riche et standardis

intgration des BD actives intgration des BD objets algbre d'objets SQL1, 2, 3


31

Un formalisme qui s'tend plutt bien

Un langage associ dfini plusieurs niveaux

G. Gardarin

Vous aimerez peut-être aussi