Vous êtes sur la page 1sur 42

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

Page 1
MODÉLISATION
PAR DES LANGAGES

Page 2
LA REPRÉSENTATION

LES CONCEPTS

• LA RELATION

• LE DOMAINE

• LES ATTRIBUTS

• LES N-UPLETS

Page 3
Domaine
 Ensemble de valeurs atomiques caractérisé par un nom
 Exemples:
 Nb_ENFANT = ENTIER
 AGE= REEL
 NOM = CHAINES DE CARACTERES
 SALAIRE = {4 000..100 000}
 LOGIQUE ={Vrai , Faux}
 COULEUR= {BLEU, BLANC, ROUGE}
 POINT = {(X:REEL,Y:REEL)}
 TRIANGLE = {(P1:POINT,P2:POINT,P3:POINT)}

Produit cartésien

 le produit cartésien D1x D2x...x Dn


l’ensemble de toutes les combinaisons
<V1,V2,....Vn> tels que Vi Di
 Exemple: Bleu Vrai
 D1 = {Bleu,Blanc,Rouge} Bleu Faux
Blanc Vrai
 D2 = {Vrai, Faux} Blanc Faux
Rouge Vrai
Rouge Faux

Page 4
prédicat

Relation

10

Page 5
Relation

 Sous ensemble du produit cartesien d’une liste de


domaines.

 Une relation est caractérisée par un nom


CoulVins Coul Choix
Bleu Faux
 Exemple: Blanc Vrai
Rouge Vrai
 D1 = COULEUR
 D2 = BOOLEEN
11

Intention et extension

 Un schéma de relation définit l'intention de la


relation

 Une instance de table représente une extension de la


relation

 Par convention, la clé primaire est soulignée

12

Page 6
Graphe d'une relation

 Relation binaire R(A1,A2)


 Une relation n-aire est une DOM(A1)
DOM(A2)

généralisation à n 1
a
dimensions 2
DOM(A2) b
3
4 • c
3 • 4
2 •
1 • •

a b c DOM(A1)

13

Attribut

14

Page 7
Attribut

15

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 repérer
indépendamment de son numéro d'ordre

 ATTRIBUT
 nom donné à une colonne d'une relation
 prend ses valeurs dans un domaine

16

Page 8
N-uplet

17

Cardinalité et arité

18

Page 9
19

Les règles d’intégrité

20

Page 10
Intégrité du domaine

21

Intégrité de relation

22

Page 11
Intégrité de référence

23

Clé

 Groupe minimum d’attributs qui determine un tuple


unique dans une relation.
 Exemples:
 {CRU,MILLESIME} DANS VINS ==> NV
 NSS DANS PERSONNE
 CONTRAINTE D'ENTITE
 Toute relation doit posséder au moins une clé documentée

24

Page 12
Clé Etrangère

 GROUPE D'ATTRIBUTS DEVANT


APPARAITRE COMME CLE DANS UNE AUTRE
RELATION
 Les clés étrangères définissent les contraintes
d'intégrité référentielles
 Lors d'une insertion, la valeur des attributs doit exister dans
la relation référencée
 Lors d'une suppression dans la relation référencée les tuples
référençant doivent disparaître
 Elles correspondent aux liens entité-association obligatoires
25

Exemple de Schéma

 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
26

Page 13
Diagramme des Liens
BUVEURS NB NOM PRENOM TYPE VINS NV CRU MILL. DEGRE

ABUS NB NV DATE QUANTITE

27

Exemple

28

Page 14
Concepts Descriptifs : Bilan

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

29

•Le modèle relationnel n-aire

Définitions

•Le modèle relationnel est simple et repose sur de solides


bases théoriques.

•Relation n-aire et schéma relationnel

Soit une suite ordonnée de n domaines D1, D2, …, Dn où Di


est un ensemble de valeurs atomiques.

Une relation n-aire R est un sous-ensemble du produit


cartésien D1xD2x …xDn

30

Page 15
•Le modèle relationnel n-aire

Définitions

une relation n-aire R( A1, A2, …, An) est définie par:

•Un ensemble d’attributs X={ A1, A2, …, An} où à chaque Ai


correspond un domaine Di

•Un ensemble de contraintes d'intégrité, , qui à toute affectation


Ai := ai  i=1, 2, …,n. conforme au domaine, doit être vérifié.

•Un ensemble d'éléments (a1, a2, …, an) appelés n-uplets.

31

•Le modèle relationnel n-aire

Définitions

D’un point de vue sémantique, deux notions sont à


distinguer :

•L’intention ou le schéma d’une relation correspond à sa


structure, sa signification et ses contraintes d'intégrité,
noté R = <X, > .

•L’extension d’une relation : l’ensemble des n-uplets qui


satisfait l’intention de la relation noté Ext(R). 32

Page 16
Schéma
relationnel

Etant donné un ensemble de schémas de relations :


S = { Ri =<Xi, i>/i=1, 2, …, m}.

