Notation fonctionnelle : Union (R,S) ou OR (R, S) Chapitre 4 : Algèbre Relationnelle



Documents pareils
Bases de Données. Plan

Introduction au Système de Gestion de Base de Données et aux Base de Données

1 Introduction et installation

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

COURS de BASES de DONNEES

Langage SQL : créer et interroger une base

Les bases de données

Le Langage SQL version Oracle

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Le langage SQL Rappels

16H Cours / 18H TD / 20H TP

Interpréteur d algèbre relationnelle

MySQL / SQL EXEMPLES

INTRODUCTION AU DATA MINING

Bases de Données relationnelles et leurs systèmes de Gestion

INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles

Information utiles. webpage : Google+ : digiusto/

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Vincent Augusto

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Bases de données avancées Introduction

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Évaluation et implémentation des langages

... /5. Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions.

Bases de données relationnelles & SQL

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

OCL - Object Constraint Language

INTRODUCTION : Données structurées et accès simplifié

DESS CCI Formation Continue. Février Université Louis-Pasteur de Strasbourg Département d'informatique

Cours: Les Jointures 1

Intelligence Artificielle Planification

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Introduction aux Systèmes de Gestion de Bases de Données Relationnelles. Olivier Losson

Dossier I Découverte de Base d Open Office

Mejdi BLAGHGI & Anis ASSÈS

Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

Évaluation et optimisation de requêtes

1 Modélisation d une base de données pour une société de bourse

UML et les Bases de Données

Programmes des classes préparatoires aux Grandes Ecoles

BASES DE DONNÉES CONCEPTS ET PROGRAMMATION. Antoine Cornuéjols. AgroParisTech, Spécialité Informatique ( ) Version du 19 octobre 2009

Base de Données et Langage SQL

TP 8: LES OPERATEURS ENSEMBLISTES

Bases de données cours 1

Cours 1 : La compilation

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

LE LANGAGE SQL2 1. INTRODUCTION

TD n 10 : Ma première Base de Données

Quelques éléments de compilation en C et makefiles

Le Langage De Description De Données(LDD)

OASIS Date de publication

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Année Universitaire 2009/2010 Session 2 de Printemps

1 Introduction. 2 Le modèle relationnel. 3 Algèbre relationnelle 4 SQL. 5 Organisation physique des données 1/228

Bases de données - Modèle relationnel

I4 : Bases de Données

1. Introduction Création d'une requête...2

Techniques d optimisation des requêtes dans les data warehouses

Cours 1 : Qu est-ce que la programmation?

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel Toulouse Cedex 7

TP Bases de données réparties

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

PHP 5. La base de données MySql. A. Belaïd 1

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Fondements de l informatique Logique, modèles, et calculs

Cours de Probabilités et de Statistique

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Cours SGBD 1. Concepts et langages des Bases de Données Relationnelles

Introduction aux Bases de Données

Créer le schéma relationnel d une base de données ACCESS

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

Introduction aux Bases de Données

Bases de données. Chapitre 1. Introduction

IFT2255 : Génie logiciel

Bases de données élémentaires Maude Manouvrier

Bases de données relationnelles

TP 1. Prise en main du langage Python

Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Bases de données réparties: Fragmentation et allocation

Excel avancé. Frédéric Gava (MCF)

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique :

Bases de données déductives

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Conception d une base de données

Compte-rendu de projet de Système de gestion de base de données

Algorithmique et Programmation Fonctionnelle

Entrepôt de données 1. Introduction

CREATION WEB DYNAMIQUE

Systèmes de Gestion de Bases de Données

Classes et Objets en Ocaml.

Cours d Analyse. Fonctions de plusieurs variables

Transcription:

Chapitre 4 : IV. Qu est-ce que l algèbre relationnelle? Une collections d opérations, chacune agissant sur une ou deux relations et produisant une relation en résultat. Un langage pour combiner ces opérations. L algèbre relationnelle est à l origine de SQL. Principales opérations : o Opérations ensemblistes (binaires) o : union o : intersection o X : produit cartésien o : différence o Opérations de base de données o π : projection o σ : sélection o : jointure o ρ : renommage. Union ( ) : o Définition : opération entre deux relations de même schéma qui retourne une relation de même schéma contenant l ensemble des tuples qui appartiennent à au moins une des deux relations. o Type opération: binaire Syntaxe : R S Notation fonctionnelle : Union (R,S) ou OR (R, S) Sémantique : réunit dans une même relation les tuples de R et ceux de S (sans doublons) Schéma : schéma(r S) = schéma(r) = schéma(s) Pré-condition : schéma(r) = schéma(s) : Supposons que nous disposons de 2 tables produit : produit1 et produit2 exprimant le fait que les produits sont stockés dans deux dépôts différents. Question : Lister tous les produits. Réponse : Réaliser l union des deux tables de produit. Responsable du cours : Mohamed Labidi Page 10

Réponse : Réaliser.. des deux tables produit1 et produit2. Intersection ( ) Définition : opération entre deux relations de même schéma qui retourne une relation de même schéma contenant l ensemble des n-uplets qui aux deux relations. Syntaxe : R S Notation fonctionnelle : Inter (R,S) ou INTERSECT (R, S) ou AND (R,S) Sémantique : sélectionne les tuples qui sont à la fois dans R et S Schéma : schéma (R S) = schéma (R) = schéma (S) Pré-condition : schéma(r) = schéma(s) Supposons que nous disposons de 2 tables produit produit1 et produit2 donnant respectivement les produits achetés par le client1 et le client2. Question : Lister tous les produits identiques achetés par les 2 clients. Différence ( ) Définition : opération entre deux relations de même schéma qui retourne une relation de même schéma contenant l ensemble des tuples appartenant à la première et n appartenant pas à la deuxième Remarque : opération non commutative Responsable du cours : Mohamed Labidi Page 11

