Vous êtes sur la page 1sur 9

09 Avril 2004

Université Paris Dauphine -Maîtrise MIAGE Apprentissage Examen BDR

Temps indicatif : 1h30

Tous les documents sont autorisés. L’échange de tout document durant l’examen est interdit.

Exercice 1 : Questions de cours – 6 pts

(1.1)

Quels sont les critères d’allocation de fragments à un ensemble de sites ?

(1.2)

Quels sont les avantages et inconvénients de la réplication de données ?

(1.3)

Définir, et souligner la différence entre le parallélisme inter-requêtes et le

(1.4)

parallélisme intra-requêtes? Oracle les offre-t-il? Comment? Dire dans chacun des cas suivants s’il s’agit de requête à distance, requête distribuée, transaction à distance ou transaction distribuée.

de requête à distance, requête distribuée, transaction à distance ou transaction distribuée. -Cas 1- -Cas 2-

-Cas 1-

de requête à distance, requête distribuée, transaction à distance ou transaction distribuée. -Cas 1- -Cas 2-

-Cas 2-

Exercice 2 : Conception + Requêtes BDR, -14 pts

Soit le schéma BD suivant :

Production(NumSérie, composant, modèle, quantité, machine) Vente(NumSérie, lot, client, vendeur, montant) Client(Nom, ville, adresse) Vendeur(Nom, ville, adresse)

L’entreprise possède quatre sites de production, tel que chaque site est responsable de la production d’un composant : Unité Centrale, clavier, écran et cable produits respectivement par les sites Dublin, San José, Zurich et Taiwan. Les points de vente de l’entreprise sont à San José, Zurich et Taiwan. A l’exception des clients de Dublin qui s’adressent au point de vente de Zurich, tous les autres clients s’adressent aux points de vente existant de leurs villes respectives.

Partie I : -6,5 pts 1- Proposer une fragmentation des quatre relations Production, Vente, client et

Vendeur, en justifiant vos choix et précisant le type de fragmentation utilisé.

2- Proposer un schéma BD pour le site de Zurich permettant d’avoir un schéma

global des BDs de chaque ville (Indic. DB links, synonyms …).

Partie II : 1,5 pts/ requête Sachant que la fragmentation est transparente à l’utilisateur, répondre en SQL et proposer un arbre d’exécution qui maximise le parallélisme inter-requêtes et intra- requêtes aux requêtes suivantes, en supposant qu’elles sont émises à partir du site de Zurich, 1- Quelle est la quantité disponible du produit de numéro de série ‘77y6878’. 2- Quels sont les clients qui ont acheté un lot du distributeur ‘Wong’, qui a un bureau à Taiwan. 3- Quelles sont les machines utilisées pour la production des claviers vendus au client Brown’. 4- La somme des quantités de produits par composant et modèle. 5- Mettre à jour l’adresse du revendeur ‘Brown’ qui habitait avant au ’27 Church St.’ et a déménagé au ’43 Pack Hoi St .’ à Taiwan.

Bonne Chance

-Rim Moussa

Exercice 10.1 du livre de P. Atzeni, S. Ceri, S. Parabooschi, R. Torlone, Database Systems, :

Concepts, Languages & Architectures, Mc Graw Hill 1999.

02 Juin 2004

Université Paris Dauphine Formation Continue Examen BDR

Temps indicatif : 1h30

Tous les documents sont autorisés. L’échange de tout document durant l’examen est interdit.

Exercice 1 : Questions de cours – 10 pts

(1.1)

Quels sont les avantages et inconvénients de la réplication de données?

(1.2)

Quels sont les critères de sélection des requêtes à partir desquelles on établit un schéma de fragmentation et un schéma d’allocation?

(1.3) Quels sont les différents modes de rafraîchissement des Snaphots et des Materialized Views sous Oracle ? Dans-quelles conditions on pourrait utiliser l’un plutôt que l’autre ?

