Fonctionnalités des SGBD

Slides:



Advertisements
Présentations similaires
Bases de Données Avancées: Bases de Données Relationnelles
Advertisements

Ispirer Systems Présentation de la Société Copyright (c) Ispirer Systems Ltd. Tous Droits Réservés.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Fonctionnalités des SGBD

Bases de données orientées-objets
Optimisation de Requêtes
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:
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,
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é
LMD: Langage de Manipulation de Données
Développement d’applications web
Contrôles d'accès aux données
L’utilisation des bases de données
Rappel sur les bases de données et le vocabulaire
LE LANGAGE SQL Langage de manipulation de données (LMD)
Initiation aux bases de données et à la programmation événementielle
Systèmes de Gestion de Bases de Données (Relationnelles)
Chap 4 Les bases de données et le modèle relationnel
Bases de données et SGBD relationnels
L’utilisation des bases de données
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Bases de données relationnelles
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.
SYSTEME DE GESTION DE BASES DE DONNEES
1 SQL: Langage de contôle des données Terminale: GSI Professeur: Mme BELLILI.
Les concepts et les méthodes des bases de données
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Les transactions.
Limiter et trier des données
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Introduction.
SQL partie 4. SQL est un langage de protections d'accès Il est possible avec SQL de définir des permissions au niveau des utilisateurs d'une base de données.
Gérer la sécurité des mots de passe et les ressources
Bases de Données Avancées
Le langage de requêtes SQL
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
Présentation Session RPSI
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
Surveiller et résoudre le conflit de verrouillage
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.
Ait Ahmed Madjid Cohen Lior Jaballah Seddik Leborgne Fabien
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Module 4 : Implémentation de l'intégrité des données.
Gérer les rôles.
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
Bases de données : Introduction et Objectifs
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.
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:
Initiation aux SGBD Frédéric Gava (MCF)
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
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
Analyse, élaboration et exploitation d’une Base de Données
Développement d’applications Problèmes relatifs aux BD.
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:

Fonctionnalités des SGBD Georges GARDARIN

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

1. Description des données SQL DDL L'analyseur vérifie la correction des commandes Il stocke le schéma dans la méta-base (catalogue système) Celle-ci est souvent une BD relationnelle Organisation de la méta-base C'est un ensemble de tables décrivant les autres (et elle même) Bases, Tables, Attributs, Domaines, Clés, ... Vues, Contraintes, Index, ... Commandes traitées Create Table, Alter Table, etc.

Noyau de métabase 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, …)

2. Manipulation des Données L'analyseur analyse la requête Analyse syntaxique selon la grammaire SQL Analyse sémantique selon la métabase Traduction en arbre d'algèbre relationnel Syntaxe SQL (rappel) Select <Liste de champs ou de calculs à afficher> From <Liste de relations mises en jeu> Where <Liste de prédicats à satisfaire> Group By <Groupement éventuel sur un ou plusieurs champs> Order By <Tri éventuel sur un ou plusieurs champs> Représenter les arbres algébriques des requêtes suivantes

Exemple de question SQL (1) Nom et description des médicaments de type aspirine Select Nom, Description From Médicaments Where Type = ‘Aspirine’

Exemple de question SQL (2) Patients parisiens ayant effectués une visite le 15 juin Select Patients.Nom, Patients.Prénom From Patients, Visites Where Patients.Id-P = Visites.Id-P and Patients.Ville = ’Paris’ and Visites.Date = ’15 juin’

Exemple de question SQL (3) Dépenses effectuées par patient trié par ordre décroissant Select Patients.Id-P, Patients.Nom, sum(Prix) From Patients, Visites Where Patients.Id-P = Visites.Id-P GroupBy Patients.Id-P, Patients.Nom OrderBy sum(Prix) desc

3. Gestion des vues Les vues permettent d’implémenter l’indépendance logique en permettant de créer des objets virtuels Vue = Question SQL stockée Le SGBD stocke la définition et non le résultat Exemple : la vue des patients parisiens Create View Parisiens as ( Select Nom, Prénom From Patients Where Patients.Ville = ’Paris’ )

Système de gestion de bases de données Gestion des vues Le SGBD transforme la question sur les vues en question sur les relations de base Question Q sur des vues Définition des vues Gestionnaire de Vues Système de gestion de bases de données Question Q’ sur les relations de base

Syntaxe et Exemple CREATE VIEW GROS-BUVEURS (NB, NOM, PRENOM) CREATE VIEW <nom de table> [(<nom de colonne>+)] AS <spécification de question> [WITH CHECK OPTION] La clause "WITH CHECK OPTION" demande la vérification du critère lors des insertions et mises à jour via la vue CREATE VIEW GROS-BUVEURS (NB, NOM, PRENOM) AS SELECT NB, NOM, PRENOM FROM BUVEURS B, ABUS A WHERE B.NB = A.NB AND A.QTE > 100

Modification de questions Résultat B.NOM = "MARTIN" Question Vue Vue B.NB, B.NOM, B.PRENOM A.NB B.NB Définition de vue = A.QTE > 100 BUVEURS B BOIRE A

4. Exécution et Optimisation Traduction automatique des questions déclaratives en programmes procéduraux :  Utilisation de l’algèbre relationnelle Optimisation automatique des questions Utilisation de l’aspect déclaratif de SQL Gestion centralisée des chemins d'accès (index, hachages, …) Techniques d’optimisation poussées Economie de l'astuce des programmeurs milliers d'heures d'écriture et de maintenance de logiciels.

Patients de la ville de Paris Sélection Patients Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John 4 Perry Paule Valenton Patients Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John 4 Perry Paule Valenton s Patients de la ville de Paris

