Eléments d ’algèbre relationnelle

Slides:



Advertisements
Présentations similaires
CARACTERISTIQUES D’UN ENSEMBLE DE FORCES
Advertisements

Approche graphique du nombre dérivé
Langage de manipulation de données Ensemble de commandes permettant : – modifier la base : ajout, modification et suppression – interroger la base ex :
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
1Deug 1 Systèmes d Information : 7a Michel de Rougemont Université Paris II Les tableurs : Excel.
Règles d’association.
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
Calculs de complexité d'algorithmes
Le Modèle Logique de Données
1. Les caractéristiques de dispersion. 11. Utilité.
Algèbre relationnelle
Optimisation algébrique de requêtes relationnelles
Algèbre de Boole.
Défi écriture BEF Couverture. Défi écriture BEF Page 1.
Optimisation de Requêtes
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Cours du 20 septembre Exceptionnellement, le cours prévu pour le mercredi 20 septembre se donnera Mardi le 19 septembre de 13h30 à 15h20 à la salle 1112.
Améliorer les performances du chiffrage à flot SYND
Initiation au système d’information et aux bases de données
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Initiation au système d’information et aux bases de données
Identités remarquables
OCaml - Les listes L3 MI.
Contrôles d'accès aux données
Le langage SQL.
LE LANGAGE SQL Langage de manipulation de données (LMD)
Algèbre relationnelle
LANGAGES LIES AU MODELE RELATIONNEL
Chap 4 Les bases de données et le modèle relationnel
RAPPORT PROJET 2 Xavier Garcia 1 A12. Table des matières 03/11/12 2 Curriculum vitae Résolution du problème Démarche liste 1 Démarche liste 2 Démarche.
Programmation logique Démonstrateur automatique
2 Ils associent les rangées de 2 requêtes UNION [ALL] INTERSECT MINUS.
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
L’utilisation des bases de données
Algèbre relationnelle et SQL
Complément Le diagramme des classes
Systèmes d’équations du premier degré à deux variables
MODELE RELATIONNEL concept mathématique de relation
Racines carrées 1) Racine carrée d’un nombre positif
Expressions régulières et hash tables
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Algèbre Relationnelle
1.1 LES VECTEURS GÉOMÉTRIQUES
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Cours de Management des Systèmes d’Information
Manipulation des données Requêtes simples
Excel (Partie 2).
Les Algorithmes de Tri Introduction Tri par Sélection
Initiation aux bases de données et à la programmation événementielle
Michel Tollenaere SQL et relationnel 1 Cours MSI-2A filière ICL version 1.1 du 2 novembre 2010 Cours de Management des Systèmes dInformation
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
2.2 PRODUIT SCALAIRE ET CALCUL D’ANGLES
Découverte de correspondances entre ontologies distribuées
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Expressions régulières et hash tables
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
Chapitre 3 :Algèbre de Boole
Optimisation de requêtes
Mini-SGBD Implémentation des opérateurs algébriques Yohann HUBERT Christophe PANNEAU Licence informatique Année Maître de stage : M. KHAYATA.
Sélection de colonnes (la projection)
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Langage Relationnel Graphe de Requêtes
INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

Eléments d ’algèbre relationnelle 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) 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)

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

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

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 :

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 :

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

Projection Projection sur les colonnes 1 et 2 : (renumérotation des colonnes)

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

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

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

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 )

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

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

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

Jointure Dans quels départements habitent les hommes ?

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

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

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

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 }

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 pc1, c3 4 col, 2 lig sc2="Lyon" and c4="Nice" Ä femme homme 4 col, 6 lig 2 col, 3 lig 2 col, 2 lig Ä 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