1 J. PHILIPP d'après G. Gardarin SGBDR : la gestion des vues l 1. Contexte l 2. Vues externes l 3. Interrogation des vues l 4. Mises à jour des vues l.

Slides:



Advertisements
Présentations similaires
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Advertisements

Bases de données : modèlisation et SGBD
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Fonctionnalités des SGBD
TP 3-4 BD21.
Optimisation de Requêtes
Bases de données orientées-objets
INTEGRITE ET BD ACTIVES
LE MODELE RELATIONNEL INVENTE PAR T. CODD (IBM SAN-JOSE)
SGBDR : LA GESTION DES VUES
Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
Optimisation de Requêtes
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
Initiation au système d’information et aux bases de données
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Les contraintes d’integrité
Initiation au système d’information et aux bases de données
Contrôles d'accès aux données
LE LANGAGE SQL Langage de manipulation de données (LMD)
Initiation aux bases de données et à la programmation événementielle
Modélisation E/R des Données
1 Bases de Données Distribuées Chapitre 22, Sections 22.6–22.14.
L’utilisation des bases de données
1 LE LANGAGE DE REQUETES SQL Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
Inventé par T. Codd (IBM Recherche)
Les concepts et les méthodes des bases de données
1. Représentation des informations
Introduction.
Fonctionnalités des SGBD
Le langage de requêtes SQL
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Optimisation de requêtes
INTEGRITE ET BD ACTIVES
 C'est une fenêtre par laquelle les informations d'une table peuvent être visualisées et changées.  C'est une table virtuelle: ◦ elle n'existe pas ◦
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Sélection de colonnes (la projection)
Le modèle relationnel Plan 1. Concepts descriptifs
LE DATA WAREHOUSE.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
21/04/2015© Robert Godin. Tous droits réservés.1 6Gestion des contraintes d’intégrité en SQL n Contrainte d'intégrité statique – respectée pour chacun.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Définition des contraintes Vérification des contraintes Triggers
Initiation aux SGBD Frédéric Gava (MCF)
Data warehouse Motivations et architecture Conception de la BD support
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Les bases de données Séance 8 Jointures.
Le langage SQL.
Séance /10/2004 SGBD - Approches & Principes.
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Cours n°2 Implémentation et exploitation
Introduction Module 1.
Les vues, indexes, séquences.  Qu’est ce qu’une vue 1. Une vue est une vision partielle ou particulière des données d'une ou plusieurs tables de la base.
Le Langage de Manipulation de Données LMD Module 6.
CONCEPTS BD - Synthèse journée 1 :
Cours 11 Entrepôts de données
Bases de données : modèlisation et SGBD Séance 3.
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é.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Langage de manipulation de données (LMD)
Transcription de la présentation:

1 J. PHILIPP d'après G. Gardarin SGBDR : la gestion des vues l 1. Contexte l 2. Vues externes l 3. Interrogation des vues l 4. Mises à jour des vues l 5. Vues multidimensionnelles l 6. Sécurité et autorisations l 7. Conclusion

2 J. PHILIPP d'après G. Gardarin 1. Contexte d'utilisation Plan d'Accès Analyse syntaxique Analyse sémantique Gestion des schémas Modification de requêtes Contrôle d'intégrité Contrôle d'autorisation Ordonnancement Optimisation Elaboration d'un plan Exécution du plan Méthodes d'accès Contrôle de concurrence Atomicité des transactions META-BASE BD ANALYSEUR TRADUCTEUR OPTIMISEUR EXECUTEUR

3 J. PHILIPP d'après G. Gardarin Gestion du schéma l L'ensemble des schémas des BD est géré comme une base de données relationnelles appelée méta-base ou catalogue. l SQL2 normalise les tables de la méta-base (plus précisément des vues de ces tables) SCHEMA TABLES COLONNES CLES CONTRAINTES DOMAINES

4 J. PHILIPP d'après G. Gardarin Méta-base relationnelle l STRUCTURE TYPIQUE DU NOYAU (SQL2)  SCHEMAS (CATALOG, NOMB, Créateur, Caractère_Set, …)  TABLES (CATALOG, NOMB, NOMR, Type, …)  DOMAINS (CATALOG, NOMB,NOMD, Type, Défaut, Contrainte, …)  COLUMNS (CATALOG, NOMB, NOMR, NOMA, Pos, Type, …)  TYPES (CATALOG, NOMB, NOM, MaxL, Precision, …)  CONSTRAINTS (CATALOG, NOMB, NOMC, TypeC, NomR, …)  USERS (NOM, …) l Elle peut être manipulée à partir des outils classiques (SQL).

5 J. PHILIPP d'après G. Gardarin 2. Vues externes l Objectif  Indépendance logique des applications par rapport à la base. l 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. l Problèmes  Efficacité de l'interrogation.  Mise à jour de la base au travers de ses vues.

6 J. PHILIPP d'après G. Gardarin Définition l Vue (View)  Base de données virtuelle dont le schéma et le contenu sont dérivés de la base réelle à partir d'un ensemble de questions. l Une vue est donc un ensemble de relations déduites d'une bases de données, par composition de ses relations. l Par abus de langage, une vue d'une base de données relationnelle est une table virtuelle.

