SGBDR : LA GESTION DES VUES

Slides:



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

Introduction Pour concrétiser l’enseignement assisté par ordinateur
Fonctionnalités des SGBD
Le Modèle Logique de Données
R. Saint-Paul, G. Raschia and N. Mouaddib IRIN, Nantes (France)
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)
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:
Initiation aux bases de données et à la programmation événementielle
Sélection automatique d’index et de vues matérialisé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 requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Initiation au système d’information et aux bases de données
LMD: Langage de Manipulation de Données
Développement d’applications web
Contrôles d'accès aux données
le profil UML en temps réel MARTE
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
Gestion 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.
MODELE RELATIONNEL concept mathématique de relation
Universté de la Manouba
Cours N°2 Base de Données & Langage SQL
Inventé par T. Codd (IBM Recherche)
Les concepts et les méthodes des bases de données
Initiation aux bases de données et à la programmation événementielle
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Introduction.
Gérer la sécurité des mots de passe et les ressources
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.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Optimisation de requêtes
INTEGRITE ET BD ACTIVES
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.
Le modèle relationnel Plan 1. Concepts descriptifs
LE DATA WAREHOUSE.
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.
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.
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:
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
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
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.
Cours 11 Entrepôts de données
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.
Transcription de la présentation:

SGBDR : LA GESTION DES VUES 1. Contexte 2. Vues externes 3. Interrogation des vues 4. Mises à jour des vues 5. Vues multidimensionnelles 6. Sécurité et autorisations 7. Conclusion

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

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 CONTRAINTES COLONNES CLES DOMAINES

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)

2. VUES EXTERNES Objectif Moyen Problèmes 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

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

Création et Destruction 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>

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"

Exemple ... (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

La base des produits (V4) les ventes documentées : VENTES(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) AS SELECT v.numv, p.nom, p.marque, f.nom, f.ville, f.région, v.date, v.quantité, v.prix FROM ventes v, produits p, fournisseurs f WHERE v.numpro=p.numro AND v.numfou=f.numfou

3. INTERROGATION DE VUES Transparence pour l'utilisateur comme des tables de la base Simplifier les requêtes utilisateurs Assurer des performances en client-serveur Techniques développées à la fin des années 70 Ingres à Berkeley System R à San José

Schéma fonctionnel Base Réponse Vue R1 Q F ... Rn

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é.

Exemple (1) Question (2) Définition de vue (3) Question modifiée 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.

Concaténation d'arbres Résultat B.NOM, B.PRENOM B.ADRESSE= "Versailles" Question 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

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

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

Approche théorique 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. Mise à jour u Vue Vue' as Question V as Question V Mise à jour répercutée u’ BD BD'

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

Entrepôt de données Datawarehouse Trois fonctions essentiels : 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

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.)

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 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 quantot FROM ventespfd GROUP BY numfou

Le treillis des vues En OLAP, il est important de garder les vues utiles NumPro, NumFou, Date NumPro, NumFou NumPro, Date NumFou, Date Date NumPro NumFou

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.

Vue auto-maitenable ou non mise à jour D mise à jour D BD BD V V q F(D) F(D) D F’(D) F’(q ,D) V’ BD’ BD’ V’ Vue non-auto-maitenable : lors d’une mise à jour D celle-là ne suffit pas pour mettre à jour la vue; il faut en plus les tuples q de la base. Vue autono-maitenable : lors d’une mise à jour D celle-là suffit pour mettre à jour la vue

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

7. CONCLUSION Des techniques uniformes bien maîtrisées Support de l'architecture client/serveur Support des datawarehouse et de l'OLAP