Syntaxe : R - S Notation fonctionnelle : Diff (R,S), MINUS(R,S) Sémantique : sélectionne les tuples de R qui ne sont pas dans S Schéma : schéma (R - S) = schéma (R) = schéma (S) Pré-condition : schéma (R) = schéma (S) Supposons que nous disposons de 2 tables produit : produit1 et produit2 donnant respectivement les produits achetés par le client1 et le client2 Question : Lister tous les produits achetés par le client1 et non achetés par le client 2. Réponse : Réaliser la entre les deux tables de produit. Produit cartésien (X) Définition : opération entre deux relations n ayant pas d attributs de même nom, qui retourne une relation ayant pour schéma la.. des deux schémas et contenant toutes les concaténations possibles des tuples des deux relations Remarque : opération commutative Syntaxe : R X S Notation fonctionnelle : PROD(R,S) ou PRODUCT(R,S) Sémantique : chaque tuple de R est combiné avec chaque tuple de S Schéma : schéma (R X S) = schéma(r) schéma(s) Pré-condition : R et S n ont pas d attributs de même nom (sinon, renommage des attributs avant de faire le produit). Supposons que nous disposons de 2 tables : produit et client. Question : Lister tous les achats possibles des clients (produits pouvant être achetés par tous les clients). Réponse : Réaliser le.. entre les deux tables produit et client. Responsable du cours : Mohamed Labidi Page 12

Pour simplifier, nous avons réduit le nombre de tuples. Sémantique : les tuples de R avec un nouveau nom de l'attribut Schéma : schéma (ρ [n, m] R) le même schéma que R avec n renommé en m Pré-condition :... Supposons que nous disposons de la table produit. Question : Renommer l attribut LibP par l attribut DésigP. Réponse : Réaliser le renommage de l attribut LibP par l attribut DésigP. Renommage ρ Définition Définition : Le renommage permet de. d une relation pour résoudre des problèmes de compatibilité entre noms d attributs de deux relations opérandes d une opération binaire Type opération: unaire Syntaxe : ρ [ancien_nom : nouveau_nom] R Projection (π) Définition Responsable du cours : Mohamed Labidi Page 13

Opération sur une relation qui retourne une relation dont le schéma est celui de la relation initiale à l exception des attributs non mentionnés en arguments. Remarque : pas de duplication de tuple Type opération: unaire Syntaxe: π [attributs] R attributs: liste l ensemble des attributs de R à conserver dans le résultat. Notation fonctionnelle : R[ ] ou PROJECT(R, A1, A2, An) Sémantique : crée une nouvelle relation. L ensemble des tuples de R réduits aux seuls attributs de la liste spécifiée Schéma: Schéma (résultat) schéma (opérande) Résultat : nombre tuples (résultat) = nombre tuples (opérande) (en comptant les doublons) Supposons que nous disposons de la table produit. Question : Lister toutes les couleurs de produit. Réponse : Il faut réaliser une sur la table produit pour ne garder que l attribut Coul en supprimant les éventuels couleurs en doubles : π [Coul] (Produit1) Sélection (σ) Définition : opération sur une relation qui retourne une relation de même schéma mais avec uniquement les tuples qui vérifient un spécifié en argument (restriction) Avec : conditions simple: <attribut> <comparateur> <attribut> Ou <attribut> <comparateur> <valeur> comparateur : <, >, <=, >=, =, prédicat : combinaison de conditions simples avec NON, OU et ET Type opération: unaire Syntaxe: σ [p] R p: prédicat de sélection (condition de sélection) Notation fonctionnelle : S condition (R) ou RESTRICT(R, condition) ou SELECT(R,condition) Sémantique : crée une nouvelle relation contenant des tuples de R qui satisfont le prédicat p Schéma: Schéma (résultat) = Schéma (opérande) exemple Supposons que nous disposons de la table produit. Question : Lister tous les produits dont le prix unitaire est < 20.000. Réponse : Il faut réaliser une. sur les tuples dont le prix unitaire est < 20.000 : σ [p] Produit avec p=pu < 20.000. Responsable du cours : Mohamed Labidi Page 14

Selection (σ) : Jointure ( ) : But: créer toutes les combinaisons significatives entre tuples de deux relations (le critère de combinaison est explicitement défini en paramètre de l opération) Syntaxe : R [p] S p: prédicat de sélection (condition de jointure) Notation fonctionnelle : Join(R,S,Prédicat) ou R* S (Condition) Sémantique : combine certains tuples qui répondent à une condition Schéma : schéma (R [p] S) = schéma (R) schéma (S) Nous disposons des deux tables : Client et commande. Question : Lister les clients qui ont passé des commandes. Réponse : Equi-jointure avec comme critère : Client.NCli=Commande.NCl Arbres d expression pour l algèbre relationnelle Il est possible de représenter les. de l algèbre relationnelle sous forme d arbre. Les. sont étiquetées par les des relations spécifiques ou des variables représentant des relations. Chaque intérieur est étiqueté par un opérateur, accompagné par son... Application Soit la base de données définie par les tables suivantes : FRS(NUM : N du fournisseur, FNOM : Nom du fournisseur, FVILLE : Sa ville) PROD(PNUM : N du produit, PDES : Désignation, PQTES : Quantité en stock, PCOUL : Couleur du produit) APPRO(AFNUM#, APNUM#, PU : Prix unitaire du produit pour le fournisseur désigné) Q1/ Donner la liste des numéros de fournisseurs qui habitent Sfax. Q2/ Sélectionner les numéros et les noms de tous les fournisseurs. Q3/ Donner les numéros et les noms des fournisseurs qui fournissent le produit 122. Responsable du cours : Mohamed Labidi Page 15