Langages et Bases de Données



Documents pareils
1 Introduction et installation

Le langage SQL Rappels

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

Langage SQL : créer et interroger une base

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

INTRODUCTION AU DATA MINING

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

Bases de données avancées Introduction

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

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Les bases de données

Bases de données relationnelles

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

Introduction aux Bases de Données

Bases de Données. Plan

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

16H Cours / 18H TD / 20H TP

TP 8: LES OPERATEURS ENSEMBLISTES

Information utiles. webpage : Google+ : digiusto/

Le Langage SQL version Oracle

Bases de données - Modèle relationnel

Bases de données. PTSI Lycée Eiffel. 28 février 2014

Business Intelligence

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

Dossier I Découverte de Base d Open Office

Cours: Les Jointures 1

Vincent Augusto

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

INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles

Business Intelligence avec Excel, Power BI et Office 365

COURS de BASES de DONNEES

Bases de données relationnelles & SQL

Cours de bases de données. Philippe Rigaux

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

TP Bases de données réparties

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

Introduction aux Bases de Données Relationnelles Conclusion - 1

Conception des bases de données : Modèle Entité-Association

A QUOI SERVENT LES BASES DE DONNÉES?

I4 : Bases de Données

Mysql. Les requêtes préparées Prepared statements

Programmes des classes préparatoires aux Grandes Ecoles

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

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

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

Le Langage De Description De Données(LDD)

Introduction : présentation de la Business Intelligence

Introduction à la B.I. Avec SQL Server 2008

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

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

Bases de données cours 1

SQL MAP. Etude d un logiciel SQL Injection

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

Interpréteur d algèbre relationnelle

et les Systèmes Multidimensionnels

A QUOI SERVENT LES BASES DE DONNÉES?

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Formation : WEbMaster

SAP BusinessObjects Web Intelligence (WebI) BI 4

Devenez un véritable développeur web en 3 mois!

Base de Données et Langage SQL

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Systèmes de Gestion de Bases de Données

Architectures d'intégration de données

2.4 Représentation graphique, tableau de Karnaugh

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

CREATION WEB DYNAMIQUE

Évaluation et optimisation de requêtes

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

MODE OPERATOIRE OPENOFFICE BASE

Introduction aux Bases de Données

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

Objectifs du TP : Initiation à Access

Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK

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

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

Présentation du PL/SQL

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

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

Rappel sur les bases de données

Décisionnel. SI Virtualisé. Performant. Cloud. SAP BusinessObjects. Dashboards. Expertise. Succès. Service Reporting. Finance. SaaS. Web 2.0.

Systèmes d information et bases de données (niveau 1)

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Fonctions de plusieurs variables

Administration des bases de données relationnelles Part I

Cours SQL. Base du langage SQL et des bases de données

Les bases de données Page 1 / 8

La rencontre du Big Data et du Cloud

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Introduction à MATLAB R

BD et XML : Exercices

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Bases de Données Avancées

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Concevoir sa stratégie de recherche d information

Transcription:

Langages et Bases de Données Algèbre Relationelle: Rappels V. Benzaken 7 Décembre 2012 1 / 35

Langage de manipulation des données langage de manipulation de données langage de définition de données langage d interrogation (algèbre, SQL) langage de mise à jour 2 / 35

Langages d interrogation interroger = extraire des données langage procédural : quoi? et comment? langage déclaratif : quoi? langage algébrique modèle relationnel théorie des ensembles calculs modèle relationnel logique 3 / 35

Algèbre relationnelle 2 opérateurs unaires : projection, sélection 3 opérateurs binaires : jointure, union, différence opérateurs dérivés : produit cartésien, intersection, division,...) Chaque opérateur définit une application de l ensemble des instances d un schéma de base de données (la source) dans l ensemble des instances d un schéma de relation (la cible). le schéma cible (la structure du résultat) est déterminé par la donnée du schéma source et d un opérateur. 4 / 35

Projection opération unaire opération verticale : supprimer des colonnes d une table. Schéma source : R(V) Soit W un ens. d attributs tels que W V. Syntaxe : L opérateur de projection Π W [R] est une application de l ensemble des instances du schéma source R(V) dans l ensemble des instances du schéma cible Res(W) Sémantique : Π W [R](r)= { u[w] u r } 5 / 35

