Examen Administration BD (Module FMIN363)



Documents pareils
ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Les bases de données

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

Bases de données relationnelles

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

OpenPaaS Le réseau social d'entreprise

Optimisation SQL. Quelques règles de bases

I4 : Bases de Données

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

TP Bases de données réparties

La présente publication est protégée par les droits d auteur. Tous droits réservés.

Bases de Données Avancées

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

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

Information utiles. webpage : Google+ : digiusto/

Rappel sur les bases de données

Bases de données Cours 1 : Généralités sur les bases de données

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

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Les bases de l optimisation SQL avec DB2 for i

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

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

CREATION WEB DYNAMIQUE

1 Modélisation d une base de données pour une société de bourse

Olivier Mondet

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

Dossier I Découverte de Base d Open Office

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

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

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

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

Session S12 Les bases de l optimisation SQL avec DB2 for i

Compte-rendu de projet de Système de gestion de base de données

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Introduction aux SGBDR

TP Contraintes - Triggers

Modèle conceptuel : diagramme entité-association

A QUOI SERVENT LES BASES DE DONNÉES?

Langage SQL : créer et interroger une base

Bases de Données. Plan

Auto-évaluation Oracle: cours de base

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

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

Optimisations des SGBDR. Étude de cas : MySQL

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

IFT3030 Base de données. Chapitre 1 Introduction

Bases de données et sites WEB

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

CATALOGUE FORMATIONS DOMAINE Bases de données

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Administration de Bases de Données : Optimisation

Le langage SQL Rappels

Vincent Augusto

Gestion de base de données

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

SQL Historique

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

UML et les Bases de Données

TP11 - Administration/Tuning

1 Introduction et installation

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Java et les bases de données

Gestion des utilisateurs et de leurs droits

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

Créer le schéma relationnel d une base de données ACCESS

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Conception des bases de données : Modèle Entité-Association

Bases de Données Relationnelles. Le Modèle Relationnel

Objectifs du TP : Initiation à Access

Introduction aux Bases de Données

TP Administration Oracle

Django et PostgreSQL sous la charge

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

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

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

A QUOI SERVENT LES BASES DE DONNÉES?

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Bases de données Outils de gestion

Application web de gestion de comptes en banques

BTS/CGO P10 SYSTEME INFORMATION Année

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Du 10 Fév. au 14 Mars 2014

Structure fonctionnelle d un SGBD

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

16H Cours / 18H TD / 20H TP

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

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

1. Base de données SQLite

PROJET 1 : BASE DE DONNÉES REPARTIES

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

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

Master Exploration Informatique des données DataWareHouse

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Partie II Cours 3 (suite) : Sécurité de bases de données

Bases de Données Avancées

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

Transcription:

Examen Administration BD (Module FMIN363) 1. Optimisation de requêtes (I. Mougenot) Un caviste veut gérer l ensemble des vins référencés au sein de sa cave. L information associée à la cave est volontairement simplifiée. Les vins sont caractérisés par une appellation, un millésime, un nom de domaine, une couleur (blanc, rouge, rosé), un type de vinification (standard, pétillant, crémant, champagne, clairette,...). Les vins sont produits par des domaines viticoles qui sont identifiés par un nom et caractérisés par une région, une adresse postale et un nom de propriétaire. 1.1 Modèle Entité-Association Un modèle entité-association vous est donné ci-dessous : Domaine nom region adresse proprietaire Vin appellation millesime couleur typevinification prix Fig. 1 Modèle Entité-Association Cave à vins Dans le schéma entité-association, Vin est un type d entité faible qui dépend de Domaine. 1.2 Enoncé Schéma Relationnel Les attributs portant les contraintes de clés primaires sont en gras. Les contraintes de clés étrangères vous sont données sous la forme contrainte d inclusion. Les types des attributs vous sont également indiqués. Domaine(nom varchar(30), region varchar(20), adresse varchar(50), proprietaire varchar(20)) Vin (appellation varchar(30), millesime integer, nomdomaine varchar(30), couleur varchar(10), typevinification varchar(20), prix float) avec Vin(nomDomaine) Domaine(nom) A titre d illustration, quelques exemples de tuples des tables Domaine et Vin vous sont donnés : insert into domaine values ( Paul Jaboulet, Hermitage, 26600 Tain-l Hermitage,null); insert into domaine values ( Domaine du Grollet, Charentes, 16130 Segonzac,null); insert into domaine values ( Domaine Vico, Corse, 20218 Ponte-Leccia,null); 1