Un schéma relationnel est le couple S=<R,> où


tout n-uplet (r1, r2, …, rm) est une réalisation du
schéma relationnel si ri est une réalisation du
schéma de la relation Ri  i=1, 2, …,m.

Exemple : S = { R1, R2 } est un schéma relationnel


33

2. CONCEPTS
MANIPULATOIRES
 Un ensemble d'opérations formelles
 Algèbre relationnelle
 Ces opérations permettent d'exprimer toutes les
requêtes sous forme d'expressions algébriques
 Elles sont la base du langage SQL
 Paraphrasage en anglais des expressions relationnelles
 Origine SEQUEL
 Ces opérations se généralisent à l'objet
 Algèbre d'objets complexes
34

Page 17
35

La sélection

{(x,y)/ ELEVE(-,x,y,-,-)}

36

Page 18
La sélection cond(R)
 e Ext(R) et C(e)=vrai  e  Ext(c(R))

37

Restriction

 Obtention des tuples de R satisfaisant un critère Q


 Relation ->Relation, notée Q(R)
 Q est le critère de qualification de la forme :
 Ai Valeur
 ={ =, <, >=, >, <=, !=}

 Il est possible de réaliser des "ou" (union) et des "et"


(intersection) de critères simples
38

Page 19
Exemple de Restriction

VINS Cru Mill Région Qualité


VOLNAY 1983 BOURGOGNE A
VOLNAY 1979 BOURGOGNE B
CHENAS 1983 BEAUJOLAIS A
JULIENAS 1986 BEAUJOLAIS C

MILL>1983

VINS Cru Mill Région Qualité


JULIENAS 1986 BEAUJOLAIS C

39

La projection  A1 ,...,Ak (R)

La projection : Proj A1 ,...,Ak (R) ou  A1 ,...,Ak (R) où R est le nom de relation et


1  i  k Ai  Att(r).
Le résultat de cette opération est une relation avec k colonnes
La projection d'une relation R1 est la Relation R2 obtenue en Supprimant les
attributs de R1 non mentionnés et en éliminant éventuellement Les n-uplets
identiques

40

Page 20
41

La jointure R cond S

Soient r  R1 et s  R2 rs  R ∞ S
ssi A  Att(R1)  Att(R2) r.A = s.A on ne prend que
les valeurs égales. ie Composition des deux relations sur
un domaine commun
42

Page 21
43

Opérations Ensemblistes

 Opérations pour des relations de même schéma


 UNION notée 
 INTERSECTION notée 
 DIFFERENCE notée —
 produit
 Opérations binaires
 Relation x Relation --> Relation
 Extension
 Union externe pour des relations de schémas différents
 Ramener au même schéma avec des valeurs nulles
44

Page 22
Union
Soient deux relations R (X) et S(X), L'union de R et S notée
RS tel que:
e  Ext(R) ˄ s Ext(S)  e ,s  Ext(RS)

45

46

Page 23
47

Division RS (X)

48

Page 24
49

50

Page 25
51

52

Page 26
53

54

Page 27
55

56

Page 28
Produit R*S (ou jointure naturelle)

R1(A11,A12,…..,A1n)
R2(A21,A22,…..,A2n)
Produit (R1,R2)

Pour réaliser le produit entre deux relations R1 et R2, il faut que les deux
schémas de R1 et de R2 ont une intersection différente que vide. Le
schéma produit de R3 est la concaténation des n-uplets de R1 avec ceux
de R2, s’ils ont les mêmes valeurs pour tous les attributs communs.

57

Produit R*S (ou jointure naturelle)


but: créer toutes les combinaisons significatives entre tuples de deux relations

significatif = portent la même valeur pour les attributs de même nom

précondition: les deux relations ont au moins un attribut de même nom

58

Page 29
R V R*V
Pièce Fournisseur Pi Projet Pièce Fournisseur Projet
Ecrou Pierre Ecrou A Ecrou Pierre A
Ecrou Paul Boulon B Ecrou Paul A
Boulon Alice Boulon C Boulon Alice B
RxV Boulon Alice C
Pièce Fournisseur Pi Projet
Ecrou Pierre Ecrou A
Ecrou Pierre Boulon B
Ecrou Pierre Boulon C
Ecrou Paul Ecrou A
Ecrou Paul Boulon B
Ecrou Paul Boulon C
Boulon Alice Ecrou A
Boulon Alice Boulon b
Boulon Alice Boulon c
59

Renommage

Notation : Ren Atti  Att'i (r) ou  Atti  Att'i (r) .


Ceci permet de renommer l'attribut Atti par Att’i. Le résultat est la relation r avec
un nouveau schéma
Exemple de Renommage :

r A
 AB (r) = r B
10
10
20
20

60

Page 30
Fonction et Agrégat
 FONCTION
 Fonction de calcul en ligne appliquée 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,
…)
61

Exemples d'agrégats
VINS CRU MILL DEGRE QUANTITE

CHABLIS 1977 10.9 100