7 J. PHILIPP d'après G. Gardarin Création et destruction l Création d'une vue  CREATE VIEW [ (LISTE D'ATTRIBUT)]  AS  [WITH CHECK OPTION] l 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. l Destruction d'une vue  DROP

8 J. PHILIPP d'après G. Gardarin Exemples : la base des buveurs BUVEURS (NB, NOM, PRENOM, ADRESSE, TYPE) VINS (NV, CRU, REGION, MILLESIME, DEGRE) ABUS (NV, NB, DATE, QUANTITE) l (V 1 ) Les vins de Bordeaux CREATE VIEW VINSBORDEAUX (NV, CRU, MILL, DEGRE) AS SELECT NV, CRU, MILLESIME, DEGRE FROM VINS WHERE REGION = "Bordelais"

9 J. PHILIPP d'après G. Gardarin Exemples (suite) l (V 2 ) Les gros buveurs CREATE VIEW GROSBUVEURS AS SELECT NB, NOM, PRENOM, ADRESSE FROM BUVEURS B, ABUS A WHERE B.NB = A.NB AND A.QUANTITE > 10 l (V 3 ) Les quantités de vins bues par cru CREATE VIEW VINSBUS (CRU, MILL, DEGRE, TOTAL) AS SELECT CRU, MILLESIME, DEGRE, SUM(QUANTITE) FROM VINS V, ABUS A WHERE V.NV = A.NV GROUP BY CRU

10 J. PHILIPP d'après G. Gardarin Exemple : la base des produits VENTES(NUMV, NUMPRO, NUMFOU, DATE, QUANTITE, PRIX) PRODUITS (NUMPRO, NOM, MARQUE, TYPE,PRIX) FOURNISSEURS (NUMFOU, NOM, VILLE, REGION, TEL) l (V 4 ) les ventes documentées CREATE VIEW (NUMV, NOMPRO, MARQUE, NOMFOU, VILLE, REGION, DATE, QUANTITE, PRIX) AS SELECT V.NUMV, P.NOM, P.MARQUE, F.NOM, F.VILLE, F.REGION, V.DATE, V.QUANTITE, V.PRIX FROM VENTES V, PRODUITS P, FOURNISSEURS F WHERE V.NUMPRO=P.NUMRO AND V.NUMFOU=F.NUMFOU

11 J. PHILIPP d'après G. Gardarin 3. INTERROGATION DE VUES l Transparence d'accès pour l'utilisateur identique à celui des tables de la base. l Simplification des requêtes utilisateurs. l Garantie de bonnes performances en architecture client- serveur. l Techniques développées à la fin des années 70  Ingres à l'université de Berkeley,  System R à l'université de San José.

12 J. PHILIPP d'après G. Gardarin Schéma fonctionnel... R1R1 RnRn Base Vue F Réponse Q

13 J. PHILIPP d'après G. Gardarin Modification de questions l Modification de question (Query modification)  Mécanisme consistant à modifier une question du code source en remplaçant certaines vues de la clause FROM par les relations de base de ces vues et en enrichissant les conditions de la clause WHERE pour obtenir un résultat identique à celui de la question initiale. l Peut être effectuée au niveau du code source ou par concaténation d'arbre (Tree concaténation)  Mécanisme consistant à remplacer un noeud pendant dans un arbre relationnel par un autre arbre permettant de calculer le noeud remplacé.

14 J. PHILIPP d'après G. Gardarin Exemple l (1)Question : recherche des gros buveurs de Versailles  SELECT NOM, PRENOM FROM GROSBUVEURS  WHERE ADRESSE LIKE "Versailles". l (2)Définition de vue  CREATE VIEW GROSBUVEURS AS  SELECT NB, NOM, PRENOM, ADRESSE FROM BUVEURS B, ABUS A  WHERE b.NB = a.NB AND A.QUANTITE > 10. l (3)Question modifiée  SELECT NOM, PRENOM FROM BUVEURS B, ABUS A  WHERE B.ADRESSE LIKE "Versailles" AND B.NB = A.NB AND A.QUANTITE > 10.

15 J. PHILIPP d'après G. Gardarin Concaténation d'arbres Vue B.NB, B.NOM, B.PRENOM, B.ADRESSE A.NB B.NB BUVEURS B = ABUS A A.QTE > 10 Vue B.ADRESSE= "Versailles" Question Définition de vue Résultat B.NOM, B.PRENOM

16 J. PHILIPP d'après G. Gardarin 4. MISES A JOUR DE VUES l Vue "mettable à jour" (Updatable view)  Vue comportant suffisamment d'attributs pour permettre un report des mises à jour dans la base sans ambiguïté. l Conditions suffisantes de mise à jour simple  Clés des tables participantes déductibles de la vue.  Vues monotables avec clé de la table.

17 J. PHILIPP d'après G. Gardarin Classification des vues Vues multitables avec clés Vues monotables avec clés Mettable à jour en SQL ( la qualification peut invoquer plusieurs tables) Vue théoriquement mettable à jour Ensemble de toutes les vues

18 J. PHILIPP d'après G. Gardarin l Problème  Des données peuvent manquer dans la vue pour report dans la BD.  Définition d'une stratégie de report cohérente.  L'équation u(V(B)) = V(u'(B)) doit donc être vérifiée, en notant B la base, V le calcul de vue, u la mise à jour sur la vue et u' les mises à jour correspondantes sur la base. Approche théorique Vue Vue' as Question V BD BD' as Question V Mise à jour répercutée u' Mise à jour u

19 J. PHILIPP d'après G. Gardarin 5. VUES MULTIDIMENSIONNELLES l Les besoins  accès à toutes les données,  regroupement des informations disséminées dans différentes bases,  analyse et prise de décision rapide (OLAP). l Exemples d'applications  bancaire : regroupement des informations d'un client l réponse à ses demandes l mailing ciblés pour le marketing  grande distribution : regroupement des informations ventes l produits à succès, l modes, habitudes d'achat, l préférences par secteurs géographiques.

20 J. PHILIPP d'après G. Gardarin Entrepôt de données l Datawarehouse  Ensemble de données historié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. l Trois fonctions essentielles  Collecte de données de base existantes et chargement.  Gestion des données dans l'entrepôt.  Analyse de données pour la prise de décision.

21 J. PHILIPP d'après G. Gardarin Vue concrète et prise de décision l Vue concrète (Concrete view)  Idéale pour modéliser un sous-ensemble de données extrait du datawarehouse et ciblé sur un sujet unique.  C'est une table calculée à partir des tables de la base par une question et matérialisée sur disques par le SGBD. l Exemple : vues concrètes avec agrégats de la table VENTES définie dans l'introduction :  VENTES(NUMV, NUMPRO, NUMFOU, DATE, QUANTITE, PRIX) l Etendue selon les dimensions PRODUITS et FOURNISSEURS par les tables :  PRODUITS (NUMPRO, NOM, MARQUE, TYPE,PRIX)  FOURNISSEURS (NUMFOU, NOM, VILLE, REGION, TEL.)

22 J. PHILIPP d'après G. Gardarin Exemple l Vue des ventes totalisées par produit, fournisseurs, dates CREATE CONCRETE VIEW VENTESPFD (NUMPRO,NUMFOU,DATE,COMPTE,QUANTOT) AS SELECT NUMPRO,NUMFOU,DATE,COUNT(*) AS COMPTE, SUM(QUANTITE) AS QUANTOT FROM VENTES GROUP BY NUMPRO, NUMFOU, DATE l Vue plus compacte (sans fournisseurs) : CREATE CONCRETE VIEW VENTESPD (NUMPRO,DATE,COMPTE,QUANTOT) AS SELECT NUMPRO, DATE,COUNT(*)AS COMPTE,SUM(QUANTITE) AS QUANTOT FROM VENTES GROUP BY NUMPRO, DATE

23 J. PHILIPP d'après G. Gardarin Exemple (suite) l Dérivable de la vue précédente CREATE CONCRETE VIEW VENTESPD (NUMPRO, DATE, COMPTE, QUANTOT) AS SELECT NUMPRO, DATE, SUM(COMPTE) AS COMPTE, SUM(QUANTOT) AS QUANTOT FROM VENTESPFD GROUP BY NUMFOU

24 J. PHILIPP d'après G. Gardarin NUMPRO, NUMFOU, DATE NUMPRO, DATENUMPRO, NUMFOUNUMFOU, DATE NUMPRONUMFOU DATE Le treillis des vues l En OLAP, il est important de garder les vues utiles

25 J. PHILIPP d'après G. Gardarin Problèmes de la mise à jour l La vue peut être distante.  On envoie alors seulement le "différentiel" à savoir les tuples ajoutés et/ou supprimés. l Vue auto-maintenable (Self-maintenable view)  Vue contenant suffisamment d'informations pour être mise à jour à partir des mises à jour des relations de la base, sans accès à ses tuples. l Agrégats auto-maintenable (Self-maintenable aggregate)  Ensemble d'agrégats pouvant être calculés à partir des anciennes valeurs des fonctions d'agrégats et des mises à jour des données de base servant au calcul de la vue.

26 J. PHILIPP d'après G. Gardarin Vue auto-maintenable ? BD BD' F  V V' F'  BD BD' F  V V'   F'  mise à jour  Vue autono-maitenable : une mise à jour  est suffisante pour la mise à jour de la vue. Vue non-auto-maitenable : une mise à jour  n'est pas suffisante pour mettre la vue à jour; il faut en plus les tuples  de la base. mise à jour 

27 J. PHILIPP d'après G. Gardarin Conception d'application OLAP l Quelques règles  Concrétiser les vues multidimensionnelles de base.  Eventuellement concrétiser des vues compactées l permet d'optimiser le « drill-down » l évite les calculs d'agrégats dynamiques  Ne jamais concrétiser des vues non auto-maintenables.

28 J. PHILIPP d'après G. Gardarin 7. CONCLUSION l Des techniques uniformes bien maîtrisées. l Support de l'architecture client/serveur. l Support des datawarehouse et de l'OLAP.