LA MÉTA-BASE ARCHITECTURE ET ADMINISTRATION DES BASES DE DONNÉES 2013-2014 06/10/2014 ORACLE, SQL SERVER, MYSQL ET DB2



Documents pareils
TP Contraintes - Triggers

CHAPITRE 1 ARCHITECTURE

Bases de Données relationnelles et leurs systèmes de Gestion

Le langage SQL (première partie) c Olivier Caron

Historisation des données

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Bases de données cours 1

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

1/ Présentation de SQL Server :

Partie 0 : Gestion des tablespace et des utilisateurs... 3

INSIA Bases de données ORACLE Installation SQL*Plus SQL-Developer

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Langage SQL : créer et interroger une base

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Présentation du module Base de données spatio-temporelles

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Structure fonctionnelle d un SGBD

Bases de données relationnelles

Chapitre 10. Architectures des systèmes de gestion de bases de données

Information utiles. webpage : Google+ : digiusto/

Auto-évaluation Oracle: cours de base

Gestion de base de données

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

SQL Historique

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

OpenPaaS Le réseau social d'entreprise

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Olivier Mondet

Développement de base de données Microsoft SQL Server Durée : 5 jours Référence : DPSQL12. Contenu

Intégrité des données

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Cours Bases de données 2ème année IUT

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Création et Gestion des tables

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Java DataBaseConnectivity

Chapitre III Architecture de Base de Données Oracle

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Data Tier Application avec SQL Server 2008 R2

Bases de Données. Plan

Le Langage SQL version Oracle

2 Serveurs OLAP et introduction au Data Mining

Les bases de données Page 1 / 8

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

1 Introduction et installation

Administration des bases de données. Jean-Yves Antoine

CHAPITRE 1. Introduction aux bases de données

Implémentation des SGBD

I4 : Bases de Données

Bases de données avancées Introduction

TP3 : Creation de tables 1 seance

PDO : PHP Data Object 1/13

Notes de cours : bases de données distribuées et repliquées

PROJET Site Drupal Informationsgeographiques.onema.fr

FileMaker 13. Guide ODBC et JDBC

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

I. MySQL : Serveur et SGBD

Le Langage De Description De Données(LDD)

Compte Rendu d intégration d application

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

Bases de données - Modèle relationnel

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Cours: Administration d'une Base de Données

Bases de données et sites WEB Licence d informatique LI345

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Intégrité sémantique dans les bases de données relationnelles

CREATION WEB DYNAMIQUE

CATALOGUE FORMATIONS DOMAINE Bases de données

//////////////////////////////////////////////////////////////////// Administration bases de données

Bases de Données Avancées

TP11 - Administration/Tuning

PHP 5. La base de données MySql. A. Belaïd 1

Les déclencheurs. Version 1.0. Grégory CASANOVA

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

TP Bases de données réparties

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Introduction au Système de Gestion de Base de Données et aux Base de Données

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Installation d'un serveur FTP géré par une base de données MySQL

A QUOI SERVENT LES BASES DE DONNÉES?

Bases de données et sites WEB

Introduction aux Bases de Données Relationnelles Conclusion - 1

Bases de données Outils de gestion

Licence Professionnelle Commerce Electronique. MySQL. Michel DUBOIS Michel Dubois : Support de cours SGBD N 1

Les bases de données

Transcription:

2 Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique ARCHITECTURE ET ADMINISTRATION DES BASES DE DONNÉES 2013-2014 RESPONSABLES M. KAMEL BOUKHALFA (SII) MME Z. ALIMAZIGHI (MIL) LA MÉTA-BASE (LES CATALOGUES) ORACLE, SQL SERVER, MYSQL ET DB2 1

3 4 PLAN Un peu de théorie Dictionnaire de données Oracle Les catalogues système de SQL SERVER Catalogues de MySQL Catalogues de DB2 d IBM Conclusion Bibliographie RAPPEL Administrateur Utilisateur Applications Requêtes DDL Requêtes Interactives Programmes Pré-Compilateur Compilateur du langage de Prog. Compilateur DDL Compilateur de Requêtes Commandes DML Compilateur DML Transactions Compilées Méta-base Gestionnaire des données Processeur de BD Exécute BD Module de contrôle des accès concurrents Module de Restauration et de recouvrement 2