Mastère IC 2008-2009 2 insert into domaine values ( Cave de Montlouis, Montlouis, 37270 Montlouis-sur-Loire,null); insert into vin values ( Les Choisilles,2006, Cave de Montlouis, rouge, standard,14); insert into vin values ( Le Village,2002, Cave de Montlouis, rose, standard,14); insert into vin values ( La Chapelle Rouge,2005, Paul Jaboulet, rouge, standard,161); insert into vin values ( Domaine de Roure,2005, Paul Jaboulet, rouge, standard,34.50); 1.3 Index Des index uniques sont posés de manière implicite sur les attributs porteurs de contrainte de clé unique. Ces index, créés par le système de manière automatique, portent le même nom que la clé et sont consultables depuis la vue système user indexes. Il vous est possible d ajouter notamment des index secondaires sur les attributs porteurs de contraintes de clés étrangères qui seront souvent impliqués dans des requêtes exprimant des conditions de jointure, afin d améliorer les perfomances d accès aux données. 1. La contraintes de clé primaires Domaine pk a été posée sur l attribut nom de la table Domaine. Un index nommé Domaine pk a donc été automatiquement défini sur l attribut nom. Trois requêtes vous sont données sur la table Domaine. Pour chacune de ces requêtes, vous indiquerez si l optimiseur Oracle exploite l index Domaine pk et vous justifierez en une ou deux lignes votre réponse. select distinct region from domaine select nom from domaine select * from domaine where nom= Paul Jalabert 2. Dans la table Vin, l attribut nomdomaine est porteur d une contrainte de clé étrangère qui référence l attribut nom dans la table Domaine. nomdomaine va être impliqué dans bon nombre des requêtes qui vont porter à la fois sur la table Vin et la table Domaine Donnez l écriture de l ordre SQL de création de l index secondaire nommé nomdomaine idx sur nomdomaine Montrez au travers d un ordre de consultation de la vue système user indexes comment vérifier la création de cet index 1.4 Plan d éxecution Vous allez considérer maintenant les effets potentiels de l index nomdomaine idx. Dans un premier temps, vous avez à traduire une requête en langage naturel sous ses différentes formes SQL, puis ensuite à commenter les plans d exécution générés par l optimiseur pour une de ces ordres SQL, en présence puis en absence de l index. 1. Donner l expression de la requête nom et région des domaines pour lesquels aucun vin rouge n est référencé sous trois écritures SQL différentes : au travers d une différence au travers d un test de non-appartenance (not in) au travers d un test de vacuité (not exists) 2. le plan d exécution ainsi que les statistiques obtenus pour la requête exprimée au travers d un test de vacuité (not exists) vous sont retranscrits en présence de l index nomdomaine idx. Vous expliquerez et commenterez les résultats obtenus Plan d exécution Plan hash value: 1013713737 ------------------------------------- Id Operation Name Rows Bytes Cost (%CPU) Time

Mastère IC 2008-2009 3 ------------------------------------- 0 SELECT STATEMENT 7 280 2 (0) 00:00:01 1 NESTED LOOPS ANTI 7 280 2 (0) 00:00:01 2 INDEX FULL SCAN DOMAINE_PK 16 272 1 (0) 00:00:01 * 3 TABLE ACCESS BY INDEX ROWID VIN 5 115 1 (0) 00:00:01 * 4 INDEX RANGE SCAN NOMDOMAINE_IDX 1 0 (0) 00:00:01 ------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 3 - filter("couleur"= rouge ) 4 - access("domaine"."nom"="vin"."nomdomaine") Statistiques 0 recursive calls 0 db block gets 20 consistent gets 0 physical reads 0 redo size 589 bytes sent via SQL*Net to client 380 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 7 rows processed 3. le plan d exécution ainsi que les statistiques obtenus pour la requête exprimée au travers d un test de vacuité (not exists) vous sont retranscrits en absence (avant création) de l index nomdomaine idx. Vous expliquerez et commenterez les résultats obtenus Plan hash value: 1334474840 ----------------------- Id Operation Name Rows Bytes Cost (%CPU) Time ----------------------- 0 SELECT STATEMENT 7 280 5 (20) 00:00:01 * 1 HASH JOIN ANTI 7 280 5 (20) 00:00:01 2 INDEX FULL SCAN DOMAINE_PK 16 272 1 (0) 00:00:01 * 3 TABLE ACCESS FULL VIN 10 230 3 (0) 00:00:01 ----------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - access("domaine"."nom"="vin"."nomdomaine") 3 - filter("couleur"= rouge ) Statistiques 0 recursive calls 0 db block gets 8 consistent gets 0 physical reads 0 redo size 589 bytes sent via SQL*Net to client