Nom et prénom des patients Projection Patients Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John 4 Perry Paule Valenton Patients Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John 4 Perry Paule Valenton p Nom et prénom des patients

Patients et leurs visites Jointure Patients Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John 4 Perry Paule Valenton Visites Id-D Id-P Id-V Date Prix 1 2 15 juin 250 12 août 180 3 13 juillet 350 4 1 mars Id-P Nom Prénom Ville Id-D Id-V Date Prix 1 Lebeau Jacques Paris 2 12 août 180 Troger Zoe Evry 15 juin 250 3 13 juillet 350 Doe John 4 1 mars Patients et leurs visites

Exemple de plan d’exécution Select Patients.Nom, Patients.Prénom From Patients, Visites Where Patients.Id-P = Visites.Id-P and Patients.Ville = ’Paris’ and Visites.Date = ’15 juin’ s Patients Visites

Plan d’exécution optimisé Visites Patients Patients Visites

5. Intégrité Logique Objectif : Détecter les mises à jour erronées  Contrôle sur les données élémentaires Contrôle de types: ex: Nom alphabétique Contrôle de valeurs: ex: Salaire mensuel entre 5 et 50kf Contrôle sur les relations entre les données Relations entre données élémentaires: Prix de vente > Prix d'achat Relations entre objets: Un électeur doit être inscrit sur une seule liste électorale

Contraintes d’intégrité Avantages : simplification du code des applications sécurité renforcée par l'automatisation mise en commun des contraintes Nécessite : un langage de définition de contraintes d'intégrité la vérification automatique de ces contraintes

Exemples de contrainte Contraintes d’intégrité référentielles Docteurs Id-D Nom Prénom 1 Dupont Pierre 2 Durand Paul 3 Masse Jean …. …….. …… Prescriptions Id-V Ligne Id-M Posologie 1 12 1 par jour 2 5 10 gouttes 8 2 par jour 3 2 gouttes …. ………… Visites Id-D Id-P Id-V Date Prix 1 2 15 juin 250 12 août 180 3 13 juillet 350 4 1 mars

Techniques de contrôle domaine de valeurs vérification à la volée unicité de clé test de non existence dans l'index références inter-tables insertion référençante : test d'existence dans l'index suppression référencée: test de non existence (index ?) assertion logique (quantificateurs, agrégats) très complexe intérêt de gérer des agrégats pré-calculés

6. Intégrité Physique Motivations : Tolérance aux fautes Objectifs : Transaction Failure : Contraintes d'intégrité, Annulation System Failure : Panne de courant, Crash serveur ... Media Failure : Perte du disque Communication Failure : Défaillance du réseau Objectifs : Assurer l'atomicité des transactions Garantir la durabilité des effets des transactions commises Moyens : Journalisation : Mémorisation des états successifs des données Mécanismes de reprise

Transaction Begin CEpargne = CEpargne - 3000 Incohérence possible... Etat cohérent Etat cohérent Begin Commit Transaction Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000 Commit T1

Atomicité et Durabilité Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000 Commit T1  Annuler le débit !! DURABILITE Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000 Commit T1 S’assurer que le virement a été fait ! Panne Crash disque

7. Partage des données BD Accès concurrent aux mêmes données Conflits d’accès !! BD

Système de gestion de bases de données Partage des données Système de gestion de bases de données Technique de base Le SGBD verrouille les données accédées pour l'utilisateur Il relâche les verrous en fin de transaction Distinction verrou en lecture et en écriture - Compatibilité lecture-lecture BD

8. Confidentialité Objectif : Protéger les données de la BD contre des accès non autorisés Deux niveaux : Connexion restreinte aux usagers répertoriés (mot de passe) Privilèges d'accès aux objets de la base Usagers : Usager ou groupe d’usagers Objets : Relation, Vue, autres objets (procédures, etc.)

Puissance des droits SGBD Employés (intranet) Public (internet) Service des ressources humaines Id-E Nom Prénom Poste 1 Ricks Jim 5485 2 Trock Jack 1254 3 Lerich Zoe 5489 4 Doe Joe 4049 Nombre d’employés Masse Salariale 4 890 Id-E Nom Prénom Poste Adresse Ville Salaire 1 Ricks Jim 5485 ………. Paris 230 2 Trock Jack 1254 Versailles 120 3 Lerich Zoe 5489 Chartres 380 4 Doe Joe 4049 160

Commandes de SQL Attribuer autorisation Retirer autorisations Remarque GRANT <DROITS> ON <RELATION> TO (<SUJET>) [WITH GRANT OPTION] <DROITS > ::= ALL | [<OPERATION>]… <OPERATION> ::= SELECT| INSERT| DELETE | UPDATE | ALTER Retirer autorisations REVOKE <DROITS> ON <RELATION> FROM (<SUJET>) Remarque REVOKE DOIT RETIRER AUSSI LES DROITS TRANSMIS

9. Principaux SGBD Les SGBD mettrent en œuvre des techniques similaires Aujourd’hui 3 leaders : Oracle, IBM, Microsoft Développements vers le e-business Site Web dynamiques Commerce électronique BtoC Commerce électronique BtoB Support des documents (XML) ...

Principaux SGBD Les grands SGBD Les open sources Les SGBD personnels Oracle IBM DB2 Microsoft SQL Server Sybase SQL Server Ingres Informix Les open sources MySQL PostgreSQL Les SGBD personnels Borland Paradox Filemaker Interbase Microsoft Access Microsoft FoxPro Les SGBD objets Objectivity Object Store Versant O2

Le marché des SGBD Parts de marché Source: Dataquest