CHABLIS 1987 11.9 250
VOLNAY 1977 10.8 400
VOLNAY 1986 11.2 300
MEDOC 1985 11.2 200

SELECT MOY(DEGRE) SELECT CRU, SUM(QUANTITE)


FROM VINS; FROM VINS GROUP BY CRU;
AVG DEGRE
11.2

SUM CRU QUANTITE

CHABLIS 350
VOLNAY 700
MEDOC 200

62

Page 31
Les règles de conversion

63

Les règles de conversion

 Règle 1 : A chaque entité E est associée une


relation E composée de tous les attributs de E.
 Exemple :
Personne
Personne (Numéro_pers, nom_pers, age_pers)
Dom(Numéro_pers)= entier long
Numéro
Dom(nom_pers) =chaîne de caractères
Age
Dom(age_pers) = réel
nom

64

Page 32
Les règles de conversion

 Règle 2 : si dans une association A du modèle


E/A, il n’existe pas d’entité E pour laquelle la
cardinalité du couple (E,A) est égale à (0,1)
ou (1,1), on crée une nouvelle relation R
contenant la clé de chaque entité participants à
l’association A ainsi que tous les attributs de
A.

65

Les règles de conversion


(1,n) Entraineur entraine (1,n) Equipe
Entraineur
Numéro Equipe
Prénom entraine
Nom Nom
Adresse jour

Entraineur (Numéro_Ent, Prénom_Ent, Nom_Ent, Adresse_Ent)


Equipe (nom_Eq)
Entraine(Numéro_Ent, nom_Eq, jour)

66

Page 33
Les règles de conversion

67

Les règles de conversion

 Règle 3 : si dans une association A du modèle


E/A, il existe une entité E pour laquelle la
cardinalité du couple (E,A) est égale à (0,1)
ou (1,1), on ajoute dans la relation R qui
traduit E, la clé de chacune des autres entités
participants à l’association A ainsi que tous
les attributs de A.

68

Page 34
Les règles de conversion
(1,1) Entraineur entraine (1,n) Equipe

Entraineur
Numéro Equipe
(1,n) (1,1)
Prénom entraine
Nom Nom
Adresse

Entraineur (Numéro_Ent, Prénom_Ent, Nom_Ent, Adresse_Ent)


Equipe (nom_Eq, Numéro_Ent)

69

Les règles de conversion

70

Page 35
Les règles de conversion

Cas Many to 0-1

Inconvénient : présence de valeurs nulles


71

Les règles de conversion

Cas de Many
to 0-1

Avantage : plus de valeurs nulles


Inconvénient : augmenter le nb de tables
72

Page 36
Les règles de conversion

73

Les règles de conversion

74

Page 37
Les règles de conversion
(cas d’une relation réflexive)

(1,1) Personne a (0,n) Enfants (0,n) Employé a (0,n) Responsable


Personne
Numéro Employé responsable
Parent
Prénom Num
Nom Nom

Personne(Numéro_pers, Prénom_pers, Nom_pers, Numero _parent)


Employé (Num_Emp, Nom_Emp)
Responsable (Num_Emp, Num_resp)

75

Les règles de conversion


(cas d’une relation réflexive)

76

Page 38
Les règles de conversion
(Héritage)

Personne Plusieurs possibilités sont offertes a


Numéro chacune des inconvénients et avantages :
Prénom
Nom

Employé Etudiant
Salaire classe

77

Les règles de conversion


(Héritage)

1er cas : la super et les sous entités sont représentées par des relations.
Ils héritent juste la clé.

Personne (Numéro_pers, Nom_pers, Prénom_pers)


Employé (Numéro_pers, Salaire_pers)
Etudiant(Numéro_pers, classe)

2eme cas : comme le 1er cas mais avec héritage complet.

Personne (Numéro_pers, Nom_pers, Prénom_pers)


Employé (Numéro_pers, Nom_pers, Prénom_pers,Salaire_pers)
Etudiant(Numéro_pers, Nom_pers, Prénom_pers,classe)
78

Page 39
Les règles de conversion
(Héritage)

3eme cas : si tous les personnes sont du même type, représenter seulement
la super entité.

Personne (Numéro_pers, Nom_pers, Prénom_pers, classe, salaire)

4eme cas : si l’heritage est avec exclusion totale représenter seulement les
sous entités

Employé (Numéro_pers, Nom_pers, Prénom_pers,Salaire_pers)


Etudiant(Numéro_pers, Nom_pers, Prénom_pers,classe)

79

Les règles de conversion

80

Page 40
Les règles de conversion

81

Les règles de conversion

82

Page 41
4. CONCLUSION

 Un ensemble de concepts bien compris et bien


formalisés
 Un modèle unique, riche et standardisé
 intégration des BD actives
 intégration des BD objets
 Un formalisme qui s'étend plutôt bien
 algèbre d'objets
 Un langage associé défini à plusieurs niveaux
 SQL1, 2, 3
83

Page 42

Vous aimerez peut-être aussi