etude
S. Laporte LMS CHAP7 : L’ALGEBRE RELATIONNELLE Introduc tion A. Qu’est ce que l’algèbre relationnelle ? En DAIGL, vous apprenez à modéliser vos données sous forme de MCD. Le MCD sert ensuite à être traduit dans un modèle de d modèle logique . Lo type relationnel, le M afin d’implanter la ba dans le SGBDR. GBD, appelé odèle relationnel Dans une base de donn e relationnelle, les données sont enregistrées dans des tableaux à 2 dimensions, appelés relations ou tables.
La première dimension est représentée par les lignes et la deuxième dimension par les colonnes. La manipulation de ces données est basée sur la théorie mathématique des ensembles. Vous allez étudier le modèle relationnel en détail en cours de DAIGL. Mais représenter et implanter les données est une chose : il faut aussi savoir interroger les tables car la mémorisation de données n’a de sens que si l’on peut extraire certaines informations .
L’algèbre relationnelle est la base théorique sur laquelle la construction des langages d’interrogation de base de données relationnelles s’est construite. Il existe plusieurs pour mieux construire des requêtes SQL il est nécessaire ‘étudier Falgèbre relationnelle. Il en est de même pour une utilisation intelligente L’algèbre relationnelle permet donc de manipuler les données des tables d’une base de données à l’aide de requêtes (query en anglais).
Elle prépare la conception de requêtes qui seront traduite en SQL B. Notion de modèle relationnel partant d’un Modèle conceptuel de données par exemple • VIN navin millésimé degré BUVEUR BOIRE quantité bue matricule nom adresse En appliquant des règles de passages (vues en DAIGL) on aboutit à un modèle relationnel dont on représente la structure ai 11 Adresse 10, rue des près – MACON 2, avenue J. MOULIN – LYON 1, rue d’Ulm – PARIS Vocabulaire utile Degré : nombre d’attributs (de colonnes) d’une table.
Cardinalité : nombre de lignes (enregistrements) d’une table Quels sont le degré et la cardinalité de la table BOIRE décrite ci- dessus ? BOIRE : degré 3, cardinalité 7 C. Les opérations de l’algèbre relationnelle L’algèbre relationnelle possède 8 opérateurs : Certains opérateurs sont ensemblistes (communs avec la théorie des ensembles), d’autres sont relationnels (spécifiques à l’algèbre relationnelle , en gras ci- dessous). On peut aussi cla sser les opérateurs selon qu’ils s’appliquent ? une ou à plusieurs relations (tables).
Opérations à un seul opérande o Sélection (opérateur relationnel) o Projection Opérations à deux opérandes o produit cartésien (opérateurs ensemblistes) o Jointure 2 PAGF30F11 résultante Parfois, pour parvenir à extraire les données voulues, il faut effectuer plusieurs opérations. Dans ce cas, le résultat de la première opération est utilisé dans la deuxième opération, et le résultat de la deuxième opération peut être utilisé dans la troisième opération, . Nous verrons tout d’abord les opérateurs ensemblistes, avant d’étudier les opérateurs spécifiquement relationnels puis quelques opérateurs de calcul.
Le s opé rate urs e nse mbliste s A. Rappels mathématiques Les opérateurs ensemblistes sont les mêmes qu’en mathématiques, dans la théorie des ensembles. Soient deux ensembles A et B (en gras) contenant respectivement 5 et 3 éléments. pour les 3 cas présentés, vollà les cardinalités (nombre d’éléments) de l’ensemble R. PAGFd0F11 même description) L’union de deux tables est l’ensemble des occurrences qui ppartiennent soit à la première table, soit à la deuxième, soit aux deux tables. C’est la traduction du OU logique.
Formalisme : RI UR20u MatriculeB DUP71 GRA72 VA173 PROPRIETAIRE MatriculeP GRA71 HUB72 JOU73 UNION (RI , R2) Nom B AdresseB 10, rue des Près – MACON 2, avenue J. MOULIN LYON Nom P AdresseP 12, rue Gambetta PARIS 84, avenue Martin – SENS s 1 GRAVIER 2, avenue J. MOULIN – LYON Opération RI = BUVEUR R2 = PROPRIÉTAIRE RI n R2 ou – INTERSECTION (RI, R2) D. Différence (sur des relations qui ont la même description) La différence entre deux table est l’ensemble des occurences qui ppartiennent à une table sans appartenir à la seconde .
Attention, cette opération a un sens. Formalisme: R = RI – R2 ou DIFFERENCE(RI, R2) G attention au sens Ex : Donnez la liste des personnes qui sont buveurs mais non propriétaires de vin. R3 Matricule Nom DUPONT 10, rue des Près – VAILLANT MACON Remarque : partant d’une PAGF60F11 ne garde que les lienes Ex : En supposant que tous les buveurs ont bu un peu de chaque vin, donnez la liste des vins et leurs buveurs (les navin, cru, millésimé, degré des vins et les matricule, nom et adresse des buveurs). Novin cru Millésim Degré PAGF70F11 R3 PRODUIT (RI, R2) Ill.
Les opé rate urs re lationne Is A. Projection La projection d’une relation consiste en la mise en place d’une nouvelle relation en ne retenant que certaines colonnes(attributs) et en supprimant les occurrences en double. R2 = PROJECTION (RI, colonne 1, colonne Z R2 est la table résultat, RI est la table utilisée par la projection N avin v1 v4 Chablis Bordeaux Beaujolais jp Chenet Millésimé 1976 1997 1998 13 12 12,5 B1 tables ayant un champ commun (attribut) et vérifiant un critère de jointure. R3 = JOINTURE RI , R2 (RI. attr. _jointure op. _ comparaison R2. tr_ jointure) Ex : Donnez les noms, adresses des buveurs qui boivent le vin v3. 1) On sélectionne les matricules qui ont bu le vin v3 RI = SÉLECTION ( BOIRE, RI . nOvin v3) MATRICULE Nevin Quantité bue 2) On va rechercher les adresses de ces buveurs par l’opération produit cartésien + sélection des lignes qul ont un numéro de matricule de la relation R2 identique à celui de la relation BUVEUR. Matricule de la relation R2 et BUVEUR sont appelés attributs de jointure (attributs qui relient les deux relations). R2 = JOINTURE RI , BUVEUR (RI . Matricule = BUVEUR.
Matncule) 8 PAG » 1 ivision permet de trouver les occurrences d’une table qui sont associées à toutes les occurrences d’une autre table (qui le plus souvent est le résultat dune sélection). R = DIVISION (dividende, diviseur) ou R = dividende/ diviseur attention au sens Donner la liste des buveurs qui boivent les vins v2 et v4. 1) On sélectionne les vins v2 et v4 dans la relation VIN RI SELECTION (VIN, novin = v2 ou novin =v4) Cru JP Chenet 2) On ne garde que la colonne novin (pas besoin des autres) è c’est le diviseur de la division. R2 = PROJECTION (RI, 3) On garde, dans la relati les colonnes Matricule et