La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algèbre relationnelle

Présentations similaires


Présentation au sujet: "Algèbre relationnelle"— Transcription de la présentation:

1 Algèbre relationnelle
Maria Berger - Maîtrise d'AES

2 La partie structurelle : le modèle relationnel
Produit cartésien de 2 ensembles : Relation : Sous-ensemble du produit cartésien d’une liste de domaines Une relation est caractérisée par un nom Représentation commode : table à 2 dimensions Exemple : la relation Coureur est un sous-ensemble du produit cartésien : numéro X nom X CodeEquipe X CodePays Maria Berger - Maîtrise d'AES

3 La partie opérationnelle : l'algèbre relationnelle
Une algèbre est un ensemble avec des opérations fermées sur cet ensemble. Une algèbre relationnelle est un ensemble d’opérations agissant sur des relations et produisant des relations 4 opérations ensemblistes (union, intersection, différence, produit cartésien) 3 opérations spécifiques des BD relationnelles (sélection, projection, jointure) L'alg₩bre relationnelle est aux relations ce que l'arithm₫tique est aux nombres. But : sp₫cifier des interrogations sur un BD pour en tirer des informations. Les op. Rel. Sont sp₫cifiques aux BD relationnelles. Les expressions alg₫briques transforment des tables en une table (propri₫t₫ de fermeture) Maria Berger - Maîtrise d'AES

4 Opérations ensemblistes
Union Les relations doivent avoir le même schéma Professeur  Maître de conférence Maria Berger - Maîtrise d'AES

5 Opérations ensemblistes
Intersection Les relations doivent avoir le même schéma Exemple : l’intersection de Professeur et Maître de conférence est une relation nulle (!) Différence Exemple : la différence Professeur - Maître de conférence est la relation Professeur elle-même (!) Maria Berger - Maîtrise d'AES

6 Opérations ensemblistes
Produit cartésien Code pays Nom Pays ALL Allemagne FRA France SUI Suisse G-B Grande -Bretagne Numéro coureur Nom Coureur Code équipe pays 8 ULLRICH Jan TEL ALL 31 JALABERT Laurent ONC FRA 61 ROMINGER Tony COF SUI 91 BOARDMAN Chris GAN G-B Numéro coureur Nom Coureur Code équipe pays Nom Pays 8 ULLRICH Jan TEL ALL Allemagne FRA France SUI Suisse G-B Grande -Bretagne 31 JALABERT Laurent ONC FRA ALL Allemagne… Maria Berger - Maîtrise d'AES

7 Opérations spécifiques
Sélection (ou restriction) : relation composée de n-uplets vérifiant une condition Numéro coureur Nom Coureur Code équipe pays 8 ULLRICH Jan TEL ALL 31 JALABERT Laurent ONC FRA 61 ROMINGER Tony COF SUI 91 BOARDMAN Chris GAN G-B 114 CIPOLLINI Mario SAE ITA Quels sont les coureurs suisses ? Relation résultat R = SELECTION(COUREUR, CodePays = ‘‘SUI’’) NOTATION : CodePays = ‘‘SUI’’(COUREUR) Maria Berger - Maîtrise d'AES

8 Opérations spécifiques
Projection : relation restreinte aux attributs spécifiés dans la projection Exemple : Nom et nationalité des coureurs ? R = PROJECTION(COUREUR, NomCoureur, Nationalité) NOTATION : {NomCoureur,Nationalité}(COUREURS) Nom Coureur Code pays ULLRICH Jan ALL JALABERT Laurent FRA ROMINGER Tony SUI BOARDMAN Chris G-B CIPOLLINI Mario ITA Relation résultat Maria Berger - Maîtrise d'AES

9 Opérations spécifiques
Jointure : Code pays Nom Pays ALL Allemagne FRA France SUI Suisse G-B Grande -Bretagne Numéro coureur Nom Coureur Code équipe pays 8 ULLRICH Jan TEL ALL 31 JALABERT Laurent ONC FRA 61 ROMINGER Tony COF SUI 91 BOARDMAN Chris GAN G-B Numéro coureur Nom Coureur Code équipe pays Nom Pays 8 ULLRICH Jan TEL ALL Allemagne 31 JALABERT Laurent ONC FRA France 61 ROMINGER Tony COF SUI Suisse 91 BOARDMAN Chris GAN G-B Grande -Bretagne Relation résultat Maria Berger - Maîtrise d'AES

10 Opérations spécifiques
Jointure (suite) Notation : Coureur  Pays -jointure : jointure sous condition autre que l’égalité Maria Berger - Maîtrise d'AES

