Vous êtes sur la page 1sur 31

Le modle relationnel

147825605.doc

Algbre Et Calcul Relationnel

Afpa St Brieuc

26/05/2013

Page :1

Le modle relationnel

147825605.doc

LALGBRE RELATIONNELLE:

OPERATIONS DE BASE
Lalgbre relationnelle a t invente par E. Codd comme une collection doprations formelles qui agissent sur des relations et produisent des relations en rsultats [Codd7O]. On peut considrer que lalgbre relationnelle est aux relations ce quest larithmtique aux entiers. Cette algbre, qui constitue un ensemble doprations lmentaires associes au modle relationnel, est sans doute une des forces essentielles du modle. Codd a initialement introduit huit oprations, dont certaines peuvent tre composes partir dautres. Dans cette section, nous allons introduire six oprations qui permettent de dduire les autres et qui sont appeles ici oprations de base. Nous introduirons ensuite quelques oprations additionnelles qui sont parfois utilises. Des auteurs ont propos dautres oprations qui peuvent toujours se dduire des oprations de base [Delobel83. Maier83]. Les oprations de base peuvent tre classes en deux types: les oprations ensemblistes traditionnelles (une relation tant un ensemble de tuples, elle peut tre traite comme tel) et les oprations spcifiques. Les oprations ensemblistes sont des oprations binaires, cest--dire qu partir de deux relations elles en construisent une troisime. Ce sont lunion, la diffrence et le produit cartsien. Les oprations spcifiques sont les oprations unaires de projection et restriction qui, partir dune relation, en construisent une autre, et lopration binaire de jointure. Nous allons dfinir toutes ces oprations plus prcisment

Afpa St Brieuc

26/05/2013

Page :2

Le modle relationnel

147825605.doc

1. LES OPRATIONS ENSEMBLISTES 1.1.UNION Lunion est lopration classique de la thorie des ensembles adapte aux relations de mme schma. Notion : Union (Union) Opration portant sur deux relations de mme schma RELATION1 et RELAT10N2 consistant construire une relation de mme schma RELAT10N3 ayant pour tuples ceux appartenant RELATION1 ou RELATION2 ou aux deux relations. Plusieurs notations ont t introduitespour cette opration selon les auteurs : RELATION1 U RELATION2 UNION (RELATION1, RELATION2) APPEND (RELATION1, RELATION2) La notation graphique reprsente figure 1 est aussi utilise. A titre dexemple, lunion des relations VINS 1 et VINS 2 est reprsente figure 2. (relation VINS)

RSULTAT

RELATION 1

RELATION 2

Figure 1: reprsentation graphique de l'union

Afpa St Brieuc

26/05/2013

Page :3

Le modle relationnel

147825605.doc

Vins 1

Vins 2 Vins

Cru Mill CHENAS 1983 TOKAY 1980 TAVEL 1986 Cru Mill TOKAY 1980 CHABLIS1985 Cru Mill CHENAS 1983 TOKAY 1980 TAVEL 1986 CHABLIS1985

Rgion BEAUJOLAIS ALSACE RHONE Rgion ALSACE BOURGOGNE Rgion BEAUJOLAIS ALSACE RHONE BOURGOGNE

Couleur ROUGE BLANC ROSE Couleur BLANC ROUGE Couleur ROUGE BLANC ROSE ROUGE

Figure 2 Exemple dunion

Afpa St Brieuc

26/05/2013

Page :4

Le modle relationnel

147825605.doc

1.2.DIFFERENCE La diffrence est galement lopration classique de la thorie des ensembles adapte aux relations de mme schma. Notion : Diffrence (Difference) Opration portant sur deux relations de mme schma RELATION1 et REL.AT10N2 consistant construire une relation de mme schma RELAT10N3 ayant pour tuples ceux appartenant RELATION1 et nappartement pas la RELATION2 La diffrence est un oprateur non commutatif : lordre des relations oprandes est donc important. Plusieurs notations ont t introduites pour cette opration selon les auteurs RELATION1 - RELATION2 DIFFERENCE (RELATION1, RELATION2) MINUS (RELATION1, RELATION2)

La notation graphique reprsente figure 3 est aussi utilise. titre dexemple, la diffrence des relations VINS 1 - VINS 2 est reprsente figure 4 (VINS)
RESULTAT

RELATION 1

RELATION 2

Figure 3: Reprsentation graphique de la diffrence

Vins 1

Vins 2 Vins

Cru Mill CHENAS 1983 TOKAY 1980 TAVEL 1986 Cru Mill TOKAY 1980 CHABLIS1985 Cru Mill CHENAS 1983 TAVEL 1986

