ExamBDIA NOV 07corrige
Short Description
Download ExamBDIA NOV 07corrige...
Description
NOM :
PRENOM : Université P. et M. Curie – Master d’informatique MODULE BDIA EXAMEN DU 19 NOVEMBRE 2007 Version CORRIGEE, éléments de réponse Documents autorisés
Exercice 1. Entrepôt de données
4 pts
Question 1. Expliquer pourquoi, pour l’intégration de sources d’informations multiples et hétérogènes, la plupart des industriels préfèrent l’approche entrepôts de données à l’approche médiateur. Décrire les situations pour lesquelles l’approche médiateur est préférable.
Réponse : 1pt L’approche entrepôts est préférable pour les décisions et les requêtes fréquentes. L’intégration des données et leur agrégation coûteuses sont effectuées avant l’exécution des requêtes. L’intégration et la condensation des données nécessitent de résoudre des pbs d’hétérogénéité et de sémantique entre différentes sources de données. Si une approche médiateur est utilisée, les requêtes sont traduites et effectuées sur les serveurs de productions,c e qui va entrer en compétition avec les opérations de production au niveau des ressources de ces systèmes. Pa raileurs, ces requêtes vont générer des résultats complexes qu’il faudra fusionner et filtrer. L’approche médiateur est donc moins efficace et plus coûteuse. Pour des requêtes rares, qui utilisent des données récentes, et/ou qui ne nécessitent pas d’agrégations, l’approche médiateur est préférable. Dans ce cas, le coût de construire et de maintenir un entrepôt peut ne pas être justifié ou justifiable. Question 2. On veut construire un entrepôt de données afin de stocker les informations sur les consultations d’un pays. On veut notamment connaître le nombre de consultations, par rapport à différents critères (personnes, médecins, spécialités, etc. Ces informations sont stockées dans les relations suivantes : PERSONNE (id, nom, tel, adresse, sexe) MEDECIN (id, tel, adresse, spécialité) CONSULTATION (id_med, id_pers, date, prix) Proposer un schéma relationnel qui tienne compte de la date, du jour de la semaine, du mois, du trimestre et de l’année. Réponse : Dimension temps (time_key, date, joursemaine, mois, trimestre, annee) Dimension personne (pers_id, nom, tel, adresse, sexe) Dimension medecin (med_id, nom, tel, adresse, sexe, spécialité) Table de faits (med_id, pers_id, time_key, prix, nombre-cons) Question 3. A partir de ce cube, indiquez quelles opérations OLAP (roll ul, drill down, slice, dice) il faut appliquer pour obtenir les informations suivantes : a) le coût total des consultations par médecin en 2005 Réponse : Roll up on temps to annee
NOM :
PRENOM :
Slice annee = 2005 Roll up on * b) le nombre de consultations par jour de la semaine, par spécialité et par sexe du patient réponse : roll up on temps to joursemaine roll up on personne to sex roll up on medecin to specialite c) le coût des consultations par patiente pour les mois d’octobre réponse : roll up on temps to mois roll up on personne to sex roll up * on medecin dice on personne, temps sexe = F and mois = octobre drill down on personnes from sexe to nom
Exercice 2. BD temporelles
3 pts
Soient les deux relations suivantes (vues en cours et en TD) définies en TSQL2 : create table Magasin (NomMag, Budget, Resp_ID) as valid state create table Employés (ID, Nom, NomMag, Salaire) as valid state Question 1. Exprimez en TSQL2 les requêtes suivantes : a) Noms des employés qui sont restés dans le même service tout au long de ces 5 dernières années. (on pourra utiliser la fonction CURRENT_DATE qui renvoie la date du jour). Réponse : 1,5pt Réponse DI. SELECT SNAPSHOT E2.Nom FROM Emp (ID, NomMag) (PERIOD) as E1, E1(Nom) as E2 WHERE CAST (VALID(E1) AS INTERVAL YEAR) >= INTERVAL ‘5’ YEAR AND VALID(E1) MEETS CURRENT_DATE b) Lister toutes les dates comprises entre le 1-1-83 et le 31-12-85 pendant lesquelles le budget du magasin Jouets a changé. Réponse : 1,5pt 8-1-84 SELECT SNAPSHOT BEGIN(VALID(M2) FROM Magasin(NomMag, Budget) as M1, M2 WHERE M1.NomMag=’Jouets’ AND M2. NomMag=’Jouets’ AND END(VALID(M1)) PRECEDES BEGIN(VALID(M2))
NOM :
PRENOM :
AND PERIOD [1-1-83, 31-12-85] CONTAINS PERIOD (END(VALID(M1)), BEGIN(VALID(M2))) AND M1.Budget M2.Budget
Exercice 3. Intégration
3 pts
Une société d’édition se munit d’un système de médiation lui permettant d’intégrer des données provenant de 4 sources désignées par S1, S2, S3 et S4 (voir TD Intégration de données) : Le schéma global de médiation est constitué des 3 relations suivantes : Livres(ISBN, titre, description, catégorie, pages) Inventaire (ISBN, quantité) Critique (titre, appréciation, nbétoiles) Les correspondances avec les sources de données sont définies comme suit : C1. Livres : Sources S1.Livres, S2.Détails, S2.Classification Jointures : S1.Livre.ISBN=S2.Détails.ISBN S1.Livre.ISBN=S2.Classification.ISBN Correspondances : Livres.ISBN=S1.Livre.ISBN Livres.titre= S1.Livre.titre Livres.description= S2.Détails.description Livres.catégorie=S2.Classification.categorie Livres.pages=S2.Détails.pages C2. Inventaire Source S1. Inventaire. Correspondances : Inventaire.ISBN=S1.Inventaire.ISBN) Inventaire.quantite=S1.Inventaire.Quantite La relation Critique est une union de n-uplets provenant des sources S3 et S4. Elle est définie par les deux correspondances C3 et C4 suivantes (Le médiateur dispose d’une table de nomenclature de schéma Nomenclature NB* (notation, nbétoiles)) : C3 Critique Sources S3. Correspondances : Critique.titre=S3.Critique.titre Critique.appreciation=S3.Critique.appreciation Critique.nb-étoiles=NomenclatureNB*.nbétoiles S3.Critique.note=Nomenclature.notation C4 Critique Source S4. FicheLecture Correspondances :
NOM :
PRENOM :
Critique.titre=S4. FicheLecture.titre Critique.appreciation=NULL Critique.nb-étoiles=NomenclatureNB*.nbétoiles S4.FicheLecture.recommandation=NomenclatureNB*.notation Question 1 On veut effectuer sur le schéma global de médiation la requête suivante : Quels sont les livres illustrés dont la description contient le mot 'animaux' et dont la critique contient la phrase 'images excellentes' ? a) Ecrire la requête en SQL. a) Requête R1. SELECT ISBN, Titre From Livres L, Critique C Where L.description LIKE %animaux% AND L.Categorie=’illustre’ AND L.titre = C.titre AND C.appreciation LIKE %images excellentes% b) ) Décrire brièvement les étapes du traitement de cette requête par le médiateur. Indiquer l'ordre des étapes.
On suppose ici que l'accès à la base de la source S2, qui contient les relations Détail (ISBN, pages, description) et Classification (ISBN, catégorie) est restreint aux seules requêtes qui précisent le n° ISBN. (ie., la clause where ISBN=valeur est obligatoire pour toutes les requêtes sur les relations de cette source).
1.Remplacer chaque attribut par ses mappings : Livres.ISBN=S1.Livre.ISBN Livres.titre= S1.Livre.titre Livres.description= S2.Détails.description Livres.catégorie=S2.Classification.categorie Critique.appreciation=S3.Critique.appreciation 2. On a aussi besoin des jointures : S1.Livre.ISBN=S2.Détails.ISBN S1.Livre.ISBN=S2.Classification.ISBN
3. on récupère les données sur les sources : Sur S2, on récupère tous les ISBN dont la description contient animaux et dont la catégorie = illustre. On envoie ces résultats sur S1, et on fait la jointure pour récupérer les titres correspondants.
NOM :
PRENOM :
On envoie les titres sur S3, en récupérant uniquement ceux qui ont une appréciation qui contient images excellentes. 4. On renvoie au médiateur l’ensemble des ISBN et des titres restant après le retour de S3.
View more...
Comments