(1.4)

Définir le parallélisme intra-requêtes? Oracle l’offre-t-il? Comment?

(1.5) On souhaite créer un lien BD LienAB (ang. database link) sur une BD Oracle A vers une BD Oracle B. Que doit-t-on savoir sur la BD Oracle B ?

Quels sont parmi ces fichiers ceux qui nous intéressent tnsnames.ora de A,

listener.ora de A,

tnsnames.ora de B, listener.ora de B.

Soient deux relations R1 et R2, on souhaite créer un cluster sur les deux relations. A quel type de requêtes bénéficiera ce cluster ?

(1.7) Les scripts ci-dessous créent un snapshot et une materialized view sous Oracle. Commenter le plan d’exécution la requête suivante dans le cas 1 et dans le cas 2.

(1.6)

Requête :

SELECT count(*) FROM Clients@lienBD WHERE ville = ‘Paris’ ;

CREATE SNAPSHOT ClientsSnap REFRESH FAST START WITH sysdate NEXT sysdate+1 AS SELECT * FROM Clients@lienBD WHERE ville = ‘Paris’;

CREATE MATERIALIZED VIEW ClientsMV REFRESH FAST START WITH sysdate NEXT sysdate+1 ENABLE QUERY REWRITE AS SELECT * FROM Clients@lienBD WHERE ville = ‘Paris’;

- Cas 1

-

- Cas 2 -

Exercice 2: Conception + Requêtes BDR, -10 pts

Soit le schéma BD suivant :