Rgion BEAUJOLAIS ALSACE RHONE Rgion ALSACE BOURGOGNE Rgion BEAUJOLAIS RHONE

Couleur ROUGE BLANC ROSE Couleur BLANC ROUGE Couleur ROUGE ROSE

Figure 4 Exemple de diffrence Afpa St Brieuc 26/05/2013 Page :5

Le modle relationnel

147825605.doc

1.3. PRODUIT CARTSIEN Le produit cartsien est lopration ensembliste que nous avons rappele ci-dessus pour dfinir le concept de relation. Elle est adapte aux relations. Cette fois, les deux relations nont pas ncessit davoir le mme schma. Notion : Produit cartsien (Cartesian product) Opration portant sur deux relations RELATION1 et RELATION2 consistant construire une relation RELATION3 ayant pour schma la concatnation de ceux des relations oprandes et pour tuples toutes les combinaisons des tuples des relations oprandes.

Des notations possibles pour cette opration sont: RELATION1 X RELATION2 PRODUCT (RELATION1, RELATION2) TIMES (RELATION2, RELATION2)

La notation graphique reprsente figure 5 est aussi utilise. titre dexemple, la relation VINS reprsente figure 6 est le produit cartsien des deux relations CRUS et ANNEES de la mme figure.

RESULTAT

RELATION1

RELATION2

Figure 5 : Exemple de produit cartsien

Afpa St Brieuc

26/05/2013

Page :6

Le modle relationnel

147825605.doc

Vins 1

Cru CHENAS TOKAY TAVEL Mill 1980 1985 Cru CHENAS TOKAY TAVEL CHENAS TOKAY TAVEL

Rgion BEAUJOLAIS ALSACE RHONE

Couleur ROUGE BLANC ROSE

X Anne Vins

Rgion BEAUJOLAIS ALSACE RHONE BEAUJOLAIS ALSACE RHONE

Couleur ROUGE BLANC ROSE ROUGE BLANC ROSE

Mill 1980 1980 1980 1985 1985 1985

Figure 6 Exemple du produit cartesien

Afpa St Brieuc

26/05/2013

Page :7

Le modle relationnel

147825605.doc

2. LES OPRATIONS SPCIFIQUES 2.1. PROJECTION La projection est une opration spcifique aux relations qui permet de supprimer des attributs dune relation. Son nom provient du fait quelle permet de passer dune relation n-aire une relation p-aire avec p<n donc dun espace n dimensions un espace moins de dimensions. Notion Projection (Projection) Opration sur une relation RELATION 1 consistant composer une relation RELATION2 en enlevant la relation initiale tous les attributs non mentionns en oprandes (aussi bien au niveau du schma que des tuples) et en liminant les tuples en double qui sont conservs une seule fois.

Les notations suivantes sont utilises pour cette opration, en dsignant par Attributi, Attributj, Attributm les attributs de projection: Attributi, Attributj, ... Attributm (RELATION1) RELATION 1 [Attributi, Attributj, ... Attributm ] PROJECT (RELATION 1, Attributi, Attributj, ... Attributm)

La notation graphique reprsente figure 7 est aussi utilise. Le trapze horizontal signifie que lon rduit le nombre de colonnes de la relation : partant du nombre reprsent par la base, on passe au nombre reprsent par lanti-base. La figure 8 donne un exemple de projection dune relation VINS comportant aussi lattribut QUALITE sur les attributs CRU et REGION.
RESULTAT

A1,A2,..An

RELATION

Figure 7 : Reprsentation graphique de la projection

Afpa St Brieuc

26/05/2013

Page :8

Le modle relationnel

147825605.doc

Vins 1

Cru Mill Rgion VOLNAY 1983 BOURGOGNE VOLNAY 1979 BOURGOGNE CHENAS 1983 BEAUJOLAIS JULIENAS 1986 BEAUJOLAIS Project (RELATION 1, Cru, Rgion) Proj(Vins) Cru Rgion VOLNAY BOURGOGNE CHENAS BEAUJOLAIS JULIENAS BEAUJOLAIS
Figure 8 : Exemple de projection

Qualit A B A C