Projection : exemple Extraire les titres de tous les films : film FILM Titre M-en-S Acteur Speed 2 Jan de Bont S. Bullock Speed 2 Jan de Bont J. Patric Speed 2 Jan de Bont W. Dafoe Marion M. Poirier C. Tetard Marion M. Poirier M-F Pisier Π Titre [FILM] SQL : select Titre from FILM Π Titre [FILM](film) RES Titre Speed 2 Marion 6 / 35

Projection : exemple Extraire les titres des films à l affiche : Π Titre [PROGRAMME] SQL : select Titre from PROGRAMME programme PROG. Nom-Ciné Titre Horaire Français Speed 2 18h00 Français Speed 2 20h00 Français Speed 2 22h00 Français Marion 16h00 Trainon Marion 18h00 Π Titre [PROG.](programme) RES Titre Speed2 Marion 7 / 35

Sélection opération unaire et horizontale : supprimer des lignes d une table en utilisant certains critères (condition). Soit V un ens. d attributs. Une condition élémentaire sur V est : A comp a ou A comp B avec A, B V, a Dom(A), Dom(A)=Dom(B) et comp est un comparateur (=,,...) Une condition sur V est : une condition élémentaire C 1 C 2, C 1 C 2, C 1 8 / 35

Sélection Schéma source R(V). C une condition sur V. Syntaxe : L opérateur de sélection σ C [R] est une application de l ensemble des instances du schéma source R(V) dans l ensemble des instances du schéma cible Res(V) Sémantique : σ C [R](r)= { u u r et u satisfait C} u satisfait C est défini de façon simple. 9 / 35

Sélection : exemple Extraire les informations des films dont le titre est Speed2. σ Titre=Speed2 [FILM] SQL : select * from FILM where Titre = Speed2 film FILM Titre M-en-S Acteur Speed 2 Jan de Bont S. Bullock Speed 2 Jan de Bont J. Patric Speed 2 Jan de Bont W. Dafoe Marion M. Poirier C. Tetard Marion M. Poirier M-F Pisier Marion M. Poirier M. Poirier σ Titre=Speed2 [FILM](film) RES Titre M-en-S Acteur Speed 2 Jan de Bont S. Bullock Speed 2 Jan de Bont J. Patric Speed 2 Jan de Bont W. Dafoe 10 / 35

Sélection : Exemple Extraire les films dont un acteur est le metteur en scène de ce film. σ M e S=Acteur [FILM] SQL : select * from FILM where M-e-s = Acteur film FILM Titre M-en-S Acteur Speed 2 Jan de Bont S. Bullock Speed 2 Jan de Bont J. Patric Speed 2 Jan de Bont W. Dafoe Marion M. Poirier C. Tetard Marion M. Poirier M-F Pisier Marion M. Poirier M. Poirier σ M e S=Acteur [FILM](film) RES Titre M-en-S Acteur Marion M. Poirier M. Poirier 11 / 35

Sélection : exemple Les informations concernant la programmation après 20h00 du film Marion. σ Titre=Marion Horaire 20h00 [PROGRAMME] select * from PROGRAMME where Titre = Marion and Horaire <= 20h00 programme PROGR. Nom-Ciné Titre Horaire Français Speed 2 18h00 Français Speed 2 20h00 UGC Speed 2 22h00 Français Marion 16h00 Trianon Marion 18h00 Trianon Marion 22h00 σ Titre=Marion Horaire 20h00 [PROGRAMME](programme) RES Nom-Ciné Titre Horaire Trianon Marion 22h00 12 / 35

Composition de la projection et de la sélection Obtenir les cinémas qui projètent le film Marion 20h00 avec l horaire exact de la projection. programme sélection σ Titre=Marion Horaire 20h00 [PROGRAMME]programme RES-int Nom-Ciné Titre Horaire Trianon Marion 22h00 projection Π Nom cine,horaire [σ Titre=Marion Horaire 20h00 [PROGRAMME]](programme) RES-final Nom-Ciné Horaire Trianon 22h00 13 / 35