5 6 UN PEU DE THÉORIE Une base de données contient des relations de base, des chemins d accès et des vues. Le SGBD, pour fonctionner et assurer ses objectifs doit pouvoir retrouver les différentes informations sur ces catégories d information. CATALOGUES Les catalogues sont des relations (tables). Ces relations contiennent des informations sur tous les objets de la base de données. Sans ces informations le SGBD ne peut pas assurer ses objectifs. PRINCIPAUX CATALOGUES La relation RELATION : Chacun de ses tuples décrit une relation de la base. La relation ATTRIBUT: chacun de ses tuples décrit un attribut d une relation de la base La relation INDEX: chacun de ses tuples décrit une relation index crée sur une relation de base ou système. La relation VUE: chacun de ses tuples décrit une vue de la base. La relation AUTORISATION: chacun de ses tuples décrit un utilisateur avec les droits qui lui sont accordés sur chaque objet de la base(lecteur/écriture/modification ) 3

7 8 RELATION Chaque tuple est un descripteur d une relation dans la base de donnée. Informations incluses : Nom de la relation Type de la relation Taille Cardinalité Date de création, Adresse du premier attribut Nom relation (nom externe) Type relation Ident relation (nom interne) Taille tuple (nbre octets) Cardinalité (nombre tuples) Degré (nombre attributs) Date création Version Relation système 1 100 50 09 25/03/02 1 @ Fournisseur Base 10 110 1000 04 25/03/02 1 @ Adresse 1 er attribut ATTRIBUT Chaque tuple décrit un attribut d une relation de la base Informations incluses : Nom de l attribut Identificateur attribut Identificateur relation Type attribut longueur Position de l attribut dans la table Nom attribut (nom externe) Identificateur attribut Identificateur relation Type attribut longueur Position attribut dans la relation Numf 11 02 Integer 06 01 Nomf 12 02 Char 10 02 4

9 10 INDEX Chaque tuple décrit UN index cré sur une relation de base ou système Informations incluses : Nom de l index Identificateur de la relation indexée Type de l index Attributs indexés Nom index Identification relation Type (primaire, secondaire) Liste arguments index XFOUR 02 P Numf XSFOUR 02 S villef VUE Chaque tuple décrit une vue créée sur la base. Informations incluses : Identificateur de la vue Identificateurs des relations de base utilisées par la vue Requête définissant la vue Identificateur(s) des relations de base Identificateur de la vue Requête qui définit la vue 02 100 Select * from fournisseur where villef = Tunis 5

11 12 CATALOGUES - SGBD Les catalogues dépendent du SGBD Chaque SGBD possède une spécificité D autres catalogues peuvent exister Les structures des catalogues peuvent être différentes selon les SGBDs. ORACLE 6

13 14 LE DICTIONNAIRE DE DONNÉES ORACLE Organisé comme une base de données (ensemble de tables) La plupart de ses tables ne sont pas modifiables par les utilisateurs(seul l administrateur de la base système, a accès à ces dernières). Le contenu de ces tables est accessible par l intermédiaire des vues. CLASSEMENT DE VUES DE DICTIONNAIRE DE DONNÉES USER_XXX décrit les objets appartenant à l utilisateur connecté ALL_XXX : décrit les objets accessibles à tous les utilisateurs DBA_XXX : décrit tous les objets (vues autorisées aux administrateurs de la base seulement ) V$_XXX : pour le suivi des performances 7

15 16 QUELQUES VUES DE DICTIONNAIRE D ORACLE Nom de la vue contenu Vues permettant de consulter le dictionnaire de données tables et vues crées par l utilisateur Tables et vues sur lesquelles l utilisateur a des droits (lecture, écriture, modification ) Colonnes de chaque table ou vue crée par l utilisateur courant Vues crées par l utilisateur Indexes crées par l utilisateur ou indexant des tables crées par l utilisateur Objets sur lesquels l utilisateur est propriétaire, donneur ou receveur d autorisation Définition de contraintes pour les tables d utilisateur REQUÊTES UTILES DESCRIBE table/vue pour avoir tous les attributs de cette table ou vue select comments from DICT where table_name= nom d une vue de dictionnaire de données Utiliser l attribut comments de la vue DICTIONARY pour connaitre le contenu de la vue. 8