2.2. RESTRICTION La restriction est aussi une opration spcifique unaire qui produit une nouvelle relation en enlevant des tuples la relation oprande selon un critre. Notion : Restriction (Restriction) Opration sur une relation RELATION i produisant une relation RELATION2 de mme schma mais comportant les seuls tuples qui vrifient la condition prcise en argument. Les conditions possibles sont du type: <Attribut> <Oprateur> <Valeur> o loprateur est un oprateur de comparaison choisi parmi {=, <, <, >, >, }. Lattribut doit appartenir la relation sur laquelle sapplique le critre. Par exemple, pour la relation VINS, CRU = Chablis est une condition de restriction possible. DEGRE> 12 est une autre condition possible. Il est aussi possible dutiliser des compositions logiques de critres simples, cest-dire des et et ou de conditions lmentaires. On pourra par exemple utilis le critre CRU = Chablis et DEGRE> 12, ou encore le critre CRU = Chablis ou DEGRE = 12. Toute composition de critres valides par conjonction et disjonction (des parenthses peuvent tre utilises pour prciser les priorits) est valide. Notons que les compositions logiques peuvent aussi tre obtenues par union et intersection (voir ci-dessous) de relations restreintes. Les notations suivantes sont utilises pour la restriction: condition (RELATION1) RELATION 1 [Condition] RESTRICT (RELATION1, Condition) ainsi que la notation graphique reprsente figure 9. Le trapze vertical signifie que lon rduit le nombre de tuples de la relation : partant du nombre reprsent par le ct gauche on passe au nombre reprsent par le ct droit. La figure 10 reprsente la restriction dune relation VINS
Afpa St Brieuc 26/05/2013 Page :9

Le modle relationnel

147825605.doc

enrichie dun attribut QUALITE par la condition mill>1983

RESULTAT

Ai O Valeur

RELATION Figure 9: Reprsentation graphique de la restriction

Vins

Cru Mill Rgion VOLNAY 1983 BOURGOGNE VOLNAY 1979 BOURGOGNE CHENAS 1983 BEAUJOLAIS JULIENAS 1986 BEAUJOLAIS RESTRICT (RELATION1, cru > 1983) Vins Cru Mill Rgion JULIENAS 1986 BEAUJOLAIS
Figure 10: Exemple de restriction

Qualit A B A C Qualit C

Afpa St Brieuc

26/05/2013

Page :10

Le modle relationnel

147825605.doc

2.3. JOINTURE La jointure est une des oprations essentielles de lalgbre relationnelle, sans doute la plus difficile raliser dans les systmes. La jointure permet de composer deux relations laide dun critre de jointure. Elle peut tre vue comme une extension du produit cartsien avec une condition permettant de comparer des attributs. Nous la dfinirons comme suit: Notion : Jointure (Join) Opration consistant rapprocher selon une condition, les tuples de deux relations RELATION1 et RELATION2 afin de former une troisime relation RELATION3 qui contient lensemble de tous les tuples obtenus en concatnant un tuple de RELATION1 et un tuple de RELATION2 vrifiant la condition de rapprochement.

La jointure de deux relations produit donc une troisime relation qui contient toutes les combinaisons de tuples des deux relations initiales qui satisfont la condition spcifie. La condition doit bien sr permettre le rapprochement des deux relations, et donc tre du type: <Attribut 1> <oprateur> <Attribut2> o Attribut1 appartient RELATION1 et Attribut2 RELATION2. Selon le type doprateur, on distingue: lqui-jointure dans le cas o loprateur est =, qui est une vritable composition de relations au sens mathmatique du terme linqui-jointure dans les autres cas, cest--dire avec un des oprateurs <, <, >, > Dans le cas dqui-jointure, les deux attributs gaux apparaissent chacun dans le rsultat: il y a donc duplication dune mme valeur dans chaque tuple. Afin dliminer cette redondance, on dfinit la jointure naturelle comme suit: Notion : Jointure naturelle (Natural Join) Opration consistant rapprocher selon une condition les tuples de deux relations RELATION1 et RELATION2 afin de former une troisime relation RELATION3 dont les attributs sont lunion des attributs RELATION1 et de RELATION2 dont les tuples sont obtenus en composant un tuple de RELATION1 et un TUPLE de RELATION2 ayant mme valeurs pour les attributs de mme nom.

Afpa St Brieuc

26/05/2013

Page :11

Le modle relationnel

147825605.doc

Lopration de jointure est reprsente par lune des notations suivantes, la condition tant simplement omise dans le cas de jointure naturelle (cest alors lgalit des attributs de mme nom): RELATION 1 RELATION2 Condition JOIN (RELATION1, RELATION2, Condition)

La figure 11 donne la reprsentation graphique de lopration de jointure alors que la figure 12 illustre cette opration en effectuant la jointure naturelle des deux relations VINS et LOCALISATION. Linqui-jointure de ces deux relations selon la condition QUALITE > QUALITE MOYENNE est reprsente figure 13. On suppose l que les qualits sont codes par ordre dcroissant A, B, C, D, E.

