Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Calcul Relationnel Chapitre 4, Section 4.3.

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Les Systèmes de Gestion de Bases de Données (SGBD) PL-SQL.
Algèbre relationnelle
Calcul propositionnel
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
Chap 1 Grammaires et dérivations.
INTRODUCTION.
8. Les tableaux P. Costamagna – ISEN N1.
Le modèle relationnel Des transparents issus de ceux de Ph Rigaux, J Ullman (Stanford), Barry (Bath et Amiens), Godin (UQAM)
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.
Logiques Mathématiques
Contrôles d'accès aux données
Database B2 2 MIP Paris.
Initiation à la conception de systèmes d'information
Programmation logique Logique des prédicats du premier ordre
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Stockage des Données: Disques et Fichiers Chapitre 9.
Points importants de la semaine Le paramétrage. La portée. Le passage par copie. Le passage par référence.
Calcul Relationnel Chapitre 4, Section 4.3.
Calcul Intégral Au XVIIIème siècle, les mathématiciens progressent dans deux domaines séparés : les problèmes des tangentes (et la longueur des arcs) et.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Rappels de logique des prédicats du 1er ordre
Staf 2x Cours de bases de données
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Contrôle de lAccès Simultané Chapitre 17.
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
Algèbre Relationnelle
Optimisation des Requêtes Relationnelles
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
CSI 4506: Introduction à l’intelligence artificielle
CSI3525: Concepts des Languages de Programmation
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Systèmes de Gestion des Bases de Données Chapitre 1 Professeur: Iluju Kiringa
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Évaluation des Requêtes: Survol Chapitre 12.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Le Modèle Relationnel Chapitre 3.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Survol du Stockage et de lIndexage Chapitre 8.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Contraintes et Triggers Chapitre 5,
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Gestion des Transactions: Survol Chapitre 16.
Bases de Données II (Automne 2007)
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Gestion des Transactions: Survol Chapitre 16.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Développement des Applications des Bases de Données Chapitre 6, Sections
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Le Modèle Relationnel Chapitre 3.
Indexes à Arbres et Indexes à Hachage
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Algèbre Relationnelle Chapitre 4, Sections 4.1 – 4.2.
Cours N°2 Base de Données & Langage SQL
Partie II Sémantique.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Survol du Stockage et de lIndexage Chapitre 8.
SQL: Requêtes, Programmation et Triggers
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Développement des Applications des Bases de Données Chapitre 6.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
Le Modèle Entité-Relation (Entité-Association)
Initiation aux bases de données et à la programmation événementielle
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
Paradigmes des Langages de Programmation
Paradigmes des Langages de Programmation
Programmation fonctionnelle Lambda-calcul
La Logique du premier ordre LPO
D.E ZEGOUR Ecole Supérieure d’Informatique
Programmation procédurale preuves D. Preuves Preuves sur les R-algorithmes. Règle de l'appel (Hoare). Exemple Preuves sur les B-algorithmes (Floyd) Automatisation.
Le langage Racket (Lisp)
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 .
6/10/2005 © 2005 P. Van Roy. All rights reserved. 1 FSAB1402: Informatique 2 Récursion sur les Listes Peter Van Roy Département d’Ingénierie Informatique,
Nouvelles Technologies Internet & Mobile
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
LOGIQUE ET PROGRAMMATION LOGIQUE
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Introduction Module 1.
Calcul Relationnel Chapitre 4, Section 4.3.
Transcription de la présentation:

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Calcul Relationnel Chapitre 4, Section 4.3

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke2 Calcul Relationnel Deux variantes: Calcul relationnel des tuples (TRC) Calcul relationnel des domaines (DRC). Contient des variables, constantes, ops de comparaison, opérateurs logiques, et quantificateurs. TRC : Le domaine des variables est lensemble des tuples. DRC : Le domaine des variables est le domaine des attributs. TRC et DRC: souslangages de la logique du premier ordre. Les expressions du calcul sont appelées des formules. Une réponse est un assignement de constantes aux variables qui rend la formule vraie.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke3 Calcul Relationnel des Tuples Forme de la requête : La réponse inclut tous les tuples t qui rendent la formule p(t) vraie. La formule est définie récursivement, en partant des formules atomiques et en construisant des formules de plus en plus grandes au moyen des opérateurs (connecteurs) logiques.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke4 Formules TRC Formules atomiques:, R.a op S.b, R.a op constante op = Formule: Formule atomique, ou, p et q étant des formules, ou, avec la variable R libre dans p(R), ou, avec la variable R libre dans p(R) Les quantificateurs et lient R. Une variable non liées est dite libre.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke5 Variables Liées vs. Libres Une restriction importante simpose sur la définition dune requête : La variable t qui apparaît à la gauche de `| doit être la seule variable libre dans la formule p(...).

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke6 Calcul Relationnel des Domaines Forme de la requête : La réponse inclut tous les tuples qui rendent la formule vraie. la formule de DRC est définie récursivement de manière analogue au TRC

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke7 Formules DRC Formules atomiques:, X op Y, X op constante op = Formule: Formule atomique, ou, p et q étant des formules, ou, avec la variable X libre dans p(X), ou, avec la variable X libre dans p(X) Les quantificateurs et lient X. Une variable non liée est libre.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke8 Variables Libres vs Liées Reconsidérez la définition de la requête: Restriction importante: les variables x1,..., xn qui apparaissent à la gauche de `| doivent être les seules variables libres dans la formule p(...).

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke9 Trouver tous les navigateurs avec un niveau au dessus de 7 La condition garantit que les variables I, N, T et A sont liées aux attributs du même tuple de Sailors. Le terme à gauche de `| (à lire « tel que» ) signifie que chaque tuple de ce terme qui satisfait la condition T> 7 est dans la réponse. Comment modifier la requête ci haut afin de répondre à: Trouver les navigateurs qui soit sont plus âgés que 18 ans ou ont un niveau en dessous de 9 et qui sappellent Joe.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke10 Trouver les navigateurs avec niveau au dessus de 7 qui ont réservé le bateau #103 Nous utilisons comme abréviation pour Notez lutilisation de afin de trouver un tuple dans Reserves qui joint le tuple de Sailors sous considération.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke11 Trouver les navigateurs avec niveau au dessus de 7 qui ont réservé un bateau rouge Notez bien comment les parenthèses contrôlent la porté de chaque quantificateur. Ceci peut paraître ennuyeux. Cependant, avec une bonne interface dutilisateur, cette méthode est fortement intuitive. (MS Access, QBE)

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke12 Trouver les navigateurs qui ont réservé TOUS les bateaux Trouver tous les navigateurs I tels que, pour chaque triplet, soit que ce dernier nest pas un tuple dans Boats ou il y a un tuple dans Reserves montrant que le navigateur I la réservé.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke13 Trouver les navigateurs qui ont réservé TOUS les bateaux (Suite) Notation plus simple et plus claire pour la même requête. Que veut dire la requête suivante?.....

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke14 Requêtes Non Sûres, Pouvoir Expressif Il est possible décrire une requête syntaxiquement correcte en calcul relationnel qui aura un nombre infini de réponses. De telles requêtes sont dites non sûres (« unsafe »). e.g., Un théorème célèbre dit que chaque requête exprimable en algèbre relationnelle lest aussi en DRC/TRC sûre et vice-versa. Complétude relationnelle : Un langage de requêtes est complet (p.ex. SQL) sil peut exprimer tout ce qui est exprimable en algèbre relationnelle

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke15 Résumé Le calcul relationnel est non-opérationnel et les utilisateurs définissent des requêtes en termes de ce quils veulent et non en termes de comment le système doit le calculer. Il est déclaratif ! Lalgèbre et le calcul relationnel sûr ont le même pouvoir expressif (notion de complétude relationnelle). Note: les exemples donnés sont en DRC; ils sont adaptables en TRC.