Sie sind auf Seite 1von 3

INF5280-40 BASES DE DONNEES AVANCÉES EXAMEN FINAL Automne 2003

B. Kerhervé, 11 décembre 2003 EXAMEN A LIVRES OUVERTS

PARTIE 1 : QUESTIONS DE COURS

Question 1) Répondez par vrai ou faux

- Dans les SGBD relationnel-objet, le concept d’UDT (User-Defined.Type) a été introduit pour implémenter l’équivalent des identifiants d’objet.

Question 2) Répondez par vrai ou faux

- Dans les SGBD objet le mécanisme de mutation de pointeurs est utilisé pour allouer un identifiant d’objet au moment de la création d’un nouvel objet dans la base

Question 3) - Expliquez en dix lignes maximum quelles sont les différences entre données et métadonnées dans les entrepôts de données.

PARTIE 2 : EXERCICES

Exercice 1) SGBD relationnel-objet

Nous nous intéressons à une base de données relationnelle utilisée pour la gestion des réservations de tables dans les restaurants du Centre d’Achat les Belles Promenades dont le service de réservation est centralisé. Cette base de données comporte les tables suivantes (les clés sont soulignées):

RESTAURANT

(IdResto, NomResto, TypeResto, NbTables, NbTotPers, Etage, Local,

NoTel, HeureOuverture, HeureFermeture )

- Où TypeResto représente le type du restaurant et peut prendre une des valeurs

suivantes : Rapide, Québécois, Italien, Grec, Français, Japonais, Luxe

- NbTables représente le nombre de tables du restaurant ;

- NbTotPers représente le nombre total de personnes que le restaurant peut

accueillir

- Etage représente l’étage où est localisé le restaurant

- Local donne le numéro du local du restaurant

- NoTel donne le numéro de téléphone du restaurant

- HeureOuverture et HeureFermeture les heures de fonctionnement du restaurant

TABLE (IdResto, NoTable, NbPersonnes)

CLIENT (IdClient, Nom, Prénom, NoTéléphone)

RESERVATION (IdClient, IdResto, NoTable, Date, Heure, NbPers)

Une application a été développée afin de d’offrir aux clients la possibilité de faire des réservations à partir d’un site internet. Cette application permet donc de créer, modifier ou supprimer une réservation.

1

Nous nous interrogeons sur l’intérêt de migrer cette base de données relationnelle vers une base de données relationnelle-objet.

Question 4) Selon vous quelles sont les raisons qui pourraient nous mener à effectuer la migration pour cette base de données ? De manière générale, expliquez quand il est intéressant de migrer vers une base de données relationnelle-objet. Vous mettrez en évidence certaines caractéristiques du schéma et de l’application qui peuvent être importantes pour décider de la migration.

Question 5) Nous décidons d’effectuer la migration. Nous commençons donc par transformer le schéma. Pour chacun des concepts suivants de SQL3: DOMAIN, ROW TYPE, REF, ARRAY et l’héritage, vous décrirez s’il est intéressant d’utiliser ce concept et dans quel cas précis.

Question 6) La transformation du schéma est la première étape de la migration. Quelles sont les étapes suivantes nécessaires pour compléter la migration. Vous décrirez chacune des étapes.

Exercice 2) Entrepôts de données

Soit le schéma relationnel d'une base cinématographique se composant des relations suivantes:

FILM (NOFILM, TITRE, DUREE, PAYS, NUMREAL, GENRE, DATE, NUMCOMP) décrivant les films avec leur numéro, titre, durée (en minutes), le pays d’origine du film, l’identifiant du réalisateur du film, le genre (pouvant prendre les valeurs : tragique, comique, policier, romantique, intimiste), la date de sortie du film et le numéro du compositeur de la musique

REALISATEUR (NUMREAL, NOMR, PRNR, PAYS) décrivant les réalisateurs avec leur numéro, leur nom, leur prénom et le pays dont ils sont originaires.

ACTEUR (NUMA, NOMA, PRENOMA, PAYS) décrivant les acteurs avec leur numéro, leur nom, leur prénom et le pays dont ils sont citoyens.

TOURNAGE (NOFILM, NUMA, TYPROLE) décrivant la participation des acteurs dans les films en donnant le type du rôle joué (rôle principal, rôle secondaire, autre rôle).

COMPOSITEUR (NUMCOMP, NOMCOMP, PRNCOMP, PAYS) décrivant les compositeurs avec leur numéro, leur nom et leur prénom et le pays dont ils sont citoyens

Cette base de données est distribuée sur trois sites : Montréal, Toronto et Vancouver. Le site de Montréal conserve les informations sur les films, Toronto les informations sur les acteurs et Vancouver les informations sur les réalisateurs et les compositeurs.

Nous décidons de construire un entrepôt de données à partir de cette base de données afin d’analyser le nombre de films sortis par année et par pays.

Question 7) Rappeler ce les différentes étapes nécessaires à la mise en œuvre d’un entrepôt de données.

Question 8) Nous décidons d’utiliser la technologie ROLAP pour construire cet entrepôt de données et d’utiliser un schéma en étoile.

Donnez le schéma de la table centrale de cet entrepôt de données ainsi que le schéma des tables de dimensions.

2

Question 9) Selon vous le fait que la base de données soit distribuée rend-elle la mise en œuvre de l’entrepôt plus difficile, si oui expliquez pourquoi .

Exercice 3) Bases de données multimédia

Nous reprenons le schéma de la base de données cinématographique de l’exercice 2 et nous prenons pour hypothèse que cette base de données est implémentée sous Oracle. Nous nous intéressons à la table :

ACTEUR (NUMA, NOMA, PRENOMA, PAYS)

Question 10) Nous voulons ajouter dans cette table une photo de l’acteur. Donner la commande de création de table correspondante.

Question 11) En plus des photos d’acteur, nous souhaitons ajouter à notre base de données des photos associées aux films. Pour cela nous sommes à la recherche d’une collection existante et que nous pourrions acheter. Nous examinons les collections disponibles en nous intéressant plus particulièrement aux métadonnées décrivant les photos. Selon vous quelles catégories de métadonnées seront particulièrement intéressantes pour notre base de données cinématographique ? Dans chacune des catégories vous donnerez les métadonnées que vous jugez pertinentes.

BAREME INDICATIF (sur 20 points)

Partie 1 : au total 6 points:

Exercice 1 : 6 points (

Exercice 2 : 4 points (

Exercice 3 : 4 points (

chaque question sur 2 points

question 4) : 2 points ;

question 7) : 1 points ;

question 10) : 1 points ;

3

question 5) : 2 points

question 8) : 2 points,

question 11) : 3 points)

question 6) : 2 points)

question 9) : 1 points)