Université de M’sila Année Universitaire : 2009/2010 Faculté des sciences de l’ingénieur 30 Mai 2010 durée : 1h et 30
Spécialité : Master1 Module : BDDA
Contrôle
Questions de cours ( 5pts):
- Dites Pourquoi penser aux bases de données avancées, et donnez pour chaque type étudié son domaine d’application.
- L’une des difficultés de généralisation des règles actives, réside dans le fait qu’il il n’est pas évident de vérifier la cohérence d’un ensemble de règles, donnez votre propre solution pour éviter ce problème.
- Quelle est l’unité de temps utilisée dans les bases de données temporelles, donnez un exemple de modélisation par instant et un exemple par intervalle.
- Quelles sont les faiblesses du modèle relationnel par rapport au modèle objet.
- Quelle est la différence entre le modèle objet et le modèle objet /relationnel
Exercice 1 : Base de données temporelle (5 pts):
Soit la base de données temporelle suivante pour une application de gestion de ressources humaines:
Client(#client, nom, prénom, adresse, téléphone)
Projet(#projet, #client, nomProjet, localisation, description, fromDate, toDate) Employé(#employé, nom, prénom, adresse, téléphone)
Travaille(#employé, #projet, pourcentage, fromDate, toDate) Dirige(#employé, #projet, fromDate, toDate)
Ecrivez en SQL standard les requêtes suivantes :
(1) Donner le nom, prénom et adresse des employés qui dirigent actuellement un projet qui est actif et dont la fin du projet arrive avant le 31 décembre 2010.
(2) Donner les numéros des projets localisés à M’sila tels que tous les employés qui y ont travaillé pendant l'année 2006- 2007 le faisaient à 100%.
(3) Donner le numéro des projets dans lesquels chaque employé qui y a travaillé n'a jamais diminué son pourcentage.
Exercice2 :Base de données active ( 5pts) :
La base de données de gestion de projet utilise le schéma suivant : Professeur (#numprof, nom, numlabo )
Doctorant (#NumEt, nom, numprof, numprojet)
Laboratoire ( #numlabo, nomlabo , numprof, budget) ;// numprof désigne le prof responsable de labo
Labo-projet(# numlabo ,#num projet , pourcentage) ; // pourcentage désigne le pourcentage de coût .
Projet (#numprojet , Titre, numprof, coût) // numprof désigne le professeur directeur de projet Ecrire en PL/SQL l’ensemble des triggers qui assure les contraintes suivantes :
1- vérifier que le labo d’un projet existe bien.
2- un doctorant doit travailler dans un projet supervisé par son encadreur.
3- La somme des coûts des projets d’un labo ne dépasse pas le budget de ce dernier.
Exercice3 : Base de données objet ( 5pts) :
1- Donner le schéma de classes ODMG correspond au schéma relationnel ci-dessus ( gestion de projet)
2- Ecrire en OQL les requêtes suivantes :
a- Donnez les titres des projets réalisés par le laboratoire ‘XXX’.
b- Donnez les professeurs qui ne dirigent que les projets réalisés 100 % par son laboratoire .
BON COURAGE