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

INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle

Présentations similaires


Présentation au sujet: "INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle"— Transcription de la présentation:

1 INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle
COURS 3 Université Panthéon-Assas Paris 2 L2 Economie-Gestion

2 Une relation Formellement Pratiquement
Une relation est un sous-ensemble du produit cartésien de N champs d’applications (ou rubriques) D1xD2x…xDN Pratiquement Une relation est représentée par un tableau N° étudiant Nom Age Prof père 430 Dupont 20 Maçon 651 Durant 23 Dentiste 941 Martin Occurrences de la relation (nuplets) rubrique Schéma de relation : R(Attribut1, …Attributn) R(N°étudiant, Nom, Age, Prof père)

3 Types de relation Relation unaire : une seule rubrique
Taux de TVA 0,00 5,50 7,00 19,60 33,33 R(Taux de TVA) Relation binaire : 2 rubriques R(N° salarié, Nom Salarié) Relation n-aire : n rubriques n>2 N° étudiant Nom Age Prof père 430 Dupont 20 Maçon 651 Durant 23 Dentiste 941 Martin R(N°étudiant, Nom, Age, Prof père)

4 L ’Algèbre relationnelle
Sur ces relations, existent des opérateurs Ces opérateurs définissent l ’ Algèbre relationnelle Ces opérateurs opèrent sur des relations et produisent de nouvelles relations : construction de nouvelles informations à partir des relations de départ et d ’une composition séquentielle d ’opérateurs 3 catégories d ’opérateurs relationnels Opérateurs unaires : affectation, sélection, projection Opérateurs binaires travaillant sur 2 relations de même schéma : union, intersection, différence Opérateurs binaires travaillant sur 2 relations de schémas différents : jointure, produit cartésien, division

5 Opérateurs unaires-affectation
Sauvegarder le résultat d ’une expression de recherche Renommer une relation et ses attributs R(A1, …, An) expression de sélection R(A1, …, An) = expression de sélection

6 Opérateurs unaires-Sélection
Suppression des occurrences de la relation qui ne satisfont pas une condition donnée SELECTION(R, condition-de-sélection) σ cond(R) En entrée : une relation R définie sur un schéma SR En sortie : une nouvelle relation de même schéma SR, les nuplets satisfont la condition de sélection La condition de sélection est une condition booléenne construite à partir Des connecteurs logiques et, ou, non De conditions simples : attribut de R - opérateur de comparaison - constante attribut de R - opérateur de comparaison - attribut de R

7 Sélection-Exemple Considérons la relation Etudiant définie par le schéma Etudiant(N° étudiant, Nom-étudiant, Année-étude) N° Etudiant Nom-étudiant Année-étude 843 Carole 1 521 Peter 3 864 Paulo SELECTION(Etudiant, Année-étude=1) produit la relation N° Etudiant Nom-étudiant Année-étude 843 Carole 1 864 Paulo

8 Opérateurs unaires-Projection
Supprimer des attributs d ’une relation PROJECTION(R, A1, …, An) П A1, …, An (R) En entrée : une relation R définie sur un schéma SR En sortie : une nouvelle relation de schéma A1,…An (inclus dans SR) ayant comme nuplets ceux de R restreints au sous-schéma A1, …, An La cardinalité de la nouvelle relation est <= à celle de R

9 Projection-Exemple Considérons la relation Etudiant définie par le schéma Etudiant(N° étudiant, Nom-étudiant, Année-étude) N° Etudiant Nom-étudiant Année-étude 843 Carole 1 521 Peter 3 864 Paulo PROJECTION(Etudiant, N° étudiant, Nom-étudiant) produit la relation N° Etudiant Nom-étudiant 843 Carole 521 Peter 864 Paulo

10 Projection-Exercice Une maîtresse de maison s ’est constituée une base de données sur les personnes qu’elle invite et les plats qu’elle leur sert. Cette base est composée de 3 relations Repas(Date, Invité) donne la liste des invités reçus et à quelle date Menu(Date, Plat) donne le menu servi à chaque date Préférence(Personne,Plat) donne pour chaque personne ses plats préférés NB : Les attributs Personne et Invité ont même domaine