RESULTAT

Ai RELATION 1

Bj

RELATION 2

Figure 11 reprsentation graphique de la Jointure

Vins

Cru Mill VOLNAY 1983 VOLNAY 1979 CHABLIS 1983 JULIENAS 1986 Cru VOLNAY CHABLIS CHABLIS Mill

Qualit A B A C Rgion BOURGOGNE BOURGOGNE CALIFORNIE Rgion 1983 1979 1983 1983 QualMoy A A B Qualit Moyenne BOURGOGNE BOURGOGNE BOURGOGNE CALIFORNIE

Jointure Localisation

VinReg

Cru VOLNAY VOLNAY CHABLIS CHABLIS

A B A A

Figure 12: Jointure naturelle des relation VINS et LOCALISATION

Afpa St Brieuc

26/05/2013

Page :12

Le modle relationnel

147825605.doc

Vins

Cru Mill Qualit VOLNAY 1983 A VOLNAY 1979 B CHENAS 1983 A JULIENAS 1986 C Joint (Qualit QualMoy) Localisation Cru Rgion VOLNAY BOURGOGNE CHABLIS BOURGOGNE CHABLIS CALIFORNIE VinReg Cru Mill Qualit Cru VOLNAY 1983 A CHABLIS VOLNAY 1979 B VOLNAY VOLNAY 1979 B CHABLIS CHABLIS1979 A CHABLIS JULIENAS 1986 C VOLNAY JULIENAS 1986 C CHABLIS JULIENAS 1986 C CHABLIS

QualMoy A A B Rgion QualMoy CALIFORNIE BOURGOGNE BOURGOGNE CALIFORNIE BOURGOGNE BOURGOGNE CALIFORNIE

B A A B A A B

Figure 13: Inqui-jointure des relation VINS et LOCALISATION

La jointure nest pas toujours considre comme une opration de base de lalgbre relationnelle. En effet, si lon tend la dfinition de la restriction de manire considrer des conditions multiattributs du type <Attribut 1> <Oprateur> <Attribut2>, alors la jointure peut tre obtenue par un produit cartsien suivi dune restriction du rsultat comme suit: JOIN (RELATION1, RELATION2, Condition) = RESTRICT ((RELATION1 X RELATION2), Condition) Compte tenu de limportance de la jointure, nous avons prfr ici dfinir la jointure comme une opration de base.

Afpa St Brieuc

26/05/2013

Page :13

Le modle relationnel

147825605.doc

LALGBRE RELATIONNELLE: OPRATIONS DRIVES Les oprations prsentes ci-dessous sont parfois utilises pour manipuler des relations. Elles peuvent en gnral tre obtenues par combinaison des oprations prcdentes. Dans certains cas (Complment, Jointure externe), leur expression partir des oprations de base ncessite la manipulation de relations constantes tuples pr-dfinis, telles que la relation obtenue par le produit cartsien des domaines, ou encore celle compose dun seul tuple valeurs toutes nulles. 5.1. INTERSECTION Lintersection est lopration classique de la thorie des ensembles adapte aux relations de mme schma. Notion : Intersection (Intersection) Opration sur deux relations de mme schma RELATIONet RELATION2 consistant construire une relation de mme schma RELATION3 ayant pour tuples ceux appartenant la fois RELATION1 et RELATION2 Plusieurs notations ont t introduites pour cette opration selon les auteurs RELATION1 RELATION2 INTERSECT (RELATION1, RELATION2) AND (RELATION1, RELATION2) La notation graphique reprsente figure 14 est aussi utilise.

RSULTAT

Afpa St Brieuc

26/05/2013

Page :14

Le modle relationnel

147825605.doc

RELATION1

RELATION2

Figure 14 : Reprsentation graphique de lintersection


Afpa St Brieuc 26/05/2013 Page :15

Le modle relationnel

147825605.doc

Lintersection est une opration redondante avec les oprations de base en ce sens quil est possible de lobtenir partir de la diffrence laide dune des formules suivantes: RELATION1 RELATION2 = RELATION1 - (RELATION1 - RELATION2) RELATION1 RELATION2 = RELATION2 - (RELATION2 - RELATION1)

5.2 DIVISION La division permet de rechercher dans une relation les sous-tuples qui sont complts par tous ceux dune autre relation. Elle permet ainsi dlaborer la rponse des questions de la forme quel que soit x, trouver y de manire simple.

