1 / 21

COURS 2

COURS 2. Eléments d ’algèbre relationnelle. Motivation : Interroger des bases de données. Qu’est-ce qu’une requête ? une expression dans une algèbre dite algèbre relationnelle. i.e., des opérations sur des tables Filtrer : Sélection (filtre / critères)

limei
Télécharger la présentation

COURS 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COURS 2 Eléments d ’algèbre relationnelle

  2. Motivation : Interroger des bases de données Qu’est-ce qu’une requête ? une expression dans une algèbre dite algèbre relationnelle. i.e., des opérations sur des tables • Filtrer : • Sélection (filtre / critères) • Projection (choix de colonnes) • Différence (suppression de lignes) • Combiner : • Produit cartésien (toutes les possibilités) • Jointure (complément d'information) • Union (union d'ensembles de lignes)

  3. Quelques définitions • Ligne Une ligne L est une séquence de valeurs Vi, L = < V1, ... , Vi , ... Vn > • Extraction La ligne < Vi > construite à partir de L est notée L(i) • Concaténation Soient deux lignes L1 = < V1, ..., Vn > et L2 = < W1, ..., Wm >, la concaténation de L1 et de L2, notée L1L2 est : L1L2 = < V1, ..., Vn, W1, ..., Wm > • Table Une table est un ensemble de lignes

  4. Sélection (restriction) • Sélection / constante : Personnes habitant Lyon • Sélection / critère inter-colonnes : Personnes nées dans la ville d’habitation

  5. Sélection (restriction) • Autre comparateur : Personnes n’ayant pas plus de 14 ans • Composition de sélections : Habitants de Lyon n’ayant pas plus de 14 ans • Conjonction de critères :

  6. Sélection (restriction) • Autre comparateur : Personnes n’ayant pas plus de 14 ans • Composition de sélections : Habitants de Lyon n’ayant pas plus de 14 ans • Conjonction de critères :

  7. Une formalisation de la sélection (restriction) • Sélection / constante : L'ensemble des lignes L de la table T telles que L(i)=a est noté si=a (T) • si=a (T) = { L | L dans T et L(i) = a } • Sélection / inter-colonnes : L'ensemble des lignes L de la table T telles que L(i)=L(j) est noté si=j (T) si=j (T) = { L | L dans T et L(i) = L(j) } • Autres comparateurs : ¹ < > £ ³ peuvent être employés à la place de = • Conjonction de comparaisons : Pour alléger les notations des conjonctions de critères de sélection peuvent être employées

  8. Projection • Projection sur les colonnes 1 et 2 : • Projection sur les colonnes 1 et 3 : (renumérotation des colonnes)

  9. Composition (Combinaison) • Quels sont les noms des personnes habitant Lyon ? 1) Sélection : 2) ... suivie d'une projection :

  10. Une formalisation de la projection • Projection sur colonnes : L'ensemble des lignes de la table T obtenues en ne conservant que les colonnes de numéros i1 , i2 , ..., ik est noté pi1 ,i2, ..., ik (T) pi1 ,i2, ..., ik (T) = { L(i1)L(i2) ... L(ik) | L dans T } • Retour sur la composition : le principe de clôture e.g., des sélections et des projections NB. Propriété fondamentale pour expliquer le confort des interrogations

  11. Produit cartésien • Quels sont tous les couples homme-femme ? • homme  femme • Quels sont les couples homme-femme d’une même ville ? c2 = c4 ( homme  femme )

  12. Produit cartésien • Dans quels départements habitent les personnes de la table homme ? 1) Combinaison par produit (homme Ä ville) • (Noter la renumérotation des colonnes) • Quels sont les couples homme-femme d’une même ville ? c2 = c4 ( homme  femme )

  13. Produit cartésien 2) ... suivi d'une sélection : sc2 = c3 ( homme Ä ville ) =

  14. Une formalisation du produit cartésien L'ensemble des lignes pouvant être obtenues par concaténation d'une ligne d'une table T1 avec une ligne d'une table T2 est noté T1 Ä T2 T1 Ä T2 = { L1L2 | L1 dans T1 et L2 dans T2 } Le produit T1 Ä T2 est souvent suivi d'une sélection dans laquelle intervient une colonne issue de T1 et une colonne issue de T2 définition d'un nouvel opérateur :la jointure

  15. Jointure • Couples homme-femme d'une même ville ?

  16. Jointure • Dans quels départements habitent les hommes ?

  17. Une formalisation de la jointure {combinaison par produit cartésien et sélection} L'ensemble des lignes L pouvant être obtenues par concaténation d'une ligne L1 d'une table T1 avec une ligne L2 d'une table T2 telle que L1(i) = L2(j) est noté : Cette opération est appelée jointure de T1 avec T2

  18. Une formalisation de la jointure • Lien avec le produit cartésien et la sélection Soit m le nombre de colonnes de T1, est identique à si = (j+m) (T1ÄT2) Remarque : comme pour la sélection, les comparateurs ¹ < > £ ³ainsi que les conjonctions de critères peuvent être employés

  19. Union • Quel est l’ensemble des personnes ? • Quel est l'ensemble des personnes habitant Lyon ?

  20. Formalisation des deux opérations u Une formalisation de l’union (ensembliste) Soient T1 et T2 deux tables ayant même nombre de colonnes, l'ensemble contenant les lignes de T1 ainsi que celles de T2 est noté T1 È T2 T1 È T2 = { L | L dans T1 ou L dans T2 } • u Une formalisation de la différence (ensembliste) • Soient T1 et T2 deux tables ayant même nombre de colonnes, l'ensemble contenant les lignes de T1 ne se trouvant pas dans T2 est noté T1 - T2 • T1 - T2 = { L | L dans T1 et L n'est pas dans T2 }

  21. pc1, c3 4 col, 2 lig sc2="Lyon" and c4="Nice" 4 col, 6 lig Ä 2 col, 3 lig 2 col, 2 lig femme homme Arbre et transformation de requêtes • Quels sont les couples possibles avec une femme de Lyon et un homme de Nice ? 2*3+2*2+4*6+4*2 = 2*3+2*2+2*2+2*1+1*2+1*1 = 42 cases manipulées 19 cases manipulées Ä 1 col, 2 lig 1 col, 1 lig pc1 pc1 2 col, 1 lig 2 col, 2 lig sc2="Lyon" sc2="Nice" 2 col, 3 lig 2 col, 2 lig femme homme

More Related