11 Projection-Exercice Repas(Date, Invité), Menu(Date, Plat), Préférence(Personne, Plat) Quels sont les invités du repas du 01/05/97 R1=SELECTION(Repas, date={d ’  ’}) Rés=PROJECTION(R1, Invité) ou Rés=PROJECTION(SELECTION(Repas,Date={d ’  ’}), Invité) En SQL PROJECTION SELECT Repas.Invité FROM Repas WHERE Repas.Date={d ’  ’} SELECTION

12 Opérateurs binaires sur 2 relations de même schéma - Union
Fusionner 2 relations ayant mêmes attributs en une seule relation UNION(R, S) RS En sortie : une nouvelle relation de schéma SRS, ayant les nuplets de R et ceux de S (les doublons sont supprimés)

13 Union-Exemple Etudiant(N° étudiant,Nom-étudiant, Année-étude)
N° Etudiant Nom-étudiant Année-étude 843 Carole 1 521 Peter 3 864 Paulo Etudiant(N° étudiant,Nom-étudiant, Année-étude) N° Etudiant Nom-étudiant Année-étude 324 Catherine 2 521 Peter 3 201 Didier 1 Etudiant1(N° étudiant, Nom-étudiant, Année-étude)

14 Union-Exemple UNION(Etudiant, Etudiant1) produit la relation
Nom-étudiant Année-étude 843 Carole 1 521 Peter 3 864 Paulo 324 Catherine 2 201 Didier

15 Opérateurs binaires sur 2 relations de même schéma - Intersection
Fournir les occurrences présentes dans les 2 relations à la fois INTERSECTION(R, S) RS En sortie : une nouvelle relation de schéma SRS, ayant les nuplets présents dans R et dans S

16 Intersection-Exemple
N° Etudiant Nom-étudiant Année-étude 843 Carole 1 521 Peter 3 864 Paulo Etudiant(N° étudiant,Nom-étudiant, Année-étude) N° Etudiant Nom-étudiant Année-étude 324 Catherine 2 521 Peter 3 201 Didier 1 Etudiant1(N° étudiant, Nom-étudiant, Année-étude) INTERSECTION(Etudiant, Etudiant1) produit la relation N° Etudiant Nom-étudiant Année-étude 521 Peter 3

17 Opérateurs binaires sur 2 relations de même schéma - DIFFERENCE
Obtenir les occurrences d ’une relation qui n ’appartiennent pas à une autre relation DIFFERENCE(R, S) R-S En sortie : une nouvelle relation de schéma SRS, ayant les nuplets de R qui ne sont pas dans S La différence n ’est pas commutative Équivalent à un opérateur complément

18 Etudiant(N° étudiant, Nom-étudiant, Année-étude)
Différence-Exemple Etudiant(N° étudiant, Nom-étudiant, Année-étude) N° Etudiant Nom-étudiant Année-étude 843 Carole 1 521 Peter 3 864 Paulo Etudiant-SELECTION(Etudiant, Année-étude=1) produit la relation N° Etudiant Nom-étudiant Année-étude 521 Peter 3

19 Différence-Exercice Repas(Date, Invité), Menu(Date, Plat), Préférence(Personne, Plat) Quels sont les personnes qui n ’ont jamais été invitées ? R1=PROJECTION(Préférence, Personne) R2=PROJECTION(Repas, Invité) Rés=R1-R2 ou Rés=PROJECTION(Préférence,Personne)-PROJECTION(Repas,Invité) En SQL (SELECT Préférence.Personne FROM Préférence) MINUS (SELECT Repas.Invité FROM Repas)

20 Opérateurs binaires sur 2 relations de schémas différents - Produit cartésien
Soient R et S, 2 relations définies sur les schémas SR et SS (SR et SS disjoints) PRODUIT(R, S) RxS En sortie : une nouvelle relation de schéma SRS (union des schémas SR et SS) dont les nuplets sont la concaténation des nuplets de R avec ceux de S Le nombre d ’éléments du produit cartésien est le produit des cardinalités des relations R et S