17 18 QUELQUES EXEMPLES Structure d une table SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION TABLE_NAME = INSTALLER ; FROM USER_TAB_COLUMNS WHERE COLUMN_NAME DATA_TYPE DATA_LENGTH DATA_PRECISION ------------ ---------------------------- ----------- ------------------------------------------------------------------------ NPOSTE VARCHAR2 7 NLOG VARCHAR2 5 NUMINS NUMBER 22 5 DATEINS DATE 7 DELAI INTERVAL DAY(5) TO SECOND(2) 11 5 Tous les Objets d un schéma SELECT OBJECT_NAME, OBJECT_TYPE, CREATED FROM USER_OBJECTS; OBJECT_NAME OBJECT_TYPE CREATED ------------------------------ ------------------ ------- ------- ------- ------- ACCES_SECURISE PACKAGE 03/09/03 ACCES_SECURISE PACKAGE BODY 03/09/03 AFFICHEAVIONS PROCEDURE 03/09/03 Compagnies JAVA CLASS 17/08/03 EFFECTIFSHEURE FUNCTION 16/09/03 ESPIONCONNEXION TRIGGER 16/09/03 PILOTE TABLE 18/09/03 PK_PILOTE INDEX 18/09/03 VUEMULTICOMPPIL VIEW 14/09/03 SQL SERVER 9

19 20 LES CATALOGUES SYSTÈME DE SQL SERVER Un ensemble de vues affichant les métadonnées décrivant les objets dans une instance de SQL Server Les métadonnées ne sont visibles que pour les éléments sécurisables qu'un utilisateur détient ou pour lesquels des autorisations lui ont été accordées. L ACCÈS AUX INFORMATIONS DES CATALOGUES SYSTÈME Affichage catalogue. (la plus recommandée) Vues des schémas d'information. Ensembles de lignes de schémas OLE DB. Fonctions de catalogue ODBC. Fonctions et procédures stockées système. 10