Notion: Division (Division) Opration consistant construire le quotient de la relation D (A 1, A2... Ap, Ap+ 1, ... An) par la relation d(Ap+ 1, ... An) comme la relation Q(A 1, A2... Ap) dont les tuples sont ceux qui concatns tout tuple de d donnent un tuple de D. De manire formelle, dsignons par ai une valeur quelconque de l'attribut Ai. Un tuple est alors une suite de valeurs <a1,a2,a3,..>.Utilisant ces notations, le quotient de D par d est dfini par : Q = {<a1, a2, ap> tel que quelque soit <ap+1, an> de d, <a1, a2,ap, ap+1,, an> appartient D} Les notations possibles pour la division sont : Dd DIVISION (D,d) ainsi que la reprsentation graphique donne figure15. Un exemple de la division est donn figure 16.
RESULTAT

RELATION1 Afpa St Brieuc

RELATION2 26/05/2013 Page :16

Le modle relationnel Figure 15 : Reprsentation graphique de la division

147825605.doc

VOLNAY 1983 VOLNAY 1979 CHABLIS 1983 CHABLIS 1979 JULIENAS1986

A B A A A

VINS

CRU

MILL

Qualite

QUALITE

Mill 1983 1979

Qualite A A

CRU

cru CHABLIS

Figure 16 : Exemple de division

5.3. COMPLEMENT Le complment permet de trouver les tuples qui nappartiennent pas une relation. Il suppose priori que les domaines sont finis (sinon on obtient des relations infinies). Notion : Complment Ensemble des tuples du produit cartsien des domaines des attributs dune relation nappartenant pas cette relation.

Le complment dune relation RELATION i est not au choix: NOT (RELATIONi) COMP (RELATIONi)
Afpa St Brieuc 26/05/2013 Page :17

Le modle relationnel

147825605.doc

La figure 17 illustre cette opration dans un cas simple. Cest une opration peu utilise du fait quelle permet de gnrer des tuples qui ne sont pas dans la base, en gnral trs nombreux. Si lon note par X Di le produit cartsien des domaines, le complment dune relation RELATION i est obtenu partir de la diffrence comme suit: NOT (RELATIONi) = X Di - RELATIONi

Afpa St Brieuc

26/05/2013

Page :18

Le modle relationnel

147825605.doc

CRU = {CHABLIS,VOLNAY, MEDOC} COULEUR = {ROUGE, BLANC, ROSE}


COUL_CRU CHABLIS CHABLIS VOLNAY MEDOC MEDOC Cru Couleur ROUGE ROSE ROUGE ROSE BLANC

LEMENT
NOT(COUL_CRU) CHABLIS VOLNAY VOLNAY MEDOC Cru Couleur BLANC ROSE BLANC ROUGE

Figure 17:Exemple de complment

ATEMENT

ent [Fagin8O] est une opration qui nappartient pas vraiment lalgbre relationnelle puisquelle donne deux n rsultats, partir dune. Elle est cependant utile pour partitionner une relation horizontalement en deux sous ce titre, elle est considre comme une extension de lalgbre.

clatement

consistant crer deux relations partir d'une relation RELATION1 et d'une condition, la premire contenant les RELATION1 vrifiant lacondition et la deuxime ceux ne la vrifiant pas

eur appliqu la relation RELATIONi gnre donc deux relations R1 et R2 qui seraient obtenues par restriction t:

STRICT (RELATIONi, Condition) STRICT (RELATIONi, Non Condition)

Le modle relationnel

147825605.doc

TURE EXTERNE

es dfinies ci-dessus perdent des tuples dau moins une relation quand les relations jointes nont pas de projections sur lattribut de jointure. Pour prserver toutes les informations dans tous les cas, il est ncessaires de dfinir des ui conservent les tuples sans correspondant avec des valeurs nulles associes quand ncessaire. Cest dans ce but [Codd79] a introduit les jointures externes.

ation est trs utile, en particulier pour composer des vues sans perte dinformations. Elle se note en gnral comme RELATION2

LATION1

. T-JOIN (RELATION1, RELATION2) Notion : Jointure externe (External Join) Opration gnrant une relation RELATION3 partir de deux relations RELATION I etRELATION2 par jointure de ces deux relations et ajout des tuples de RELATION i etRELATION2 ne participant pas la jointure avec des valeurs nulles pour les attributs de lautre relation.

e externe permet par exemple de joindre des tables CLIENTS et COMMANDES sur un numro de client commun, les clients sans commande et les commandes sans client associ. Elle est donc en pratique trs utile. On peut aussi la jointure externe droite qui garde seulement les tuples sans correspondant de la relation de droite. On notera celleEXT-JOIN. De mme, on peut distinguer la jointure externe gauche .X ou LEXT-JOIN). Un exemple de jointure mplte est donn figure 18.