Mastère IC 2008-2009 4 380 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 7 rows processed 2. Objet-Relationnel (I. Mougenot) Un diagramme de classes UML vous est donné. Ce diagramme reprend le même univers modélisé (cave à vins) avec une perception quelque peu différente.un domaine viticole st vu comme une composition de vins, qui constitue en quelque sorte son offre commerciale. Domaine nom region adresse 1.. Vin appellation millesime couleur typevinification prix 2.1 Types de données abstraits Fig. 2 Diagramme de classes Cave à vins A partir de ce diagramme UML, vous donnerez les ordres SQL de création : 1. le type de données vin t qui reprendra les attributs définis au sein de la classe Vin 2. le type de données offredomaine t qui est une collection (table) d instances de type vin t 3. la table domaine o qui reprendra les attributs définis au sein de la classe Domaine ainsi que l information liée à la collection de vins proposée par le domaine. Pour cette dernière information, vous définirez un attribut nommé offre domaine de type complexe offredomaine t au sein de la table domaine o Dans un second temps, vous proposerez deux tuples à l insertion dans la table domaine o en vous aidant des tuples exemples du premier exercice. Dans un troisième temps, vous exprimerez au travers du langage SQL, les requêtes suivantes portant sur la table domaine o : 1. donner pour chaque domaine, son nom, sa région et toutes les informations sur son offre en terme de vins proposés à la vente 2. donner le nom, et la région des domaines viticoles qui proposent des vins à plus de cent euros. 3. Droits et privilèges Usagers (T. Libourel) Le schéma d une base de données destinée à gérer des compétitions de diverses disciplines sportives a été créée et comporte les schémas de relation suivants :

Mastère IC 2008-2009 5 Sportifs(ns,nom,prénom,pays, catégorie,datenais) Ns numéro, nom, prénom, pays, catégorie et date de naissance des sportifs (ns et nom prénom sont clés) Equipes(nequipe,ns) Le sportif de numéro ns appartient à l équipe de numéro nequipe. Inscriptions(ni,nEpreuve) L équipe ou bien le sportif de numéro ni est inscrit à l épreuve nepreuve Epreuves(nEpreuve,nomEpreuve,forme, discipline,catégorie,nbs) L épreuve de numéro nepreuve a le nom nomepreuve, est de forme (individuelle ou par équipe) forme, dans la discipline discipline et dans la catégorie (féminin, masculin) catégorie prévue dans la compétition. Si l attribut nbs est valué, il désigne le nombre de sportifs que doit contenir l équipe engagée dans l epreuve. Resultats(nEpreuve, or, ar,br) L épreuve nepreuve a un gagnant (sportif ou équipe) or, un second (sportif ou équipe) ar, un troisième (sportif ou equipe) br Locataires(ns,nLogement,nomBat) Le sportif ns est dans l appartement nlogement situé dans le bâtiment nombat. Batiments(nombat, numéro,rue, ville) Le bâtiment nombat est situé à l adresse numero, rue, ville. Divers services gèrent les informations de l application. Le service enregistrement (qui comporte divers membres ENR1 à ENR10) gère l enregistrement des sportifs et des équipes de chaque délégation ainsi que la répartition des sportifs dans les logements. Ce service est : Propriétaire des relations Locataires, Batiments, Sportifs, Equipes : il est donc responsable de l insertion et de la modification des données de ces relations Doit pouvoir interroger les noms des epreuves, leur discipline dans lesquelles les sportifs donnés par leur nom et prénom seulement sont engagés Le service Compétitions individuelles (qui comporte divers membres IND1 à IND8) gère les inscriptions et les résultats des compétitions individuelles. Ce service est : Propriétaire des relations Inscriptions, Epreuves : il est donc responsable de l insertion et de la modification des données de ces relations Doit pouvoir insérer des données dans Resultats, Inscriptions ne concernant que des épreuves individuelles Doit pouvoir interroger l adresse du logement, les noms, prénoms et pays des sportifs engagés dans des épreuves individuelles Le service Compétitions par équipes (qui comporte divers membres EQ1 à EQ5) gère les inscriptions et les résultats des compétitions par équipes. Ce service est : Propriétaire des relations Equipes, Resultats ; il est donc responsable de l insertion et de la modification des données de ces relations Doit pouvoir insérer des données dans Resultats, Inscriptions ne concernant que des épreuves par équipes Doit pouvoir interroger l adresse du logement, les noms, prenoms et pays des sportifs engagés dans des épreuves par équipes Les trois services sont coordonnés par l administrateur de la base de données (ADMIN) qui a des droits complets sur la base et qui définit le schéma, la gestion des usagers et leurs droits.

Mastère IC 2008-2009 6 3.1 Questions 1. Donner la description des usagers de la base et de leurs privilèges 2. Description des vues nécessaires au partage de données 3. Quels droits doit donner l administrateur sur les relations et vues aux différents membres (usagers), comment procéder?