Vous êtes sur la page 1sur 27

SGBDR : LA GESTION DES VUES

1. Contexte 2. Vues externes 3. Interrogation des vues 4. Mises jour des vues 5. Vues multidimensionnelles 6. Scurit et autorisations 7. Conclusion

G. Gardarin

1. Contexte
ANALYSEUR
Analyse syntaxique Analyse smantique Gestion des schmas Modification de requtes Contrle d'intgrit Contrle d'autorisation Ordonnancement Optimisation laboration d'un plan Excution du plan Mthodes d'accs Contrle de concurrence Atomicit des transactions

META-BASE

TRADUCTEUR

OPTIMISEUR

Plan d'Accs

EXECUTEUR

BD

G. Gardarin

Gestion du schma

Les schmas des BD sont grs comme une base de donnes relationnelles appele mta-base (ou catalogue)
TABLES

SCHEMA

CONTRAINTES

SQL2 normalise les tables de la mta-base (ou plutt des vues de ces tables)
COLONNES CLES DOMAINES

G. Gardarin

Mta-base relationnelle

STRUCTURE TYPIQUE DU NOYAU (SQL2)


SCHEMAS (CATALOG, NOMB, Crateur,Caractre_Set, ) TABLES (CATALOG, NOMB, NOMR, Type, ) DOMAINS (CATALOG, NOMB,NOMD, Type, Dfaut, 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 manipule via les outils classiques (SQL)

G. Gardarin

2. VUES EXTERNES

Objectif
Indpendance logique des applications par rapport la base

Moyen
Les vues sont des relations virtuelles dont la dfinition est stocke dans la meta-base Elles sont interroges et mises jour comme des relations normales

Problmes
Interrogation efficace Mise jour au travers de vues

G. Gardarin

Dfinition

Vue (View)
Base de donnes virtuelle dont le schma et le contenu sont drivs de la base relle par un ensemble de questions.

Une vue est donc un ensemble de relations dduites d'une bases de donnes, par composition des relations de la base. Par abus de langage, une vue relationnelle est une table virtuelle

G. Gardarin

Cration et Destruction

Cration
CREATE VIEW <NOM DE VUE> [ (LISTE D'ATTRIBUT)] AS <QUESTION> [WITH CHECK OPTION]

La clause WITH CHECK OPTION permet de spcifier que les tuples de la vue insrs ou mis jour doivent satisfaire aux conditions de la question

Destruction
DROP <nom de vue>
G. Gardarin

La base des buveurs


BUVEURS (NB, NOM, PRNOM, ADRESSE, TYPE) VINS (NV, CRU, RGION, MILLESIME, DEGRE) ABUS (NV, NB, DATE, QUANTIT)

(V1) Les vins de Bordeaux :


CREATE VIEW vinsbordeaux (nv, cru, mill, degr) AS SELECT nv, cru, millsime, degr FROM vins WHERE Rgion = "Bordelais"

G. Gardarin

Exemple ...

(V2) Les gros buveurs :


CREATE VIEW grosbuveurs AS SELECT nb, nom, prnom, adresse FROM buveurs b, abus a WHERE b.nb = a.nb and a.quantit > 10

(V3) Les quantits de vins bues par cru :


CREATE VIEW vinsbus (cru, mill, degr, total) AS SELECT cru, millsime, degr, SUM(quantit) FROM vins v, abus a WHERE v.nv = a.nv GROUP BY Cru

G. Gardarin

La base des produits


VENTES(NUMV, NUMPRO, NUMFOU, DATE, QUANTIT, PRIX) PRODUITS (NUMPRO, NOM, MARQUE, TYPE,PRIX) FOURNISSEURS (NUMFOU, NOM, VILLE, RGION, TEL)

(V4) les ventes documentes :


CREATE VIEW ventedoc (numv,nompro,marque,nomfou, ville, rgion, date, quantit, prix) AS SELECT v.numv, p.nom, p.marque, f.nom, f.ville, f.rgion, v.date, v.quantit, v.prix FROM ventes v, produits p, fournisseurs f WHERE v.numpro=p.numro AND v.numfou=f.numfou

G. Gardarin

3. INTERROGATION DE VUES

Transparence pour l'utilisateur


comme des tables de la base

Simplifier les requtes utilisateurs Assurer des performances en client-serveur Techniques dveloppes la fin des annes 70
Ingres Berkeley System R San Jos

G. Gardarin

Schma fonctionnel
Base Vue R1 F Q Rponse

...
Rn

G. Gardarin

Modification de questions

Modification de question (Query modification)


Mcanisme consistant modifier une question au niveau du source en remplaant certaines relations du FROM par leurs sources et en enrichissant les conditions de la clause WHERE pour obtenir le rsultat de la question initiale.

Peut tre effectue au niveau du source ou par concatnation d'arbres Concatnation d'arbre (Tree concatnation)
Mcanisme consistant remplacer un noeud pendant dans un arbre relationnel par un autre arbre calculant le noeud remplac.

G. Gardarin

Exemple

(1) Question
SELECT nom, prnom FROM grosbuveurs WHERE adresse LIKE "versailles".

(2) Dfinition de vue


CREATE VIEW grosbuveurs AS SELECT nb, nom, prnom, adresse FROM buveurs b, abus a WHERE b.nb = a.nb AND a.quantit > 10.

(3) Question modifie


SELECT nom, prnom FROM buveurs b, abus a WHERE b.adresse LIKE "Versailles" AND b.nb = a.nb AND a.quantit > 10.

G. Gardarin

Concatnation d'arbres
Rsultat B.NOM, B.PRENOM B.ADRESSE= "Versailles" Vue Vue Question

B.NB, B.NOM, B.PRENOM, B.ADRESSE

A.NB A.QTE > 10 ABUS A


#

B.NB

Dfinition de vue

BUVEURS B

G. Gardarin

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
Cls des tables participantes dductibles de la vue Vues mono-table avec cl de la table

G. Gardarin

Classification des vues


Ensemble de toutes les vues Vue thoriquement mettable jour Mettable jour en SQL ( la qualification peut invoquer plusieurs tables)

Vues multi-tables Vues mono-tables avec cls avec cls

G. Gardarin

Approche thorique

Problme
Il peut manquer des donnes dans la vue pour reporter dans la BD Comment dfinir une stratgie de report cohrente ?
Vue as Question V Mise jour rpercute u Mise jour u Vue'

as Question V BD'

BD

Lquation u(V(B)) = V(u'(B)) doit donc tre vrifie, 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. G. Gardarin

5. VUES MULTIDIMENSIONNELLES

Besoin des entreprises


accder toutes les donnes de lentreprise regrouper les informations dissmines dans les bases analyser et prendre des dcisions rapidement (OLAP)

Exemples d' applications concernes


bancaire : regrouper les infos dun client

rponse ses demandes mailing cibls pour le marketing produits succs modes, habitudes dachat prfrences par secteurs gographiques
G. Gardarin

grande distribution : regrouper les infos ventes


Entrept de donnes

Datawarehouse
Ensemble de donnes historises variant dans le temps, organis par sujets, consolid dans une base de donnes unique, gr dans un environnement de stockage particulier, aidant la prise de dcision dans lentreprise.

Trois fonctions essentiels :


collecte de donnes de bases existantes et chargement gestion des donnes dans lentrept analyse de donnes pour la prise de dcision

Vue concrte :
idale pour modliser un sous-ensemble de donnes extrait du datawarehouse et cibl sur un sujet unique G. Gardarin

Vue concrte

Vue concrte (Concrete view)


Table calcule partir des tables de la base par une question et matrialise sur disques par le SGBD.

Exemple : vues concrtes avec agrgats de la table VENTES dfinie 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, RGION, TEL.)

G. Gardarin

Exemple

Vue des ventes totalises 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.

Drivable de la vue prcdente :


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

G. Gardarin

Le treillis des vues

En OLAP, il est important de garder les vues utiles


NumPro, NumFou, Date

NumPro, NumFou

NumPro, Date

NumFou, Date

NumPro

NumFou

Date

G. Gardarin

Problme de mise jour

La vue peut tre distante


on envoie seulement le delta les tuples ajouts et les tuples supprims

Vue auto-maintenable (Self-maintenable view)


Vue contenant suffisamment d'information pour tre mise jour partir des mises jour des relations de base, sans accs aux tuples des relations de la base.

Agrgats auto-maintenable (Self-maintenable agg.)


Ensemble d'agrgats pouvant tre calcules partir des anciennes valeurs des fonctions d'agrgats et des mises jour des donnes de base servant au calcul de la vue.

G. Gardarin

Vue auto-maitenable ou non


mise jour D mise jour D

BD V F(D) F(D) V BD

BD q F(D)

V
D F(q ,D)

BD

Vue autono-maitenable : lors dune mise jour D celle-l suffit pour mettre jour la vue

Vue non-auto-maitenable : lors dune mise jour D celle-l ne suffit pas pour mettre jour la vue; il faut en plus les tuples q de la base.
G. Gardarin

Conception d application OLAP

Quelques rgles
concrtiser les vues multidimensionnelles de base ventuellement concrtiser des vues compactes

permet d optimiser le drill-down vite les calculs d agrgats dynamiques

ne jamais concrtiser des vues non auto-maintenables

G. Gardarin

7. CONCLUSION

Des techniques uniformes bien matrises Support de l'architecture client/serveur Support des datawarehouse et de l'OLAP

G. Gardarin

Vous aimerez peut-être aussi