Le modle relationnel

147825605.doc

VINS

Cru VOLNAY VOLNAY JULIENAS

Mill 1983 1979 1986

Qualite A B C

.
LOCALISATION Cru VOLNAY CHABLIS CHABLIS Region Bourgogne Bourgogne Californie Qualmoy A A B

VINSREG VOLNAY VOLNAY CHABLIS CHABLIS JULIENAS

Cru 1983 1979 1986

Mill A B C

Qualite Bourgogne Bourgogne Bourgogne Californie

Rgion A A A B

QualMoy

Figure 18: Exemple de jointure externe

Le modle relationnel

147825605.doc

SEMI-JOINTURE

s certains cas, lors de lexcution dune jointure, il nest pas ncessaire de conserver tous les attributs des deux ons en rsultat : seuls les attributs dune des deux relations sont conservs. Une opration spcifique de semiure, trs utile pour optimiser lvaluation des questions a t dfinie [Berstein8l]. Notion : Semi-jointure (Semi-join) Opration portant sur deux relations RELATION1i et RELATION2 donnant en rsultat les tuples de RELATION1i qui participent la jointure des deux relations.

emi-jointure de la relation RELATION1 par relation RELATION2 est note: RELATION2

LATION1

MI-JOIN (RELATIONl, RELATION2)

est quivalente la jointure des relations RELATION1 et RELATION2 suivie par une projection du rsultat sur les buts de la relation RELATION1. oter que lopration nest pas symtrique puisque seuls des tuples de la premire relation sont conservs. Elle peut vue comme une restriction de la relation RELATION 1 par les valeurs des attributs de jointure figurant dans la on RELATION2

igure 19 illustre cette opration de semi-jointure.

Le modle relationnel

147825605.doc

VINS

CRU VOLNAY VOLNAY CHABLIS JULIENAS 1983 1979 1983 1986

MILL A B A C

QUALITE

LOCALISATION

CRU VOLNAY CHABLIS CHABLIS

REGION BOURGOGNE BOURGOGNE CALIFORNIE

QUALMOY A A B

VINS

CRU

MILL 1983 1979 1983

QUALITE A B A

VOLNAY VOLNAY CHABLIS

Exemple19 de semi-jointure

Le modle relationnel

147825605.doc

S EXPRESSIONS DE LALGBRE RELATIONNELLE

rtir des oprations de lalgbre relationnelle, il est possible de composer un langage dinterrogation de bases de es. Une question peut alors tre reprsente par un arbre doprateurs relationnels. Le paraphrasage en anglais de s expressions est la base du langage SQL que nous tudierons dans le chapitre suivant.

LANGAGE ALGEBRIQUE

tilisant des expressions doprations de lalgbre relationnelle, il est possible dlaborer les rponses la plupart des tions que lon peut poser une base de donnes relationnelle. Plus prcisment, les oprations de base de lalgbre onnelle constitue un langage complet, cest--dire ayant la puissance de la logique du premier ordre.

dillustrer, nous exprimons quelques questions sur la base DEGUSTATION . Ces questions peuvent tre exprimes me des expressions doprations, ou comme des oprations successives appliques sur des relations intermdiaires e base, gnrant des relations intermdiaires. Pour des raisons de clart, nous avons choisi cette deuxime sentation. Lexpression peut tre obtenue simplement en supprimant les relations intermdiaires notes Ri. Donner les degrs des vins de crus MORGON et de MILLESIME 1978: RESTRICT (VINS, CRUS = MORGON) RESTRICT (VINS, MILLESIME = 1978) INTERSECT (R1, R2)RESULTAT = PROJECT (R3, DEGRE) Donner les noms et prnoms des buveurs de MORGON ou CHENAS:

RESTRICT (VINS, CRU = MORGON) (VINS, CRUS = CHENAS) UNION (R1, R2) JOIN (R3, ABUS) JOIN (R4, BUVEURS) ULTAT = PROJECT (R5, NOM, PRENOM) Donner les noms et adresses des buveurs ayant bu plus de 10 bouteilles de Chablis 1976 avec le degr de

n:

RESTRICT (ABUS, QUANTITE>10) RESTRICT (VINS, CRU = CHABLIS) RESTRICT (VINS, MILLESIME = 1976) INTERSECT (R2, R3) JOIN (R1, R4) PROJECT (R5, NB, DEGRE) JOIN (R6, BUVEURS) ULTAT = PROJECT (R7, NOM, ADRESSE, DEGRE)

