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

Algèbre relationnelle

  • Upload
    keely

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

Algèbre relationnelle. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-2002

1

Algèbre relationnelle

Page 2: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-20022

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

E E x x x E x E1 2 1 2 1 1 2 2 ( , ) / ,

Page 3: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-20023

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)

Page 4: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-20024

Opérations ensemblistes Union

– Les relations doivent avoir le même schéma

PROFESSEUR MAITRE DE CONFERENCE

N°Ens Nom Prénom Matière N°Ens Nom Prénom Matière12 CHARPIN Françoise Economie 5 BEL Liliane Mathématiques15 THERY Philippe Droit 8 TOPOR Lucienne Droit16 VOGEL Louis Droit 58 SKALLI Ali Economie17 BALLE Francis Politique 67 BERGER Maria Informatique

N°Ens Nom Prénom Matière12 CHARPIN Françoise Economie15 THERY Philippe Droit16 VOGEL Louis Droit17 BALLE Francis Politique

5 BEL Liliane Mathématiques8 TOPOR Lucienne Droit

58 SKALLI Ali Economie67 BERGER Maria Informatique

Professeur Maître de conférence

Page 5: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-20025

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– Les relations doivent avoir le même schéma– Exemple : la différence Professeur - Maître de

conférence est la relation Professeur elle-même (!)

Page 6: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-20026

Opérations ensemblistes

Produit cartésien

Numéro coureur

Nom Coureur Code

équipe

Code

pays

8 ULLRICH Jan TEL ALL

31 JALABERT Laurent ONC FRA

61 ROMINGER Tony COF SUI

91 BOARDMAN Chris GAN G-B

Code

pays

Nom Pays

ALL Allemagne

FRA France

SUI Suisse

G-B Grande -Bretagne

Numéro coureur

Nom Coureur Code

équipe

Code

pays

Code

pays

Nom Pays

8 ULLRICH Jan TEL ALL ALL Allemagne

8 ULLRICH Jan TEL ALL FRA France

8 ULLRICH Jan TEL ALL SUI Suisse

8 ULLRICH Jan TEL ALL G-B Grande -Bretagne

31 JALABERT Laurent ONC FRA ALL Allemagne…

Page 7: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-20027

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

Code

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 ?

R = SELECTION(COUREUR, CodePays = ‘‘SUI’’)

NOTATION : CodePays = ‘‘SUI’’(COUREUR)

Relation résultat

Page 8: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-20028

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

Page 9: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-20029

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

Code

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

Code

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

Page 10: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-200210

Opérations spécifiques

Jointure (suite)– Notation : Coureur Pays

-jointure : jointure sous condition autre que

l’égalité

Page 11: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-200211

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 (…?)

Athlète Epreuve Epreuve AthlèteDupont 200 m 200 m DupontDurand 400 m 400 mDupont 400 m 110 m HMartin 110 m H Dupont 110 m H Martin 200 m

Participer Epreuve

Relation résultat de Particier Epreuve

Quels sont les athlètes qui ont participé à toutes les épreuves ?

Page 12: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-200212

a

b

c

x

y

a

a

b

b

c

c

x

y

x

y

x

y

Produit cartésien

Sélection Projection

Union Intersection Différence

Page 13: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-200213

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.

Page 14: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-200214

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 ?

Page 15: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-200215

– 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 = 160 000 char

Page 16: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-200216

– 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

Page 17: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-200217

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

Page 18: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-200218

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 (!)

Page 19: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-200219

Req2 : Tous les crus rouges La liste des noms de crus rouges”

PROJECTION(SELECTION(CRU, couleur=rouge), NomCru)

Page 20: Algèbre relationnelle

Maria Berger - Maîtrise d'AES 2001-200220

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,...)