Chapitre 3 : LANGAGES FORMELS DE CONSULTATION ASSOCIES AU MODELE RELATIONNELLE
Chapitre 3 : LANGAGES FORMELS DE CONSULTATION ASSOCIES AU MODELE RELATIONNELLE 3.1 Langage algébrique (algèbre relationnelle) Le langage algébrique a été introduit en 1970 par CODD. Il consiste à définir la liste des opérateurs de l’algèbre relationnelle dont les opérandes sont des relations. 3.1.1 Traitement d’une requête de lecture/écriture Le langage algébrique (LA) comprend deux types d’opérateurs : Les opérateurs « ensemblistes » : UNION, INTETRSECTION, DIFFERENCE, PRODUIT CARTESIEN ; Les opérateurs « relationnels » : SELECTION, PROJECTION, JOIN, DIVISION ; Nous noterons dans tout ce chapitre : t : un tuple de relation t(A) dans R le sous -tuple de R relatif à l’attribut A 3.1.1.1 Opérateurs ensemblistes Pour l’union (U), l’intersection (∩), la différence (-), les relations doivent être « union- compatible », c’est-à-dire : Les relations doivent avoir le même degré n ; Les attributs associés deux à deux doivent être du même type syntaxique. a. Union L’opération d’intersection d’un n-uplet dans une relation peut facilement se faire avec l’opération d’union. L’union de deux relations R et S notée RUS est l’ensemble des tuples appartenant soit à R, soit à S, soit à la fois à R et à S, donc RUS={t/t ϵ R OU t ϵ S}. Exemple : Soient les relations PILOTE1 & PILOTE2 dont les tables suivent : PILOTE1 PILOTE2 PILOTE1 : représente l’ensemble des pilotes de numéros habitants PARIS. PL≠ ADR 100 PARIS 101 PARIS 120 PARIS 110 PARIS PL≠ VD 130 TOUL 140 TOUL 150 TOUL 100 TOUL 120 TOUL 130 PARIS 101 PARIS 140 PARIS 110 PARIS 32 PILOTE2 : représente l’ensemble des pilotes numéros assurant un vol au départ de PARIS ou de TOULOUSE. PILOTE1 U PILOTE2 : représente l’ensemble des pilotes habitants PARIS OU assurant un vol au départ de PARIS ou de TOULOUSE. PILOTE1 U PILOTE2 : Les duplicats sont éliminés ; l’union permet de traduire le OU logique et donc l’ajout de nouveaux tuples, pour ajouter des tuples t dans une relation R ; on construit t avec le format adéquat et on effectue l’union de R et de {t}. b. L’intersection L’intersection de deux relations notées R∩S est l’ensemble des tuples qui appartiennent à la fois à R et à S. Exemple : PILOTE1∩PILOTE2 : L’intersection permet la traduction de ET logique. PL1∩PL2 ne représente pas l’ensemble des pilotes habitants PARIS et assurant un vol au départ de PARIS ou TOULOUSE (la preuve est que PL100 ne fait pas partie du résultat). c. La différence La différence de deux relations R et S notée R-S est l’ensemble des tuples qui appartiennent à R sans appartenir à S. R-S = {t/t ϵ R ET t ϵ S}. C’est une opération complémentaire de l’intersection. L’opération de différence permet de supprimer un n-uplet dans une relation. Exemple : En prenant les mêmes relations que précédemment, on a : PILOTE1- PILOTE2 : PL1-PL2 représente l’ensemble des pilotes habitants PARIS n’assurant pas de vol au départ de PARIS ou de TOULOUSE. La différence permet de traduire la différence logique, donc la suppression de tuples dans la relation. L’opération de modification (ou de mise à jour) sera traduite par une séquence adéquate d’opérateur de différence et d’union, c’est-à-dire de suppression puis d’insertion. d. Le produit cartésien Cours de BASE DE DONNEES de Mr. Justin Komla Vinyo DAMALI/damalijustin@gmail.com PL≠ VILLE 100 PARIS 101 PARIS 120 PARIS 110 PARIS 130 TOUL 140 TOUL 150 TOUL 100 TOUL 120 TOUL 130 PARIS 140 PARIS PL≠ VILLE 101 PARIS 110 PARIS PL≠ ADR 100 PARIS 120 PARIS 32 Le produit cartésien de deux relations R et S notées R S est l’ensemble de tous les tuples obtenus par concaténation de tuples de R et de tuples de S. R S= {(t(r), t(s) avec t(r) ϵ R et t(s) ϵ S}. C’est un ensemble de paires ordonnées. Exemple : PILOTE3 et AVION D’où PILOTE AVION Le produit cartésien n’est pas directement utilisé au niveau de l’interface algébrique. Par contre nous verrons que deux opérateurs relationnels sont dérivés du produit cartésien. Note : Les opérateurs UNION, INTERSECTION, DIFFERENCE peuvent être étendus à des relations qui ne sont pas d’union compatibles (PIROTE 1981) 3.1.1.2 Opérateurs relationnels Ils peuvent être regroupés en deux catégories : Les opérateurs unaires de restriction, Les opérateurs binaires d’extension. a. Les opérateurs unaires de restriction Ils permettent : Soit un découpage ‘’horizontal’’ d’une relation ; c’est ce qu’on appelle SELECTION, Soit un découpage ‘’vertical’’ d’une relation ; c’est ce qu’on appelle PROJECTION. i. LA SELECTION Soit Ѳ un des comparateurs <, >, ≤, ≥, =, ≠ applicables à l’attribut (ou à l’ensemble d’attribut) A et au tuples c de la relation R. La relation R (A Ѳ c) est l’ensemble des tuples de R pour lesquels Ѳ est vérifié entre la ou les composantes A et le tuple c. R (A Ѳ c) = {t/t ϵ R ET t AѲc}. -Le tuple c pourrait être remplacé par un attribut ou un ensemble d’attributs B où A et B seraient définis sur le(s) même(s) domaine(s). Dans ce cas, la qualification porterait sur les composants de A et de B situés au même niveau. Cours de BASE DE DONNEES de Mr. Justin Komla Vinyo DAMALI/damalijustin@gmail.com PL≠ ADR 103 NICE 106 NICE AVNO M CAP AIRBUS 350 CARAC 250 PL≠ ADR AVNOM CAP 103 NICE AIRBUS 350 103 NICE CARAV 250 106 NICE AIRBUS 350 106 NICE CARAV 250 32 -Enfin le tuple c pourrait aussi être remplacé par une valeur d’attribut (ou un groupe d’attributs). Dans ce cas les différentes valeurs seraient placées entre guillemets. Exemples: PILOTE4 représente l’ensemble des pilotes habitants PARIS ou TOULOUSE. PILOTE4 Si nous posons c = (120, PAUL, PARIS) alors nous obtiendrons : PILOTE4(ADR=c) PILOTE4 (ADR=c) représente l’ensemble des pilotes ayant la même adresse que le pilote N°120. Exemple: PILOTE4 (ADR≠’’PARIS’’) représente l’ensemble des pilotes n’habitant pas PARIS. PL≠ PLNOM ADR 130 SERGE TOUL 140 MICHEL TOUL ii. PROJECTION Soit R(A) une relation et un ensemble d’attribut A1,…, An de R tel que (A1, A2,……, An) A. La projection R (A1, A2,……, An) est la relation obtenue à partir de R(A) en éliminant de R(A) les attributs autres que ceux spécifiés par A1, A2,……, An et en supprimant les tuples indiqués, le résultat est une relation c’est-à-dire un ensemble sans dupliquât. Exemple: Supposons la relation Représente l’ensemble des avions localisés à PARIS ou TOULOUSE. AVION1 (AVNOM, CAP) On a AVION1 à partir d’AV≠ : b. Les opérateurs binaires d’extension Deux opérateurs d’extensions ont été définis : L’opérateur JOIN, L’opérateur DIVISION. Cours de BASE DE DONNEES de Mr. Justin Komla Vinyo DAMALI/damalijustin@gmail.com PL≠ PLNOM ADR 100 JEAN PARIS 101 PIERRE PARIS 120 PAUL PARIS 130 SERGE TOUL 140 MICHEL TOUL PL≠ PLNOM ADR 100 JEAN PARIS 101 PIERRE PARIS 120 PAUL PARIS AV≠ AVNOM CAP LOC 100 AIRBUS 350 TOUL 101 AIRBUS 350 TOUL 104 AIRBUS 150 PARIS 105 CARAN 250 PARIS AVNOM CAP AIRBUS 350 CARAN 250 AV≠ 100 101 104 105 32 i. Le JOIN Soient les relations R(A,B1) et R(B2,C) avec B1 et B2 des attributs définis sur le même domaine(le JOIN a donc une définition sémantique bien précise), soit Ѳ(un des éléments de l’ensemble{<, >, ≤, ≥, =, ≠}) applicable aux valeurs des attributs B1 et B2 . le JOIN de R sur B2 avec S sur B2 noté comme R(B1 Ѳ B2)S ou (R S) est la relation dont les tuples sont ceux obtenus par concaténation des tuples de R avec ceux de S pour lesquels la relation Ѳ entre les composantes B1 et B2 est vérifiée. On a : R(B1 Ѳ B2)S={t/tϵR S ET t(B1) Ѳ t(B2)} Lorsque Ѳ est l’égalité (=), l’opérateur porte le nom d’EQUI-JOIN. L’opérateur JOIN est équivalent à un produit cartésien ( ) et suivi d’une sélection. NOTE : Si le domaine sémantique de définition correspondant aux attributs de jointure est ‘’primaire’’ au sens de DATE, la jointure est dite d’enrichissement ; autrement, il s’agit d’une jointure de qualification. Exemples : Prenons : PILOTE1 représente l’ensemble des pilotes habitants PARIS. Et VOL1 représente les numéros des vols de la compagnie aérienne avec des numéros d’avion et de pilotes correspondants. 1.) PILOTE1(PL≠=PL≠)VOL1 2.) PILOTE1(PL≠>PL≠)VOL1 Cours de BASE DE DONNEES de Mr. Justin Komla Vinyo DAMALI/damalijustin@gmail.com ) PL≠ PLNOM ADR 100 JEAN PARIS 101 PIERRE PARIS 120 PAUL PARIS VOL≠ AV≠ PL≠ IT 500 110 100 IT 501 130 100 IT 503 110 100 IT 504 110 120 IT 506 120 120 IT 507 130 110 PL≠ PLNOM ADR VOL≠ AV≠ PL≠ 100 JEAN PARIS IT 500 110 100 100 JEAN PARIS IT 501 130 100 100 JEAN PARIS IT 503 110 100 120 PAUL PARIS IT 504 110 120 120 PAUL PARIS IT 506 120 120 PL≠ PLNOM ADR VOL≠ AV≠ PL≠ 101 PIERRE PARIS IT 500 110 100 101 PIERRE PARIS IT 501 130 100 101 PIERRE PARIS IT 503 110 100 120 PAUL PARIS IT 500 110 100 120 PAUL PARIS IT 501 130 100 120 PAUL PARIS IT 503 110 100 120 PAUL PARIS IT 507 130 uploads/Industriel/ chap3-bases-de-donnees.pdf
Documents similaires










-
20
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 24, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.2392MB