Le modle relationnel

147825605.doc

Donner les noms des buveurs nayant bu que du Morgon:

JOIN(BUVEURS,ABUS,VINS) RESTRICT(R1, CRU = MORGON) PROJECT(R2, NOM) RESTRICT(R1, CRU MORGON) PROJECT(R1, NOM) ULTAT = MINUS(R3 - R5)

ARBRE ALGEBRIQUE

question exprime sous forme dun programme d'oprations de l'algbre relationnelle peut tre reprsente par un e relationnel.Les nuds correspondent aux reprsentationsgraphiques des oprations indiques ci-dessuset les arcs lots de donnes entre oprations. Notion : Arbre relationnel (Relational tree) Arbre dont les noeuds correspondent des oprations de l'algbre relationnelle et les arcs des relations de base ou temporaires reprsentant des flots de donnes entre oprations

dillustrer, la question Noms et Prnoms des buveurs habitant Paris ayant bu du Chablis depuis le 1er janvier peut tre exprime laide de larbre reprsent figure 20. Plusieurs arbres quivalents peuvent tre dduits dun e donn laide de rgles de transformation simples, telles que permutation des jointures et restrictions, permutation projections et des jointures, regroupement des intersections sur une mme relation, etc. Ces transformations sont la des techniques doptimisation de questions qui dpassent le sujet de ce chapitre. La figure 21 donne un arbre valent celui de la figure 20, obtenu par descente de projections et regroupement dintersections.

omposition doprations de lalgbre relationnelle ne ncessite pas toujours dattendre le rsultat de lopration dente pour excuter lopration suivante. Restriction, projection et jointure peuvent ainsi tre excutes par des ithmes flots de donnes. Des oprateurs se succdant sur un arbre peuvent donc tre excuts en parallle par des ithmes pipe-line. Des oprateurs figurant sur des branches distinctes dun arbre peuvent aussi tre excuts en lle de manire indpendante. La reprsentation par arbre algbrique met ainsi en vidence les possibilits de llisme et les enchanements ncessaires. Ces proprits des arbres relationnels sont importantes pour optimiser les tions dans des contextes parallles.

Le modle relationnel

147825605.doc

RESULTAT NOM,PRENOM

A.DATE

>=

"92-01-01"

V.CRU

"CHABLIS"

A.NV = V.NV VINS V B.NB = A.NB ABUS A LIKE BUVEURS B "PARIS"

DRESSE

Figure 20 :Exemple d'arbre reprsentant une question.

Le modle relationnel

147825605.doc

RESULTAT

B.NOM,B.PRENOM A.NV = V.NV

B.PRENOM A.NV B.NOM B.NB = A.NB NOM,NB PRENOM V.CRU A.NV A.NB VINS V B.ADRESSE LIKE "PARIS" A.DATE BUVEURS B >= ABUS A "92.01.01" V.NV = CHABLIS"

Figure 21 : autre version quivalente

Le modle relationnel

147825605.doc

ONCTIONS ET AGREGATS

bre relationnelle est insuffisante pour traiter de vritables applications des bases de donnes, telles la suivie de uction, la gestion de budget, .Il est en effet ncessaire d'effectuer des calculs sur la base pour supporter de telles cations. C'est l'objet de l'introduction des fonctions de calcul au sein de l'algbre et du supportdes agrgats.

Fonctions de calcul

ossibilit d'effectuer des calculs sur les attributs est simplement introduite en gnralisant projection, restriction et ure par introduction de fonctions.Ainsi, tout attribut apparaissant en argument d'une opration est remplac par un ession d'attributs.

on : Expression d'attributs (Attribute expression)

ession arithmtique construite partir d'atributs d'une relation et de constantes, par application de fonctions mtiques successives.

exemples dexpressions dattributs sont: - 23

TITE *50

TITE * DEGRE /100

TITE - QUANTITE * DEGRE /100.

expressions peuvent donc tre utilises comme arguments de projections, de restrictions voire de jointures. Le e dalgbre relationnelle suivant illustre ces possibilits:

(VINS, ABUS, DEGRE*QUANTITE/100> QUANTITE/lO) TRICT(R1, DEGRE*QUANTITE/100> 10) AT = PROJECT(R2, CRU, QUANTITE - QUANTITE*DEGRE/100)

dexpression dattributs peut tre gnralise avec des fonctions autres que les fonctions arithmtiques, par exemple ons crites dans un langage externe. On aboutit ainsi une gnralisation de lalgbre relationnelle aux fonctions 5].

Le modle relationnel

147825605.doc

