Télécharger la présentation
Publié parNoëlle Ratté Modifié depuis plus de 9 années
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) RS 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) RS 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 = XY) 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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.