Indépendance données / applications



Documents pareils
LA GESTION DES VUES 1. INTRODUCTION

OBJECTIFS ET ARCHITECTURE DES SGBD

LE LANGAGE SQL2 1. INTRODUCTION

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Systèmes de Gestion de Bases de Données

Les bases de données

TP Bases de données réparties

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

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

Bases de données relationnelles

Les Entrepôts de Données

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

Administration des bases de données. Jean-Yves Antoine

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

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

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

Intégrité des données

Bases de Données. Plan

Le Langage De Description De Données(LDD)

Cours Base de données relationnelles. M. Boughanem, IUP STRI

et les Systèmes Multidimensionnels

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

A QUOI SERVENT LES BASES DE DONNÉES?

Introduction aux Bases de Données

Présentation du module Base de données spatio-temporelles

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Langage SQL : créer et interroger une base

Bases de données et sites WEB

16H Cours / 18H TD / 20H TP

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

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

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

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

Information utiles. webpage : Google+ : digiusto/

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

CHAPITRE 1 ARCHITECTURE

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

INTEGRITE ET BD ACTIVES

Entrepôts de données. NEGRE Elsa Université Paris-Dauphine

Bases de Données Avancées

Le Langage SQL version Oracle

Le langage SQL Rappels

SQL Historique

Bases de données avancées Introduction

Compétences Business Objects

Cours Bases de données 2ème année IUT

Bases de Données Avancées

Master Exploration Informatique des données DataWareHouse

2 Serveurs OLAP et introduction au Data Mining

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 à la B.I. Avec SQL Server 2008

Dossier I Découverte de Base d Open Office

Bases de Données OLAP

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

Introduction aux Bases de Données Relationnelles Conclusion - 1

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

Partie II Cours 3 (suite) : Sécurité de bases de données

Le langage SQL (première partie) c Olivier Caron

INTRODUCTION AU DATA MINING

Bases de données - Modèle relationnel

Intégration de données hétérogènes et réparties. Anne Doucet

Cours Bases de données

Entrepôt de données 1. Introduction

Bases de données multidimensionnelles et mise en œuvre dans Oracle

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

CREATION WEB DYNAMIQUE

Gestion des utilisateurs et de leurs droits

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

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Introduction aux bases de données

Chapitre 10. Architectures des systèmes de gestion de bases de données

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

Rappel sur les bases de données

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

ETL Extract - Transform - Load

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

Workflow/DataWarehouse/DataMining LORIA - Université d automne Informatique décisionnelle - L. Mirtain 1

Bases de données cours 1

Module BDR Master d Informatique (SAR)

Bases de données élémentaires Maude Manouvrier

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Cours: Administration d'une Base de Données

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

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

A QUOI SERVENT LES BASES DE DONNÉES?

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

Chapitre 1 : Introduction aux bases de données

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

La présente publication est protégée par les droits d auteur. Tous droits réservés.

CHAPITRE 1. Introduction aux bases de données

Bases de Données Relationnelles. Le Modèle Relationnel

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Notes de cours : bases de données distribuées et repliquées

Big Data et Graphes : Quelques pistes de recherche

Transcription:

Vues 1/27

Indépendance données / applications Les 3 niveaux d abstraction: Plusieurs vues, un seul schéma conceptuel (logique) et schéma physique. Les vues décrivent comment certains utilisateurs/groupes voient les données. Le schéma conceptuel définit la structure logique des données. Le schéma physique décrit les fichiers et les index utilisés. Vue 1 Vue 2 Vue 3 Schéma conceptuel Schéma physique 2/27

Définition Vue Base de données virtuelle dont le schéma et le contenu sont calculés de la base réelle. Une vue est donc un ensemble de relations déduites d'une bases de données, par composition des relations de la base. Par abus de langage, une vue relationnelle est dite table virtuelle 3/27

Vues (externes) Objectif 1) Indépendance logique des applications par rapport à la base 2) Vues pour la sécurité Moyen Les vues sont des relations virtuelles dont la définition est stockée dans la méta-base. Elles sont interrogées et mises à jour comme des relations normales Avantages/Inconvénients Interrogation efficace Mises à jour à travers les vues 4/27