Composition opérateur = application composition opérateurs = composition d applications Une expression algébrique est [R] où R est un schéma sur V attributs du schéma cible = V Π W [E] où W V attributs du schéma cible de E = V attributs du schéma cible = W σ C [E] où C est une condition sur V attributs du schéma cible de E = V attributs du schéma cible = V identité projection sélection 14 / 35

Jointure opération binaire combiner le contenu de deux instances en se servant des valeurs dans les colomnes communes Syntaxe : L opérateur de jointure [R] [S] est une application de l ensemble des couples d instances de R et S dans l ensemble des instances de Res(VW) Sémantique : [R] [S](r,s)= { u u[v] r et u[w] s } 15 / 35

Jointure : Exemple r R A B C a 1 b 1 c 1 a 2 b 1 c 1 a 2 b 2 c 2 a 3 b 2 c 3 s S B C D b 1 c 1 d 1 b 2 c 3 d 3 b 4 c 2 d 1 [R] [S](r,s) [R] [S] A B C D a 1 b 1 c 1 d 1 a 2 b 1 c 1 d 1 a 3 b 2 c 3 d 3 16 / 35

Jointure : Exemple Les cinémas qui projettent un film dans lequel joue M.F Pisier (pour chaque cinéma donner le titre du film et l horaire) Les sous-expressions : σ Acteur=M F.Pisier [FILM] (E) source : FILM cible sur (Titre, M-e-S, Acteur) E [PROG.] sources : cible de E et PROG. cible sur Titre, M-e-S, Acteur, Nom-Ciné, Horaire L expression algébrique : Π Nom Cine,Titre,Horaire [[σ Acteur=M F.Pisier [FILM]] [PROG.]] Autre expression équivalente : [Π Titre [σ Acteur=M F.Pisier [FILM]]] [PROG.] 17 / 35

Jointure : Exemple les films avec leur M-e-S et acteurs dans lesquels joue M-F. Pisier. [Π Titre [σ Acteur=M F.Pisier [FILM]]] [FILM] La sous-requête [Π Titre [σ Acteur=M F.Pisier [FILM]]] extrait les titres des films dans lesquels joue M-F. Pisier. Les titres des films dans lesquels joue M-F. Pisier et qui sont à l affiche Π Titre [ [σ Acteur=M F.Pisier [FILM]] [PROG.]] ou de façon équivalente : [Π Titre [σ Acteur=M F.Pisier [FILM] ]] [Π Titre [PROG]] 18 / 35

Jointure : intersection et produit cartésien R(V) et S(W) sont deux schémas tels que V=W alors [R] [S] est équivalent à [R] [S]. Les titres des films dans lesquels joue M-F. Pisier et qui sont à l affiche [Π Titre [σ Acteur=M F.Pisier [FILM]]] [Π Titre [CINE]] R(V) et S(W) sont deux schémas tels que V W= alors [R] [S] est équivalent [R] [S]. 19 / 35

Jointure et produit cartésien : exemple une instance r R A B a b 1 a b 2 une instance s S A B a b 1 a 2 b 2 l instance [R] [S](r,s) R S A B A B a b 1 a b 1 a b 2 a b 1 a b 1 a 2 b 2 a b 2 a 2 b 2 20 / 35

Renomage les M-e-S qui sont aussi acteurs (mais qui n ont pas nécessairement joué dans un film qu ils ont mis en scène). 1. projeter FILM sur M-e-S RES1(M-e-S) 2. projeter FILM sur Acteur RES2(Acteur) 3. intersection L intersection ne peut pas être exprimée par la jointure car RES1 et RES2 ont des attributs différents. un truc tout simple = renomage des attributs 1bis. renomage de M-e-S par MeSA dans RES1 RES1(MeSA) 2bis. renomage de Acteur par MeSA dans RES2 RES2(MeSA) 3. jointure 21 / 35