21 Produit cartésien-Exemple
Etudiant(N° étudiant, Nom-étudiant, Année-étude) N° Etudiant Nom-étudiant Année-étude 843 Carole 1 521 Peter 3 864 Paulo Père(Code, Age, Prof) Code Age Prof 843 40 Maçon 521 50 Dentiste 864 42

22 Produit cartésien-Exemple
PRODUIT(Etudiant,Père) produit la relation N° Etudiant Nom-étudiant Année-étude Code Age Prof 843 Carole 1 40 Maçon 521 50 Dentiste 864 42 Peter 3 Paulo

23 Opérateurs binaires sur 2 relations de schémas différents - Jointure
Soient R et S, 2 relations définies sur les schémas SR et SS (SR et SS ayant des attributs de même domaine) JOINTURE(R, S, condition) R S condition En sortie : une nouvelle relation de schéma SRS (union des schémas SR et SS) dont les nuplets sont la concaténation des nuplets de R avec ceux de S s ’ils ont la même valeur pour les attributs communs (de même domaine) On parle aussi de jointure naturelle ou équi-jointure

24 Jointure-Exemple Etudiant(N° étudiant, Nom-étudiant, Année-étude)
N° Etudiant Nom-étudiant Année-étude 843 Carole 1 521 Peter 3 864 Paulo Code Age Prof 843 40 Maçon 521 50 Dentiste 864 42 Etudiant(N° étudiant, Nom-étudiant, Année-étude) Père(Code, Age, Prof) JOINTURE(Etudiant, Père, N° étudiant=Code) N° Etudiant Nom-étudiant Année-étude Code Age Prof 843 Carole 1 40 Maçon 521 Peter 3 50 Dentiste 864 Paulo 42

25 Jointure-Exercice Repas(Date, Invité), Menu(Date, Plat), Préférence(Personne, Plat) Quels sont les plats qui ont été servis à Alice ? R1=SELECTION(Repas, Repas.Invité=′ Alice ′) R2=JOINTURE(Menu, R1, Menu.Date=R1.Date) Rés=PROJECTION(R2, R2.Plat) En SQL PROJECTION SELECT DISTINCT Menu.Plat FROM Menu, Repas WHERE Repas.date=Menu.Date AND Repas.Invité=′ Alice ′ JOINTURE SELECTION

26 Opérateurs binaires sur 2 relations de schémas différents - Division
R est définie sur un schéma SR composé des ensembles d ’attributs X et Y (SR = XY) S est définie sur un schéma SS composé de l ’ensemble d ’attributs Y (SS=Y) DIVISION(R,S) R/S En sortie : une nouvelle relation de schéma Sres (Sres=SR-SS) qui comprend tous les nuplets dont la concaténation avec tous les nuplets de S appartient à R

27 Division-Exercice Repas(Date, Invité), Menu(Date, Plat), Préférence(Personne, Plat) Quels sont les invités qui sont venus à tous les repas ? Rés=Repas/PROJECTION(Repas, Date)

28 Division-Exercice Appartient à la relation Repas x
Repas(Date, Invité), Menu(Date, Plat), Préférence(Personne, Plat) Division-Exercice Repas(Date, Invité) PROJECTION(Repas, Date) Date Invité 14/5 Didier Dominique 15/5 Jean-Luc 16/5 Date 14/5 15/5 16/5 Repas/PROJECTION(Repas, Date) 14/5 15/5 16/5 Invité1 Appartient à la relation Repas x Doit appartenir à la relation Repas 14/5, Invité1 15/5, Invité1 16/5, Invité1

29 Opérateurs binaires sur 2 relations de schémas différents - Autres
Thêta-jointure Jointure externe Semi-jointure


Télécharger ppt "INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle"

Présentations similaires


Annonces Google