Création et Destruction Création CREATE VIEW <NOM DE VUE> [ (LISTE D'ATTRIBUT)] AS <QUESTION> [WITH CHECK OPTION] La clause WITH CHECK OPTION permet de spécifier que les tuples de la vue insérés ou mis à jour doivent satisfaire aux conditions de la question Destruction DROP VIEW <nom de vue> 5/27

Exemples BUVEURS (NB, Nom, Prénom, Adresse, Type) VINS (NV, Cru, Région, Millésime, Degré) ABUS (NV, NB, Date, Quantité) (V1) Les vins de Bordeaux : CREATE VIEW vinsbordeaux (nv, cru, mill, degré) AS SELECT nv, cru, millésime, degré FROM vins WHERE Région = "Bordelais"; (V2) Les gros buveurs : CREATE VIEW grosbuveurs AS SELECT nb, nom, prénom, adresse FROM buveurs b, abus a WHERE b.nb = a.nb and a.quantité > 10 (V3) Les quantités de vins bues par cru : CREATE VIEW vinsbus (cru, mill, degré, total) AS SELECT cru, millésime, degré, SUM(quantité) FROM vins v, abus a WHERE v.nv = a.nv GROUP BY Cru 6/27

Interrogation de Vues Transparence pour l'utilisateur manipulées comme des tables de la base Simplifier les requêtes utilisateurs Utiles en architecture client-serveur Base R1 Vue Réponse... Rn 7/27

Techniques d évaluation Réécriture de requête Peut être effectuée au niveau de l expression SQL ou par concaténation d'arbres (plans d exécution) Au niveau SQL, en remplaçant certaines relations virtuelles du FROM par leurs sources et en enrichissant les conditions de la clause WHERE pour obtenir le résultat de la question initiale. Concaténation d'arbre : mécanisme consistant à remplacer un nœud pendant dans un arbre relationnel par un autre arbre calculant le nœud remplacé. 8/27

Concaténation d'arbres Résultat B.NOM, B.PRENOM B.ADRESSE= " Paris" Requête Vue Vue B.NB, B.NOM, B.PRENOM, B.ADRESSE A.NB = B.NB Définition de vue A.QTE > 10 BUVEURS B ABUS A 9/27

Exemple (1) Question SELECT nom, prénom FROM grosbuveurs WHERE adresse LIKE "Paris". (2) Définition de vue CREATE VIEW grosbuveurs AS SELECT nb, nom, prénom, adresse FROM buveurs b, abus a WHERE b.nb = a.nb AND a.quantité > 10. (3) Question modifiée SELECT nom, prénom FROM buveurs b, abus a WHERE b.adresse LIKE " Paris" AND b.nb = a.nb AND a.quantité > 10. 10/27

Exemple SELECT nom, prenom FROM (SELECT nb, nom, prenom, adresse FROM buveurs b, abus a WHERE b.nb = a.nb AND a.quantite > 10) WHERE adresse LIKE "Paris" ; VS. SELECT nom, prenom FROM buveurs b, abus a WHERE b.adresse LIKE " Paris" AND b.nb = a.nb AND a.quantite > 10; Sont elles équivalentes? 11/27

Éliminer l imbrication du FROM (semantique «bag» vs semantique «set» ) Set/set SELECT DISTINCT a,b,c FROM (SELECT DISTINCT u,v FROM R,S WHERE ), T WHERE... Devient SELECT DISTINCT a,b,c FROM R, S, T WHERE... 12/27

Éliminer l imbrication du FROM (semantique «bag» vs semantique «set» ) Set/Bag SELECT DISTINCT a,b,c FROM (SELECT u,v FROM R,S WHERE ), T WHERE... Devient SELECT DISTINCT a,b,c FROM R, S, T WHERE... 13/27

Éliminer l imbrication du FROM (semantique «bag» vs semantique «set» ) Bag/Bag SELECT a,b,c FROM (SELECT u,v FROM R,S WHERE ), T WHERE... Devient SELECT a,b,c FROM R, S, T WHERE... 14/27

Éliminer l imbrication du FROM (semantique «bag» vs semantique «set» ) Bag/Set SELECT a,b,c FROM (SELECT DISTINCT u,v FROM R,S WHERE ), T WHERE... Ne peut pas être transformé dans un seul select-from-where! 15/27

Partitionnement des données Parfois les données d une base sont partitionnées: Horizontale: ex., projection sur certains attributs utile quand certains attributs sont volumineux ou utilisés rarement dans les bases de données reparties Une vue avec jointures peut donner la vision d ensemble Verticale: sélection sur certaines valeurs (ClientsParis, ClientsLyon) Une vue avec union peut donner la vision d ensemble 16/27

Vues pour la sécurité Compte(Nom, Type, Solde) Bob n a pas le droit d accéder à l attribut solde. CREATE View CompteInfo AS SELECT nom, type FROM Compte; Bob ne peut pas interroger Compte, peut interroger CompteInfo. 17/27

Mises à jour de vues Vue mettable à jour Vue comportant suffisamment d'information pour permettre un report des mises à jour dans la base sans ambiguïté. Conditions nécessaire Clés des tables participantes déductibles de la vue 18/27

Exemple VINS (NV, Cru, Région, Millésime, Degré) CREATE VIEW vinsbordeaux AS SELECT nv, millésime FROM vins WHERE Région = "Bordeaux" INSERT INTO vinsbordeaux values ( 543, 2001 ) INSERT INTO vins values( 543, NULL, "Bordeaux", NULL, 2001) 19/27

Exemple: Vue non-mettable à jour BUVEURS (NB, Nom, Prénom, Adresse, Type) VENTES (Acheteur, Vendeur, Produit) CREATE VIEW Paris-vue AS SELECT vendeur, produit FROM buveurs, ventes WHERE buveurs.adresse = Paris AND buveurs.nom = ventes.acheteur; INSERT INTO Paris-vue values ( Joe, xyz )? 20/27

Classification Ensemble de toutes les vues Vue théoriquement mettable à jour Vues multi-tables Vues mono-tables avec clés Mettable à jour en SQL ( la qualification peut invoquer plusieurs tables) avec clés 21/27

Principe Problème Il peut manquer des données dans la vue pour effectuer le report dans la BD Comment définir une stratégie de report cohérente? Vue Mise à jour m Vue' as Question V as Question V BD Mise à jour répercutée m BD' La mise à jour sur le contenu de la vue doit correspondre au contenu de la vue après le report de la mise à jour sur la BD. 22/27

With Check Option CREATE VIEW vinsbordeaux AS SELECT nv, région FROM vins WHERE Région = "Bordelais" UPDATE vinsbordeaux SET région= "Alsace"? CREATE VIEW vinsbordeaux AS SELECT nv, région FROM vins WHERE Région = "Bordelais" WITH CHECK OPTION 23/27

Exemple de besoin de vues Besoin des entreprises accéder à toutes les données de l entreprise regrouper les informations disséminées dans les bases analyser et prendre des décisions rapidement (OLAP) Exemples d'applications concernées bancaire : regrouper les infos sur un client réponse à ses demandes mailing ciblés pour le marketing grande distribution : regrouper les infos ventes produits à succès modes, habitudes d achat préférences par secteurs géographiques 24/27

Entrepôt de données DataWarehouse Ensemble de données historisées variant dans le temps, organisé par sujets, consolidé dans une base de données unique, géré dans un environnement de stockage particulier, aidant à la prise de décision dans l entreprise. Trois fonctions essentiels : collecte de données de bases existantes et chargement gestion des données dans l entrepôt analyse de données pour la prise de décision Vue matérialisée (concrète) : idéale pour modéliser un sous-ensemble de données extrait du datawarehouse et ciblé sur un sujet unique 25/27

Vue concrète Vue concrète Table calculée à partir des tables de la base par une question et matérialisée sur disques par le SGBD. Exemple : vues concrètes avec agrégats de la table VENTES(NUMV, NUMPRO, NUMFOU, DATE, QUANTITÉ, PRIX) Etendue selon les dimensions PRODUITS et FOURNISSEURS par les tables : PRODUITS (NUMPRO, NOM, MARQUE, TYPE, PRIX) FOURNISSEURS (NUMFOU, NOM, VILLE, RÉGION, TEL.) 26/27

Conclusion Deux types de vues, scénarios d applications différents Vues virtuelles Utilisées dans les bases de données Calculées «à la volé», lent à l exécution (runtime) Toujours à jour Vues matérialisées Utilisées dans les entrepôt de données Pre-calculées «offline», rapide à l exécution Peuvent avoir des données «expirées» Les indexes sont des vues matérialisées 27/27