11 Opérations spécifiques
Division : relation composée des n-uplets tels que le produit cartésien avec le diviseur soit un sous-ensemble de la relation dividende (…?) Participer Epreuve Relation résultat de Particier  Epreuve Quels sont les athlètes qui ont participé à toutes les épreuves ? Maria Berger - Maîtrise d'AES

12 Maria Berger - Maîtrise d'AES 2001-2002
Union Intersection Différence a b c x y x y a b c x y x y Sélection Projection Produit cartésien Maria Berger - Maîtrise d'AES

13 Remarques sur l'algèbre relationnelle
L'algèbre relationnelle permet l‘étude des opérateurs entre eux (commutativité, associativité, groupe d'opérateurs minimaux,...) équivalence de certaines expressions programmes d'optimisation qui transforment toute requête en sa forme équivalente la plus efficace L'opération de jointure est très coûteuse : proportionnelle au nombre de n-uplets (m*n pour deux relations jointes) toujours préférable de faire les restrictions le plus tôt possible afin de manipuler des tables les plus réduites possibles. Maria Berger - Maîtrise d'AES

14 Maria Berger - Maîtrise d'AES 2001-2002
Pourquoi une requête est-elle meilleure qu'une autre ? Une requête n'est pas l'unique solution d'un problème. efficacités différentes Exemple : Fournisseur (N°fno, Nom, Adresse, Ville) Produit (N°prod, Designation, Prix, Poids, Couleur) Commande (N°comm, N°fno, N°prod, , Quantité) Produit = 8 lignes * 5 colonnes * 10 char = 400 char Commande = 10 lignes * 4 colonnes * 10 char = 400 char Références, prix et quantités des produits commandés en plus de 10 exemplaires par commande ? Maria Berger - Maîtrise d'AES

15 Maria Berger - Maîtrise d'AES 2001-2002
R1= JOINTURE(Commande, Produit, Produit.N°prod = Commande.N°prod) R2 = SELECTION(R1, Quantité > 10) R3 = PROJECTION(R2, N°prod, Prix, Quantité) R1 = jointure sur la table Commande et la table Produit = 400*400 = char Maria Berger - Maîtrise d'AES

16 Maria Berger - Maîtrise d'AES 2001-2002
R1 = PROJECTION(SELECTION(Commande, Quantité>10), N°prod, Quantité) R2 = JOINTURE(R1, PROJECTION(Produit, N°prod, Prix), R1.N°prod = PROJ.N°prod) R3 = PROJECTION(R2, N°prod, Prix, Quantité) R2 = jointure sur le couple (N°prod, Prix) de la table Produit = 8*2*10 = 160 char et sur le couple (N°prod, Quantité) de la table Commande = 2*2*10 = 40 char Total = 40*160 = 6400 char Gain de 75% (facteur 25) en taille mémoire Maria Berger - Maîtrise d'AES

17 Maria Berger - Maîtrise d'AES 2001-2002
Clés d’une relation Clé primaire Colonne(s) dont les valeurs permettent de repérer une seule ligne. Exemple : dans la table COUREUR, c’est la colonne Numéro_Coureur qui est la clé. Clé étrangère Colonne constituée de la clé primaire d’une autre table Traduit l’existence d’un lien entre 2 tables Maria Berger - Maîtrise d'AES

18 Maria Berger - Maîtrise d'AES 2001-2002
Exercices CRU(NomCru,Commune,Région,Couleur) VINS(Région,Couleur,Millésime,Qualité) CEPAGE-REGION(Cépage,Couleur) Req1 : Tous les crus ? Réponse : CRU (!) Maria Berger - Maîtrise d'AES

19 Req2 : Tous les crus rouges La liste des noms de crus rouges”
PROJECTION(SELECTION(CRU, couleur=rouge), NomCru) Maria Berger - Maîtrise d'AES

20 Contraintes d'intégrité
Un des outils les plus importants d'un SGBD Contraintes de clé : Vérification de l'unicité des clés Contraintes de types de données : Vérification des types de données saisies (entiers, réels, dates, chaînes de caractères, booléens...) Vérification des domaines de validité (entier compris entre 0 et 20 pour une note d‘étudiant,...) Contraintes d'intégrité référentielles : Vérification à partir des clés étrangères (la clé primaire associée n'existe pas, note d'un étudiant qui n'existe pas, conséquences d'une suppression d'une fiche,...) La cl₫ d'une relation est un ensemble d'attributs minimum dont la connaissance permet d'identifier un tuple unique de la relation consid₫r₫e La contraine de cl₫ impose que chaque relation poss₩de une cl₫. Equivalent à l'identifiant dans le md₩le E-A.. Maria Berger - Maîtrise d'AES


Télécharger ppt "Algèbre relationnelle"

Présentations similaires


Annonces Google