Renomage Le renomage peut servir à donner le même nom à des attributs distincts donner des noms distincts Le renomage est spécifié uniquement pour les attributs qui changent de nom. Le renomage ρ de (ABCD) en (AKLD) est défini par ρ(a)=a ρ(b)=k ρ(c)=l ρ(d)=d il est noté ren B K,C L. Les M-e-S qui sont aussi acteurs [ren Acteur MeSA [Π M e S [FILM]]] [ren Acteur MeSA [Π Acteur [FILM]]] Π M e S [FILM] [ren Acteur M e S [Π Acteur [FILM]]] 22 / 35

Renomage : exemple Les films dirigés par au moins deux metteurs en scènes. pas d opération pour compter!!!!!!!!!!!!!!! 1. projetion de FILM sur Titre,M-e-S RES(Titre,M-e-S) 2. ρ 1 M-e-S M1 sur RES RES1(Titre, M1). 3. ρ 2 M-e-S M2 sur RES RES2(Titre, M2). 4. jointure des deux projections renommées : [ρ 1 [Π Titre,M e S [FILM]]] [ρ 2 [Π Titre,M e S [FILM]]] cible de l expression E sur Titre, M1, M2. 5. sélection utilisant la condition M1 M2. σ M1 M2 [E] cible de l expression E sur Titre, M1, M2. 6. projection sur Titre Π Titre [E ] 23 / 35

Union ensembliste (opération binaire) toutes les personnes ayant travaillé sur le tournage du film Marion 1. σ Titre=Marion [FILM] cible de l expression E sur (Titre M-e-S Acteur). 2. Π M e S [E] cible de l expression E1 sur M-e-S. 3. Π Acteur [E] cible de l expression E2 sur Acteur. 4. ren M e S Personne [E1] cible l expression E1 sur Personne. 5. ren Acteur Personne [E1] cible de l expression E2 sur Personne. 6. [ren M e S Personne [Π M e S [σ Titre=Marion [FILM]]]] [ren Acteur Personne [Π Acteur [σ Titre=Marion [FILM]]]] Le schéma cible de l expression porte sur l attribut Personne. 24 / 35

La différence ensembliste (opération binaire) les acteurs qui ne sont pas M-e-S (E1) Projection de FILM sur Acteur : Π Acteur [FILM] (E2) Projection de FILM sur M-e-S : Π M e S [FILM] (E2 ) Renomer dans E2 l attribut M-e-S par Acteur ren M e S Acteur [E2] [Π Acteur [FILM]] [ren M e S Acteur [Π M e S [FILM]]] 25 / 35

Une requête difficile les cinémas qui projettent tous les films de Poirier. instance film instance prog de FILM de PROG. Titre M-e-S Acteur Non-Ciné Titre Horaire Marion Poirier Tetard Trianon Marion 20h00 Marion Poirier Pisier Trianon Marion 22h00 Western Poirier Pisier Trianon Speed2 18h00 Speed2 J. Bont Bullock UGC Speed2 20h00 Speed2 J. Bont Patric Français Marion 18h00 Français Western 20h00 Français Marion 22h00 Français Speed2 16h00 26 / 35

Une requête difficile les films dirigés par Poirier. (E1) Π Titre [σ M e S=Poirier [FILM]] E1(film) res1 Res1 Titre Marion Western 27 / 35

Une requête difficile les cinémas et les films (quelconques) qu ils projettent. (E2) Π Nom cinetitre [PROG.] res2 = E2(prog) Res2 Non-Cine Titre Trianon Marion Trianon Speed2 UGC Speed2 Français Marion Français Western Français Speed2 28 / 35

Une requête difficile créer une relation où tous les films de Poirier sont projetés dans tous les cinémas. (E3) [Π Nom Cine [PROG.]] [Π Titre [E1]] res3= E3(prog,res1) Res3 Non-Cine Titre Trianon Marion Trianon Western UGC Marion UGC Western Français Marion Français Western 29 / 35

Une requête difficile [E3]-[E2] donne pour chaque ciné les fims de Poirier qu il ne projette pas! res4=(res3 res2) Res4 Non-Cine Titre Trianon Western UGC Marion UGC Western 30 / 35

Une requête difficile Les cinémas projettant tous les films de Poirier sont obtenus par : [Π Nom Cine [PROG.]] [Π Nom Cine [[E3]-[E2]] res Res Non-Cine Français 31 / 35