ORT DES AGREGATS

sions dattributs permettent deffectuer des oprations de calcul en ligne, sur des attributs de relations. En pratique, ssaire deffectuer des oprations de calcul en colonnes, sur des tuples de relations, cela par exemple afin de sommer es, etc. Le concept dagrgat permet de telles oprations. Notion : Agrgat (Aggregat) Partitionnement horizontal dune relation en fonction des valeurs dun groupe dattributs, suivi dun regroupement par application dune fonction de calcul sur ensemble.

ons de calcul sur ensemble les plus souvent proposes sont les suivantes:

permettant de calculer la somme des lments dun ensemble NE permettant de calculer la moyenne des lments dun ensemble UM permettant de slectionner llment minimum dun ensemble UM permettant de slectionner llment maximum dun ensemble E permettant de compter les lments dun ensemble.

22 illustre le concept dagrgat. La table VINS est enrichie dun attribut QUANTITE. Lagrgat reprsent calcule la s quantits par CRU. Lopration scrit de manire gnrale EGAT(<Relation>.; <Attribut 1>; <Fonction> { <Attribut2> })

> reprsente un ou plusieurs attributs utiliss pour le partitionnement. st la fonction densemble applique lattribut <Attribut2>. ple, on crit: AT = AGREGAT(VINS; CRU; SUM{QUANTITE})

gat illustr figure 22. A noter quun agrgat peut seffectuer sans partitionnement; on peut par exemple calculer t la moyenne de tous les degrs comme suit (voir figure 22):

AT = AGREGAT(VINS; ; MOY{DEGRE}).
VINS Cru VOLNAY VOLNAY CHABLIS CHABLIS JULIENAS Mill 1983 1979 1983 1992 1986 Degr 11,7 11,3 11,4 11,8 12,0 Quantit 100 200 250 300 400

REGAT (VINS;MOY(DEGRE)) AGREGAT(VINS;CRU;SUM(QUANTITE))


MOY Degr DGegr 11,64 SUM Cru VOLNAY CHABLIS JULIENAS Quantit 300 550 400

Le modle relationnel

147825605.doc

8. VUES Les vues permettent de dfinir des relations virtuelles et d assurer une meilleure indpendance programmes-donnes.

8.1. DFINITION DE VUE Une vue est une table dun schma externe. Afin dexprimer la transformation permettant de composer une vue partir des tables dune base, les systmes relationnels utilisent le langage dinterrogation. Il est donc possible de dfinir la notion de vue comme suit.

Notion V.29 Vue (View) Relation non matrialise dun schma externe, calcule partir des relations de la base par une question. Une vue est donc virtuelle : cest une fentre dynamique seulement partiellement matrialise lors des interrogations. Elle na pas dexistence physique, au moins lorsquelle nest pas accde. Il est cependant possible dassocier une table matrialise une vue : on parle alors de vue concrte. La maintenance des vues concrtes est un problme difficile, car il faut rpercuter les mises jour des relations de base sur la vue concrte. Sauf indication contraire, une vue restera donc non matrialise : elle servira modifier les questions de lutilisateur portant sur elle pour les faire porter sur des relations de la base. titre dexemple, nous dfinirons la vue GROS - BUVEURS sur la base de donnes DEGUSTATION par une question exprime en algbre relationnelle comme suit: CREATE VIEW GROS BUVEURS(NOM, PRENOM) = PROJECT (NOM, PRENOM, RESTRICT (QUANTITE> 100, JOIN (BUVEURS, ABUS))) Cette vue contient donc virtuellement le nom et le prnom de tous les buveurs qui ont commis un abus en quantit suprieur 100. Elle peut tre interroge comme une table normale de la base, charge du systme de transformer les questions sur la vue en questions sur les tables BUVEURS et ABUS.

Le modle relationnel

147825605.doc

9. CONCLUSION Dans ce chapitre, nous avons introduits les concepts essentiels aujourdhui supports par le modle relationnel dans les grands systmes industriels tels que ORACLE, INGRES, DB2, SYBASE, etc. Ces concepts sont la base du langage SQL, le langage des systmes relationnels. Le modle relationnel fait aujourdhui autorit dans lindustrie. Il est issu de la thorie des relations et est au dpart une remarquable construction de la recherche. Il a su progressivement intgrer des concepts de plus en plus riches, tels que intgrit rfrentielle, rflexe, etc. Le modle en est aujourdhui intgrer les concepts dobjets complexes. Il a encore un bel avenir devant lui, bien que parfois contest par les tenants de lorient objets.

Figure V. 15: Exemple de projection