Documente Academic
Documente Profesional
Documente Cultură
Le modle relationnel
Invent par E. F. Codd en 1970 Fond sur la thorie mathmatique des ensembles et sur la notion de base qui lui est rattache : la relation.
Le modle relationnel :
Les 10 concepts cls (1/2)
La dfinition du domaine dun attribut Le concept de relation Les attributs Les tuples Le schma dune relation
4
Le modle relationnel :
Les 10 concepts cls (2/2)
La cl La contrainte rfrentielle Les valeurs nulles La contrainte dentit La contrainte de domaine
5
en comprhension
8ex. : ge_enfants = {0, 15}
6
PRODUIT
N u m _ p ro d N o m _ p ro d Q t _ sto c k
Occurrences , Tuples, Enregistrements
24 141 67
C h a ise T a b le L it
63 27 12
Caractrise par : Cardinalit de la relation (nombre de lignes) Unicit du nom des attributs Indiffrence de lordre des lignes et des colonnes Nombre de colonnes = degr
Nom relation
10
Cl dune relation
Une relation tant un ensemble de tuples, il ne peut y avoir deux tuples identiques dans une relation. Cl : ensemble minimal dattributs dont la connaissance des valeurs permet didentifier un tuple unique
12
Contrainte rfrentielle(1/2)
Contrainte dintgrit portant sur une relation R1, consistant imposer que la valeur dun groupe dattributs apparaisse comme valeur de cl dans une autre relation R2. 8Elles dfinissent des liens obligatoires entre relations. 8Garantissent le succs des oprations de mise jour.
13
Contrainte rfrentielle(2/2)
Les contraintes de rfrence sont lies la notion de cls trangres : 8Lors de linsertion dun tuple dans une relation soumise une contrainte rfrentielle ( relations rfrenantes ) , il faut vrifier que les valeurs de cls trangres existent dans les relations rfrences. 8Lors de la suppression dun tuple dans une relation rfrence, il faut vrifier quaucun tuple de la relation rfrenante ne fasse rfrence au tuple que lon souhaite supprimer. soit le SGBD refuse la suppression 14 soit il la rpercute en cascade.
Contrainte dentit
Lorsque la valeur dun attribut est inconnue, on utilise une valeur conventionnelle appele valeur nulle La contrainte dentit impose que toute relation possde une cl primaire et que tout attribut participant cette cl primaire soit non null.
15
Contrainte de domaine
16
Algbre relationnelle :
Dfinition
Collection doprations formelles qui agissent sur des relations et produisent une relation en rsultat. Dans la plupart des systmes relationnels, la rponse une requte sobtient par lutilisation dun ou plusieurs oprateurs relationnels.
17
Algbre relationnelle :
Oprateurs relationnels
Oprateurs unaires :
8Slection 8Projection 8Complment
Oprateurs binaires :
8Union 8Intersection 8Diffrence 8Les produits et Jointures 8Division
18
Algbre relationnelle :
Slection (ou restriction) (1/3)
Elimination des occurrences de la relation qui ne satisfont pas une condition donne. Ex. : Considrons la relation Commande
N COMMANDE 28 29 30 52 DATE Octobre Octobre Novembre Dcembre MONTANT 1986 2024 1610 512
La slection permet de rpondre la question : Donnez les commandes passes aprs le mois doctobre
N COMMANDE 30 52 DATE Novembre Dcembre MONTANT 1610 512
Algbre relationnelle :
Slection (ou restriction) (2/3)
Opration sur une relation R1 produisant une relation R2 de mme schma, mais comportant les seuls tuples qui vrifient la condition prcise en argument. Notation : condition (R1) R2=selection (R1,condition)
20
Algbre relationnelle :
Slection (ou restriction) (3/3)
Oprateurs de comparaison
=, , <, >, , , BETWEEN, IN, LIKE
Valeurs NULL
21
Algbre relationnelle :
Projection (1/2)
Consiste supprimer des attributs dune relation Soit la relation ETUDIANT :
Num_tu 521 632 569 451 Nom_tu Nom1 Nom2 Nom3 Nom1 Nom_dpart Informatique Mathmatique Informatique Informatique Adr_dpart Fes Meknes Rabat Rabat
Algbre relationnelle :
Projection (2/2)
Opration sur une relation R1 consistant composer une relation R2 en enlevant la relation initiale tous les attributs non mentionns en oprandes. Notation: A1, A2, , An (R1) R2=projection(R1;A1,A2,,An)
23
Algbre relationnelle :
Complment (1/2)
Consiste construire la relation qui contient toutes les occurrences qui nexistent pas (cest la relation qui exprime le FAUX) Soit la relation R :
Professeur Prof1 Prof1 Prof2 Prof2 Prof2 Prof3 Prof3 Elve Nom2 Nom1 Nom2 Nom1 Nom4 Nom1 Nom4
Le complment de R sera :
Professeur Prof1 Prof3 Elve Nom4 Nom2
24
Algbre relationnelle :
Complment (2/2)
Ensemble des tuples du produit cartsien des domaines des attributs dune relation nappartenant pas cette relation Notation: Not (R1) R2=Comp (R1)
25
Algbre relationnelle :
Union (1/2)
Permet de fusionner deux relations en une seule. Cette opration nest possible que sur des relations ayant les mmes attributs. Soit la relation OUVRIER
Num_empl 15 17 56 Nom_empl Nom1 Nom3 Nom2
26
Algbre relationnelle :
Union (2/2)
Opration portant sur deux relations de mme schma R1 et R2, consistant construire une relation de mme schma R3 ayant pour tuples ceux appartenant R1 ou (inclusif) R2. Notation: R1R2 R3=Union (R1,R2)
27
Algbre relationnelle :
Intersection (1/2)
Permet de fournir des occurrences prsentes dans lune et lautre des relations. Cette opration nest possible que sur des relations ayant les mmes attributs. Soit la relation INGENIEUR Soit la relation CHEF DE SERVICE
Num_empl 3 21 15 56 Nom_empl Nom5 Nom6 Nom1 Nom2 Num_empl 3 15 28 Nom_empl Nom5 Nom1 Nom4
Algbre relationnelle :
Intersection (2/2)
Opration portant sur deux relations de mme schma R1 et R2 consistant construire une relation de mme schma R3 ayant pour tuples ceux appartenant la fois R1 et R2. Notation: R1 R2 R3=Intersection (R1,R2)
29
Algbre relationnelle :
Diffrence (1/2)
Permet dobtenir les occurrences de la relation 1 qui nappartiennent pas la relation 2. Les deux relations doivent avoir les mmes attributs. Cette opration nest pas commutative. Soit la relation INSCRITS
Nom_tu Nom2 Nom5 Nom2 Nom2 Nom5 Nom_UV Maths Maths Physique Chimie Chimie
Nom2 Nom5
Physique Chimie
30
Algbre relationnelle :
Diffrence (2/2)
Opration portant sur deux relations de mme schma R1 et R2, consistant construire une relation de mme schma R3 ayant pour tuples ceux appartenant R1 et nappartenant pas R2. Notation : R1 R2 R3=Difference(R1,R2)
31
Algbre relationnelle :
Produit cartsien (1/2)
Le produit cartsien se construit en combinant toutes les possibilits. Soit la relation LIVRE Soit la relation EDITION
Titre X Y Auteur Nom2 Nom1 Couleur Rouge Blanc Vert Edition Luxe Broch Cartonn
Algbre relationnelle :
Produit cartsien (2/2)
Opration portant sur deux relation R1 et R2, consistant construire une relation R3 ayant pour schma la concatnation de ceux des relations oprandes et pour tuples toutes les combinaisons des tuples des relations oprandes Notation: R1 R2 R3=Produit (R1,R2)
33
Algbre relationnelle :
Thta-produit (thta-jointure) (1/4)
Le thta-produit consiste en un produit cartsien doubl dune slection. On ne retient que les occurrences qui vrifient une condition logique. Thta prend les valeurs : <, <=, >, >=, != ou <> Soit la relation EMPLOYE
Nom_emp E1 E2 E3 Salaire_emp 20000 10000 6000
Le thta-produit permet de rpondre la question : Donnez le nom des employs qui gagnent plus quun chef de service On effectue dabord un produit cartsien puis une slection dont la condition est salaire_emp > salaire_chef
34
Algbre relationnelle :
Thta-produit (thta-jointure) (2/4)
Produit cartsien
Nom_emp E1 E1 E2 E2 E3 E3 Salaire_emp 20000 20000 10000 10000 6000 6000 Nom_chef Nom2 Nom1 Nom2 Nom1 Nom2 Nom1 Salaire_chef 25000 12000 25000 12000 25000 12000
Slection
Nom_emp E1 Salaire_emp 20000 Nom_chef Nom1 Salaire_chef 12000
35
Algbre relationnelle :
Thta-produit (thta-jointure) (3/4)
Oprande consistant rapprocher selon une condition les tuples de deux relations R1 et R2 afin de former une relation R3 qui contient lensemble de tous les tuples obtenus en concatnant un tuple de R1 et un de R2 vrifiant la condition de rapprochement.
36
Algbre relationnelle :
Thta-produit (thta-jointure) (4/4)
Notation: R1 condition R2 R3= -jointure(R1,R2; condition)
37
Algbre relationnelle :
Jointure naturelle (quijointure) (1/4)
La jointure naturelle permet de raliser une liaison logique entre deux tables. La condition de slection est lgalit entre les deux cls des deux relations. Cest un thta-produit qui prend la valeur " = " entre des attributs identiques.
Soit la relation EMPLOYE
Num_emp 02 10 72 62 Nom_emp Nom2 Nom1 Nom2 Nom4 Num_service S1 S8 S6 S1
38
Algbre relationnelle :
Jointure naturelle (quijointure) (2/4)
La jointure naturelle permet de rpondre la question : Donnez le nom des employs et le nom de leur service.
Num_emp 02 10 72 62 Nom_emp Nom2 Nom1 Nom2 Nom4 Num_service S1 S8 S6 S1 Nom_service Informatique Sociologie Mathmatiques Informatique
Rq : Le service S4 Anglais qui na pas dassoci , nest pas prsent dans la jointure. La jointure naturelle est lune des oprations fondamentales de lalgbre relationnelle.
39
Algbre relationnelle :
Jointure naturelle (quijointure) (3/4)
Oprande consistant rapprocher les tuples de deux relations R1 et R2 afin de former une troisime relation R3 dont les attributs sont lunion des attributs de R1 et R2, et dont les tuples sont obtenus en composant un tuple de R1 et un tuple de R2 ayant mmes valeurs pour les attributs de mme nom.
40
Algbre relationnelle :
Jointure naturelle (quijointure) (4/4)
Notation: R1 condition R2 R3=jointure(R1, R2; condition)
41
Algbre relationnelle :
Jointure externe (1/3)
Il sagit dune jointure naturelle qui permet de faire figurer les occurrences qui nont pas dassoci dans lautre relation. On leur associe alors la valeur nulle (symbole ).
Soit la relation EMPLOYE
Num_emp 02 10 72 62 25 Nom_emp emp1 emp2 emp1 emp3 emp4 Num_service S1 S8 S6 S1 S5
42
Algbre relationnelle :
Jointure externe (2/3)
La jointure extrieure conduit la relation :
Num_emp 02 10 72 62 25 Nom_emp emp1 emp2 emp1 emp3 emp4 Num_service S1 S8 S6 S1 S5 S4 S2 Num_btiment B8 B3 B9 B8 B3 B1
43
Algbre relationnelle :
Jointure externe (3/3)
R3 contient les tuples issus de la jointure de R1 et R2 ainsi que ceux de R1 et R2 ne participant pas la jointure, avec des valeurs nulles pour les attributs non renseigns.
44
46
47
Algbre relationnelle :
Auto-jointure (1/2)
Cest une jointure naturelle dans laquelle les deux relations initiales sont R1 et R1. Soit la relation Enseignant
Num_ens 12 56 27 43 51 Nom_ens emp1 emp2 emp1 emp3 emp4 Grade Assistant MDC Assistant MDC MDC Salaire 9 500 10 500 11 500 12 000 12 500
48
Algbre relationnelle :
Auto-jointure (2/2)
Lauto-jointure permet de rpondre la question suivante : Donnez le nom des assistants qui gagnent plus quun MDC ? Relation rsultat
Nom_ens emp1
49
Algbre relationnelle :
Division (1/3)
Permet dobtenir les occurrences de R1 qui sont associes toutes les occurrences de R2. Une relation est donc divise par une autre relation contenant exclusivement des attributs de la premire relation
Soit la relation suivante
Nom_tu Etu1 Etu2 Etu3 Etu4 Etu1 Etu2 Etu3 Nom_prof Prof3 Prof1 Prof3 Prof4 Prof1 Prof3 Prof4
50
Algbre relationnelle :
Division (2/3)
La division permet de rpondre la question suivante : Donnez le nom des profs qui enseignent conjointement aux lves figurant dans la seconde relation.
51
Algbre relationnelle :
Division (3/3)
Notation R1 R2
52
8Fonctions
somme moyenne maximum, minimum compte
53
54
55
Cumul
R = cumul(relation, attribut de regroupement, attribut de calcul) Ou R=regrouper_calculer (relation,attribut de regroupement, cumul(attribut de calcul))
Compte
R = compte(relation, attribut de regroupement)
56