Vous êtes sur la page 1sur 6

Université de Tunis El Manar Partiel n°: 1

Faculté des Sciences de Tunis Date : 10/12/2012


Département des sciences de l’Informatique
Module : Fichiers & Bases de données
Section : IF4
Durée : 1h30mn
Documents : non autorisés
L’échange de fournitures de bureaux et l’utilisation des téléphones portables sont interdits
1. Vous avez le droit à une seule copie d’examen, 2. Vous répondez aux questions sur cette même copie,

Nom : …………………………………………………………………… N° C.I.N. : …….........……………


Prénom : …………………………………………………………………… Group : …….........……………

Une société de maintenance de logiciels dispose du système d’informations suivant :


- Un technicien est décrit par un matricule (identifiant), un nom, une ville, un numéro de téléphone et un
salaire.
- Un logiciel est décrit par un numéro (identifiant) et un nom.
- Un client est identifié par un code, un nom et une adresse.
- Une demande est identifiée par un numéro et caractérisée par une date et elle est relative à un client.
- Une intervention est décrite par un numéro (identifiant), une date et elle est relative à une demande.
- La durée d’intervention est exprimée en heure, et elle est relative à un logiciel et pour une intervention
donnée.
- Une intervention peut concerner plusieurs logiciels et un logiciel peut subir plusieurs interventions.

Le schéma de la base de données relatif à ce système est le suivant :