21 22 VUES D AFFICHAGE CATALOGUE OBJETS Sys.objects Vue de catalogue Contenu Contient une ligne pour chaque objet(table sys, table user, contraint check, primary key..) Sys.tables(hérite de sys.objects Toutes les table de la base en cours (définies par l utilisateur ) sys.columns, sys.computed_columns(calculée) sys.foreign_key_column sys.identity_columns sys.foreign_keys sys.foreign_key_columns sys.indexes informations sur toutes les colonnes pour chaque table de la base, les autres vues sont pour des colonnes de type particulier (elles héritent de sys.columns) Informations sur les contraintes de type clé étrangères Information sur les indexes de tables de la base en cours(nom de l index, la table sur laquelle l index est crée) sys.check_constraints, sys.default_constraints, sys.key_constraints Informations sur les différentes contraintes. EXEMPLE DE REQUÊTES Toutes les tables définies par l'utilisateur dans une base de données spécifiée(simple): Use <database_name> go Select * from sys.tables go 11

23 24 MYSQL MYSQL MySQL dispose d'un catalogue système pour l'ensemble des bases de données présentes dans le SGBD. Le nom de cette base, accessible en lecture, est INFORMATION_SCHEMA. Une collection de vues systèmes et non pas de tables physiques. Pour se placer dans le catalogue, il suffit de taper la commande suivante : USE INFORMATION_SCHEMA ; 12

25 26 CATALOGUES ET DICTIONNAIRE DE DONNÉES Les informations concernant les bases sont décrites dans la vue système SCHEMATA. Pour obtenir toutes les informations sur une base de données on utilise l attribut SCHEMA_NAME. SELECT * FROM INFORMATION _SCHEMA. SCHEMATA WHERE SCHEMA _NAME = 'nom _base'; LES TABLES Les métadonnées des tables sont présentes dans la vue système TABLES. Les informations couramment utilisées dans cette vue système sont : TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE TABLE_ROWS DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH AUTO_INCREMENT CREATE_TIME : date et heure de création de la table ; TABLE_COLLATION 13

27 28 LES COLONNES Les métadonnées sur les colonnes (ou champs) sont contenues dans la vue système COLUMNS. Les informations les plus utiles dans cette vue système sont les suivantes : TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT : la valeur par défaut de la colonne ; IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH Etc.. LES INDEX La vue système STATISTICS contient les métadonnées sur les index Une partie de cette information se retrouve dans la vue système décrivant les colonnes. Les informations les plus utiles sont: TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_NAME SEQ_IN_INDEX COLUMN_NAME CARDINALITY INDEX_TYPE 14

29 30 LES CONTRAINTES Pour les informations sur les contraintes d'une table, il faut utiliser la combinaison de deux nouvelles vues systèmes de métadonnées : TABLE_CONSTRAINTS et KEY_COLUMN_USAGE. La première des deux vues fournit principalement le type de la contrainte, alors que la seconde donne les tables et colonnes qui utilisent cette contrainte. EXEMPLE Afficher la liste des clés étrangères d'une table SELECT * FROM INFORMATION _SCHEMA. TABLE _CONSTRAINTS WHERE TABLE _SCHEMA = 'nom _base' AND TABLE _NAME = 'nom _table' AND CONSTRAINT _TYPE = 'FOREIGN KEY'; 15

31 32 LES PROCÉDURES STOCKÉES, FONCTIONS ET DÉCLENCHEURS Utilisation de la vue système ROUTINES Exemple Les informations sur les procédures stockées et fonctions (routines SELECT * FROM INFORMATION_SCHEMA.ROUTINES LES TRIGGERS : Le catalogue fournit, depuis la version 5.0.10 de MySQL, des informations sur les déclencheurs ( triggers). Quelques données contenues dans le dictionnaire TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING DEFINER 16

33 34 LES PRIVILEGES Quatre vues systèmes fournissent des informations sur les privilèges globaux sur un serveur MySQL USER_PRIVILEGES ; SCHEMA_PRIVILEGES ; TABLE_PRIVILEGES ; COLUMN_PRIVILEGES. La vue système USER_PRIVILEGES fournit des informations sur les utilisateurs déclarés. Ces informations sont issues de la table MYSQL.USER. IBM DB2 17

36 DB2 D IBM Gestionnaire de base de données DB2 utilise les informations dans les catalogues tout en servant les requêtes des utilisateurs. SYSCAT Vues sont créés en lecture seule sous le schéma. Stockent les informations nécessaires pour définir la structure logique et physique des objets dans la base de données. SYSSTAT Vues modifiables sous le schéma sysstat. Stockent les statistiques sur les objets base de données qui utilise le gestionnaire de base de données lors du traitement de requêtes des utilisateurs. 35 LES TABLES SYSCAT.TABLES Vue du catalogue contenant des informations sur les objets créés dans une base de données, tels que des tables, des vues, Les informations (champs) couramment utilisées dans cette vue système TABSCHEMA TABNAME TYPE ColCount INDEXID 18

37 38 LES VUES ET LES COLONNES SYSCAT.VIEWS Permet de visualiser une ou plusieurs lignes par vue définie dans une instance de base de données. On peut utiliser cette vue catalogue pour en savoir plus sur les vues. Les informations enregistrées dans cette vue inclut nom de la vue, et la validité de la vue... Les colonnes SYSCAT.COLUMNS Utilisé pour stocker des informations sur les colonnes dans une table. LES INDEX SYSCAT.INDEXES Utilisé pour stocker des informations sur les index définis pour une table donnée. Les informations remarquables dans cette vue système INDSCHEMA INDNAME DEFINER TABSCHEMA TABNAME Colnames UNIQUERULE. 19

39 40 LES DÉCLENCHEURS SYSCAT.TRIGGERS Utilisé pour stocker des informations sur les déclencheurs définis dans une base de données. Informations contenues dans la vue TRIGSCHEMA TRIGNAME DEFINER TABSCHEMA TABNAME TRIGTIME TRIGEVENET GRANULARITE. AUTRES CATALOGUES UTILES SYSCAT.CHECKS - contient des informations sur les contraintes de vérification dans un tableau SYSCAT.COLAUTH - contient des informations sur les droits d'accès des utilisateurs pour une colonne particulière SYSCAT. DATATYPE - contient des informations sur les types de données intégrés et définis par l'utilisateur disponible dans la base de données SYSCAT. DBAUTH - des informations d'autorisation des utilisateurs pour une instance de base de données particulière SYSCAT.IND EXAUTH - Avantages pour les utilisateurs sur un index particulier 20