SGBDR : LA GESTION DES VUES
description
Transcript of SGBDR : LA GESTION DES VUES
![Page 1: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/1.jpg)
1©Gardarin 2001
SGBDR : LA GESTION DES VUES
1. Contexte2. Vues externes3. Interrogation des vues4. Mises à jour des vues5. Vues multidimensionnelles6. Sécurité et autorisations7. Conclusion
![Page 2: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/2.jpg)
2©Gardarin 2001
1. Contexte
Plan d'Accès
Analyse syntaxiqueAnalyse sémantiqueGestion des schémas
Modification de requêtesContrôle d'intégritéContrôle d'autorisation
OrdonnancementOptimisationÉlaboration d'un plan
Exécution du planMéthodes d'accèsContrôle de concurrenceAtomicité des transactions
META-BASE
BD
ANALYSEUR
TRADUCTEUR
OPTIMISEUR
EXECUTEUR
![Page 3: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/3.jpg)
3©Gardarin 2001
Gestion du schéma
Les schémas des BD sont gérés comme une base de données relationnelles appelée méta-base (ou catalogue)
SQL2 normalise les tables de la méta-base (ou plutôt des vues de ces tables)
SCHEMA
TABLES
COLONNES CLES
CONTRAINTES
DOMAINES
![Page 4: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/4.jpg)
4©Gardarin 2001
Méta-base relationnelle
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, …)
Elle peut être manipulée via les outils classiques (SQL)
![Page 5: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/5.jpg)
5©Gardarin 2001
2. VUES EXTERNES
Objectif• Indépendance logique des applications par rapport
à la base
Moyen• Les vues sont des relations virtuelles dont la
définition est stockée dans la meta-base• Elles sont interrogées et mises à jour comme des
relations normales
Problèmes• Interrogation efficace• Mise à jour au travers de vues
![Page 6: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/6.jpg)
6©Gardarin 2001
Définition
Vue (View)• Base de données virtuelle dont le schéma et le
contenu sont dérivés de la base réelle par un ensemble de questions.
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 une table virtuelle
![Page 7: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/7.jpg)
7©Gardarin 2001
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 <nom de vue>
![Page 8: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/8.jpg)
8©Gardarin 2001
La base des buveurs
BUVEURS (NB, NOM, PRÉNOM, ADRESSE, TYPE)VINS (NV, CRU, RÉGION, MILLESIME, DEGRE)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"
![Page 9: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/9.jpg)
9©Gardarin 2001
Exemple ...
(V2) Les gros buveurs :CREATE VIEW grosbuveurs AS SELECT nb, nom, prénom, adresseFROM 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) ASSELECT cru, millésime, degré, SUM(quantité)FROM vins v, abus aWHERE v.nv = a.nvGROUP BY Cru
![Page 10: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/10.jpg)
10©Gardarin 2001
La base des produitsVENTES(NUMV, NUMPRO, NUMFOU, DATE, QUANTITÉ, PRIX)PRODUITS (NUMPRO, NOM, MARQUE, TYPE,PRIX)FOURNISSEURS (NUMFOU, NOM, VILLE, RÉGION, TEL)
(V4) les ventes documentées :CREATE VIEW ventedoc (numv,nompro,marque,nomfou,
ville, région, date, quantité, prix) ASSELECT v.numv, p.nom, p.marque, f.nom, f.ville,
f.région, v.date, v.quantité, v.prixFROM ventes v, produits p, fournisseurs fWHERE v.numpro=p.numro AND v.numfou=f.numfou
![Page 11: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/11.jpg)
11©Gardarin 2001
3. INTERROGATION DE VUES
Transparence pour l'utilisateur • comme des tables de la base
Simplifier les requêtes utilisateursAssurer des performances en client-serveurTechniques développées à la fin des années
70 • Ingres à Berkeley• System R à San José
![Page 12: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/12.jpg)
12©Gardarin 2001
Schéma fonctionnel
...
R1
Rn
Base
Vue
F
Réponse
Q
![Page 13: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/13.jpg)
13©Gardarin 2001
Modification de questions
Modification de question (Query modification)• Mécanisme consistant à modifier une question au
niveau du source en remplaçant certaines relations du FROM par leurs sources et en enrichissant les conditions de la clause WHERE pour obtenir le résultat de la question initiale.
Peut être effectuée au niveau du source ou par concaténation d'arbres
Concaténation d'arbre (Tree concaténation)• Mécanisme consistant à remplacer un noeud
pendant dans un arbre relationnel par un autre arbre calculant le noeud remplacé.
![Page 14: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/14.jpg)
14©Gardarin 2001
Exemple
(1) Question• SELECT nom, prénom FROM grosbuveurs• WHERE adresse LIKE "versailles".
(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 "Versailles" AND b.nb = a.nb AND
a.quantité > 10.
![Page 15: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/15.jpg)
15©Gardarin 2001
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
![Page 16: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/16.jpg)
16©Gardarin 2001
4. MISES A JOUR DE VUES
Vue mettable à jour (Updatable view)• Vue comportant suffisament d'information pour
permettre un report des mises à jour dans la base sans ambiguité.
Conditions suffisantes• Clés des tables participantes déductibles de la vue• Vues mono-table avec clé de la table
![Page 17: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/17.jpg)
17©Gardarin 2001
Classification des vues
Vues multi-tables
avec clés
Vues mono-tablesavec clés
Mettable à jour en SQL( la qualification peut invoquer
plusieurs tables)
Vue théoriquementmettable à jour
Ensemble de toutes les vues
![Page 18: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/18.jpg)
18©Gardarin 2001
Approche théorique
Mise à jour uVue Vue'
as Question V
BD BD'
as Question V
Mise à jour répercutée u’
Problème• Il peut manquer des données dans la vue pour reporter dans la
BD • Comment définir 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.
![Page 19: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/19.jpg)
19©Gardarin 2001
5. VUES MULTIDIMENSIONNELLES
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 d’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
![Page 20: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/20.jpg)
20©Gardarin 2001
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 concrète :• idéale pour modéliser un sous-ensemble de données
extrait du datawarehouse et ciblé sur un sujet unique
![Page 21: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/21.jpg)
21©Gardarin 2001
Vue concrète
Vue concrète (Concrete view)• 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 définie dans l'introduction :• VENTES(NUMV, NUMPRO, NUMFOU, DATE, QUANTITÉ,
PRIX)étendue selon les dimensions PRODUITS et
FOURNISSEURS par les tables :• PRODUITS (NUMPRO, NOM, MARQUE, TYPE,PRIX)• FOURNISSEURS (NUMFOU, NOM, VILLE, RÉGION, TEL.)
![Page 22: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/22.jpg)
22©Gardarin 2001
Exemple 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(quantité) AS quantot
FROM ventes GROUP BY Numpro, Numfou, Date
Vue plus compacte (sans fournisseurs) : CREATE CONCRETE VIEW ventespd (numpro,date,compte,quantot) AS SELECT numpro, date,COUNT(*)AS compte,SUM(quantité) AS quantot FROM ventes GROUP BY numpro, date.
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 quantotFROM ventespfdGROUP BY numfou
![Page 23: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/23.jpg)
23©Gardarin 2001
NumPro, NumFou, Date
NumPro, DateNumPro, NumFou NumFou, Date
NumPro NumFou Date
Le treillis des vues
En OLAP, il est important de garder les vues utiles
![Page 24: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/24.jpg)
24©Gardarin 2001
Problème de mise à jour
La vue peut être distante• on envoie seulement le « delta »• les tuples ajoutés et les tuples supprimés
Vue auto-maintenable (Self-maintenable view)• Vue contenant suffisamment d'information pour être
mise à jour à partir des mises à jour des relations de base, sans accès aux tuples des relations de la base.
Agrégats auto-maintenable (Self-maintenable agg.)• Ensemble d'agrégats pouvant être calculées à partir des
anciennes valeurs des fonctions d'agrégats et des mises à jour des données de base servant au calcul de la vue.
![Page 25: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/25.jpg)
25©Gardarin 2001
Vue auto-maitenable ou non
BD
BD’
FV
V’
F’
BD
BD’
FV
V’
F’
mise à jour
Vue autono-maitenable : lors d’une mise à jour celle-là suffit pour mettre à jour la vue
Vue non-auto-maitenable : lors d’une mise à jour celle-là ne suffit pas pour mettre à jour la vue; il faut
en plus les tuples de la base.
mise à jour
![Page 26: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/26.jpg)
26©Gardarin 2001
Conception d ’application OLAP
Quelques règles• concrétiser les vues multidimensionnelles de base• éventuellement concrétiser des vues compactées
permet d ’optimiser le « drill-down » évite les calculs d ’agrégats dynamiques
• ne jamais concrétiser des vues non auto-maintenables
![Page 27: SGBDR : LA GESTION DES VUES](https://reader033.fdocuments.fr/reader033/viewer/2022051621/568147b5550346895db4fad4/html5/thumbnails/27.jpg)
27©Gardarin 2001
7. CONCLUSION
Des techniques uniformes bien maîtrisées
Support de l'architecture client/serveur
Support des datawarehouse et de l'OLAP