Produit (RefPdt, désignation, prix unitaire, stock) Client (NumClt, Nom, Prenom, date de naissance, adresse, ville) Facture(NumFact, #NumClient, date) LigneFacture(#NumFact, # RefPdt, quantité)

Une société de vente par correspondance souhaite se décentraliser de manière à ce que son bureau à Marseille s’occupe des clients de Marseille, son bureau à Paris s’occupe

Nous supposons que la société possède des bureaux à Paris,

des clients de Paris etc

Marseille, Lille et Toulouse ; et que la relation Produit existe sur tous les sites et dénote le stock en produits de chaque site.

Partie I : -5,5 pts 1- Proposer un schéma de fragmentation des trois relations Client, Facture, LigneFacture, en justifiant vos choix et précisant le type de fragmentation utilisé.

2- Proposer un schéma BD pour le site de Paris permettant d’avoir un schéma global

des BDs de chaque ville (Indic. DB links, synonyms …).

Partie II :

Sachant que la fragmentation est transparente à l’utilisateur, répondre en SQL et

proposer un arbre d’exécution qui maximise le parallélisme intra-requêtes, aux requêtes suivantes, en supposant qu’elles sont émises du site de Paris,

-4,5 pts (1,5 pt/ requête)

1- Quel est le nombre des clients de la société ? 2- Quelle est la moyenne d’age des clients qui ont acheté un gel amincissant le mois dernier ? 3- Quels sont les clients de Paris ou de Marseille, dont le chiffre d’affaire est supérieur à 1000 euros ?

Bonne Chance

-Rim Moussa

Avril 2006

Université 7 Nov. à Carthage Ecole Supérieure de Technologie et d’Informatique Maîtrise en Informatique Examen BDRI

Temps indicatif : 2h

Tous les documents sont autorisés. L’échange de tout document durant l’examen est interdit.

Exercice 1 : Questions de cours – 6 pts

(1.1) Quels sont les critères de choix de requêtes pour élaborer le schéma de fragmentation d’une base de données ? (1.2) 80% du workload d’une BD comporte des requêtes de jointure entre les

(1.3)

(1.4)

deux tables volumineuses Client et Commandes. Recommandez–vous au DBA l’utilisation des cluster comme organisation physique des données? pourquoi? Une requête R, émise du site A, nécessite la jointure entre deux tables : une table sur le site A et une table sur le site B. Sur quel site Oracle exécute la jointure? Quelle est la requête exécutée sur le site B ? Enfin dans quel cas recommandez-vous l’utilisation du hint DRIVING_SITE ? Est-ce que, par défaut, l’auto-commit est à ON ou à OFF dans les pilotes JDBC ?

V I N G _ S I T E ? Est-ce que, par défaut, l’auto-commit est

Exercice 2 : Analyse de Requêtes -4 pts

Que recommande chacune des requêtes suivantes pour la fragmentation horizontale et la fragmentation verticale?

(2.1)

SELECT * FROM client WHERE (ville = ‘tripoli’) ;

(2.2)

SELECT num, nom, prenom FROM client WHERE (sysdate – dateNaiss /365) > 20 ;

Exercice 3 : Réplication -3pts

Une compagnie aérienne sous-traite la vente des billets d’avion à plusieurs agences distribuées géographiquement. Les agences peuvent dépasser leurs quotas de vente de billets (surbooking) et les clients qui se désistent en cas de surbooking sont indemnisés.

Que recommandez-vous à la compagnie:

(3.1)

L’utilisation de Snapshots updateable ou read-only de la table VentesBillets

(3.2)

pour ses agences? Pourquoi ? L’utilisation de Snapshots vieux d’une 1 heure, de 1 jour ou de 3 jours ? justifiez votre choix ?

Exercice 4 : Conception + Requêtes BDR, -7 pts

Soit le schéma BD suivant :

Produit (refPdt, désignation, prix unitaire, stock) Client (numClt, nom, prénom, date de naissance, adresse, ville) Facture(numFact, #client, date) LigneFacture(#facture, #produit, quantité)

La relation Produit est rarement mise à jour. Elle existe sur tous les sites et dénote le stock en produits de chaque site.

80% des requêtes qui s’exécutent sur la table Client sont de ce type : SELECT * FROM client WHERE numClt = ?

Partie I :

Proposer un schéma de fragmentation des trois relations Client, Facture, LigneFacture, en justifiant vos choix et précisant le type de fragmentation utilisé. (Supposer que les données sont réparties entre deux sites)

3 pts

Partie II : 4 pts Sachant que la fragmentation est transparente à l’utilisateur, répondre en SQL et proposer un arbre d’exécution qui maximise le parallélisme inter-requêtes et intra- requêtes aux requêtes suivantes, en supposant qu’elles sont émises à partir d’un seul site.

1. Quels sont les clients (num, nom, prénom) de Tunis qui ont acheté un lecteur mp4.

2. Quel est le nombre total de clients ?

3. Quel est le total des achats du client de numéro 5 ?

Bonne Chance

-Rim Moussa

Université 7 Novembre à Carthage Ecole Supérieure de Technologie et d’Informatique ***

A.U 2006/2007

***

Examen Final

Matière : BD Réparties, BDs sur Internet

Enseignants

: Moussa Rim

Date

: 16/03/2007

Filière / Classe

: Informatique Appliquée (4 ème année)

Durée

: 1h30

Section / Groupe

: A,B,C,D

Documents

: non aut.

Barème

: 7-4-9

Calculatrice

: non aut.

Partie I :

questions de cours (7 pts)

1. Soulignez la différence entre le parallélisme intra requêtes et le parallélisme inter requêtes. (2pts)

2. Quel est l’intérêt de la fragmentation verticale ? justifiez votre réponse. (1,5pts)

3. Enumérez les données nécessaires pour la connexion à une base de données distante? (1,5pts)

4. Comment le pilote JDBC d’Oracle améliore-t-il les performances d’exécution de plusieurs requêtes de mise à jour ? (1pt)

5. Comment le pilote JDBC d’Oracle améliore-t-il les performances d’exécution de la même requête plusieurs fois ? (1pt)

Partie II :

Exercice 1 : Architecture (4 pts)

Les services des municipalités doivent se connecter à un serveur central national pour imprimer les extraits de naissance des citoyens, enregistrer les nouveaux nés, enregistrer les mariages Discutez les avantages et inconvénients de cette architecture C/S et proposez une solution permettant d’améliorer les services rendus par les municipalités.

Exercice 2 : Analyse & exécution de requêtes (9 pts)

Considérons le schéma de la base de données suivant:

Produit (refPdt, désignation, prix unitaire, stock) Client (numClt, nom, prénom, date de naissance, adresse, ville) Facture(numFact, #client, date) LigneFacture(#facture, #produit, quantité)

La base de données est distribuée comme suit,

- La table Client est fragmentée horizontalement sur trois serveurs par hachage sur l’attribut numClt.

- La fragmentation de la table Facture dérive de la fragmentation de la table Client.

-

1 -

- La fragmentation de la table LigneFacture dérive de la fragmentation de la table Facture.

- Le catalogue des produits est répliqué sur tous les serveurs. Cependant l’attribut stock dénote le stock de chaque serveur.

Ci-dessous quelques requêtes du workload :

R1 détermine le stock de l’entreprise en lecteur mp4. R2 calcule le nombre de clients par ville. R3 calcule le total des achats d’un client de numéro n. R4 calcule la moyenne d’age des clients de Tunis. R5 insère une ligne facture (f,p,q) dans la table LigneFacture.

Questions

1. Que recommandent chacune des requêtes R2 et R4 (fragmentation horizontale et verticale) ? (4pts)

2. Proposez un arbre d’exécution maximisant le parallélisme intra requêtes pour chacune des requêtes ci-dessus. (5pts)

- 2 -

Bonne chance

Université 7 Novembre à Carthage Ecole Supérieure de Technologie et d’Informatique ***

A.U 2006/2007

***

Examen de Session de Rattrapage Matière : BD Réparties, BDs sur Internet

Enseignants

: Moussa Rim

Date

: 06/2007

Filière / Classe

: Informatique Appliquée (4 ème année)

Durée

: 1h30

Section / Groupe

: A,B,C,D

Documents

: non aut.

Barème

: 10-10

Calculatrice

: non aut.

Partie I :

Questions de cours (10 pts)

1. Enumérez des avantages et des inconvénients de la distribution des données.

2. Enumérez deux inconvénients et deux avantages de la réplication des données.

3. Quels sont les différents schémas de distribution de données sur des serveurs.

4. Quels sont les critères d’allocation de fragments d’une base de données à des serveurs ?

5. Quelle est la différence entre les classes PreparedStatement et Statement des pilotes JDBC?

Partie II :

Conception, Analyse & exécution de requêtes (10 pts)

Considérons le schéma de la base de données suivant:

Compte (num_cpte, type, solde, #num_clt, #num_ag ) Client (num_clt, nom, prénom, date de naissance, tel, adresse, ville, profession) Agence (num_ag, adresse, ville, fax, tel) Operation (num_op, type, voie, montant, #num_cpte, date_et_heure…) sachant l’attribut type prend deux valeurs crédit et débit, l’attribut voie prend les valeurs suivantes chèque, virement, carte bancaire.

II.1

Conception BDR

La base de données est distribuée en tenant compte que chaque agence souhaite sauver les données de ses clients sur un serveur local. Proposez un schéma de fragmentation des tables Compte, Client, Agence et Opération.

II.2

Analyse & exécution de requêtes

Proposez un arbre d’exécution maximisant le parallélisme intra requêtes pour chacune des requêtes ci-dessous. (les requêtes sont émises à partir d’un serveur S et concernent tous les clients de la banque) R1 détermine les clients qui ont des soldes de comptes épargne supérieurs à une valeur v. R2 détermine la moyenne des opérations de débit par carte bancaire des clients de Tunis. R3 établit un relevé bancaire mensuel pour un client de numéro c.

Bonne chance