TECHNICIEN (MATRICULE, NOM, VILLE, NUM_TELEPHONE, SALAIRE)
LOGICIEL (NUM_LOGICIEL, NOM_LOGICIEL)
CLIENT (CODE_CLIENT, NOM_CLIENT, ADRESSE_CLIENT)
DEMANDE (NUM_DEMANDE, DATE_DEMANDE, CODE_CLIENT#)
INTERVENTION (NUM_INTERVENTION, DATE_INTERVENTION,
NUM_DEMANDE#, MATRICULE#)
DUREE (NUM_INTERVENTION#, NUM_LOGICIEL#, DUREE_INTERVENTION)

Page -1-
A. Comment peut-on affecter le privilège à l’utilisateur U1 pour consulter quelques colonnes de la table
TECHNICIEN (toutes les colonnes à l’exception des colonnes NUM_TELEPHONE et SALAIRE) et
quelques lignes de cette même table (les techniciens résidents à Tunis).
1ère Opération : (/ 2 points)

Création de vue (V1) qui projette le MATRICULE le NOM et la VILLE des techniciens dont la ville est
‘TUNIS’ :

CREATE VIEW V1
AS
SELECT MATRICULE, NOM, VILLE
FROM TECHNICIEN
WHERE VILLE = ‘Tunis’ ;

2ème Opération : (/ 2 points)

Affectation du privilège de consultation (SELECT) à l’utilisateur U1 sur la vue V1 :

GRANT SELECT
ON V1
TO U1;

Quelles sont les contrôles effectués par le SGBD lors de l’exécution de la commande UPDATE permettant la
mise à jour d’une ligne de la table DEMANDE ? (/ 4 points)

Les contrôles effectués pour la mise à jour d’une ligne dans une table sont :

- Vérification de privilège de MAJ (UPDATE) sur la table,

- Vérification de l’existence de la table + colonnes,

- Vérification de la compatibilité des types de données,

- Vérification des contraintes,

-…

Page -2-
B. Résoudre les requêtes suivantes en SQL :

1. Quelles sont les interventions (NUM_INTERVENTION, DATE_INTERVENTION) effectuées


par le technicien de matricule 567 depuis le début de l’année 2012. (/ 2 points)

SELECT NUM_INTERVENTION, DATE_INTERVENTION


FROM INTERVENTION
WHERE MATRICULE = ‘567’
AND DATE_INTERVENTION >= ‘01/01/2012’ ;

2. Quelles sont les interventions (NUM_INTERVENTION, DATE_INTERVENTION) liées au


logiciel numéro 222 ? (/ 2 points)

SELECT i.NUM_INTERVENTION, DATE_INTERVENTION


FROM INTERVENTION i, DUREE d
WHERE i.NUM_INTERVENTION = d.NUM_INTERVENTION
AND NUM_LOGICIEL = ‘222’ ;

3. Nombre d’interventions par technicien (MATRICULE, NOM) depuis le début de l’année 2012 qui
ont fait plus que 10 interventions. (/ 3 points)

SELECT i.MATRICULE, NOM, COUNT(*)


FROM INTERVENTION i, TECHNICIEN t
WHERE i.MATRICULE = t.MATRICULE
AND i.DATE_INTERVENTION >= ‘01/01/2012’

GROUP BY i.MATRICULE, NOM


HAVING COUNT(*) > 10 ;

Page -3-
4. Quelles sont les demandes (NUM_DEMANDE, DATE_DEMANDE) non encore satisfaites.
(/ 3 points)

Forme 1
SELECT NUM_DEMANDE, DATE_DEMANDE
FROM DEMANDE
MINUS
SELECT d.NUM_DEMANDE, DATE_DEMANDE
FROM DEMANDE d, INTERVENTION i
WHERE d.NUM_DEMANDE = i.NUM_DEMANDE ;

Forme 2
SELECT NUM_DEMANDE, DATE_DEMANDE
FROM DEMANDE
WHERE NUM_DEMANDE NOT IN ( SELECT NUM_DEMANDE
FROM INTERVENTION ) ;

Forme 3
SELECT d.NUM_DEMANDE, DATE_DEMANDE
FROM DEMANDE d, INTERVENTION i
WHERE d.NUM_DEMANDE = i.NUM_DEMANDE (+)
AND i.NUM_DEMANDE IS NULL ;

Page -4-
5. Les techniciens (MATRICULE) qui ont intervenu le 02/01/2012 pour la maintenance des logiciels
Numéro 100 et 200. (/ 2 points)

Forme 1
SELECT MATRICULE
FROM INTERVENTION i, DUREE d
WHERE i1.NUM_INTERVENTION = d1.NUM_INTERVENTION
AND DATE_INTERVENTION = ‘02/01/2012’
AND NUM_LOGICIEL = 100
INTERSECT
SELECT MATRICULE
FROM INTERVENTION i, DUREE d
WHERE i1.NUM_INTERVENTION = d1.NUM_INTERVENTION
AND DATE_INTERVENTION = ‘02/01/2012’
AND NUM_LOGICIEL = 200

Forme 2
SELECT MATRICULE
FROM INTERVENTION i1, DUREE d1,
INTERVENTION i2, DUREE d2
WHERE i1.NUM_INTERVENTION = d1.NUM_INTERVENTION
AND i1.DATE_INTERVENTION = ‘02/01/2012’
AND d1.NUM_LOGICIEL = 100
AND i2.NUM_INTERVENTION = d2.NUM_INTERVENTION
AND i2.DATE_INTERVENTION = ‘02/01/2012’
AND d2.NUM_LOGICIEL = 200
AND i1.MATRICULE = i2.MATRICULE ;

Forme 3
SELECT i1.MATRICULE
FROM INTERVENTION i, DUREE d
WHERE i1.NUM_INTERVENTION = d1.NUM_INTERVENTION
AND DATE_INTERVENTION = ‘02/01/2012’
AND NUM_LOGICIEL = 100
AND i1.MATRICULE IN ( SELECT MATRICULE
FROM INTERVENTION i, DUREE d
WHERE i1.NUM_INTERVENTION = d1.NUM_INTERVENTION
AND DATE_INTERVENTION = ‘02/01/2012’
AND NUM_LOGICIEL = 200

Page -5-
Université de Tunis El Manar Partiel n°: 1
Faculté des Sciences de Tunis Date : 10/12/2012
Département des sciences de l’Informatique
Module : Fichiers & Bases de données
Section : IF4
Durée : 1h30mn
Documents : non autorisés
Correction
Schéma de base de données

TECHNICIEN
MATRICULE CLIENT
NOM CODE_CLIENT
VILLE NOM_CLIENT
NUM_TELEPHONE ADRESSE_CLIENT
SALAIRE

INTERVENTION DEMANDE

NUM_INTERVENTION NUM_DEMANDE
MATRICULE CODE_CLIENT
NUM_DEMANDE DATE_DEMANDE
DATE_INTERVENTION

LOGICIEL
DUREE NUM_LOGICIEL
NOM_LOGICIEL
NUM_INTERVENTION
NUM_LOGICIEL
DUREE_INTERVENTION

Physical Data Model


Model: IF4_2012_P1
Package:
Diagram: Diagram_1
Author: zied_benmoussa Date: 2013
Version:

Page -6-

Vous aimerez peut-être aussi