E x a m e n d e f i n d e f o r m a t i o n
S e s s i o n J u i n 2 0 0 6
SQL Serveur
Considérons la base de données suivante :
LIVRES (Code_Livre char(5), Titre char(15), Prix_Achat (Numerique)).
ADHERENTS (Numéro_Adhérant char(5), Nom char(15), Prénom char(15)).
RESERVATION_LIVRES (Code_Réservation char(5), Code_Livre char(5), Numéro_Adhérant char(5), Date_Réservation (Date/heure))
EMPRUNTS (Code_Emprunt char(5), Code_Livre char(5), Numéro_Adhérant char(5), Date_Début (Date/heure), Date_Fin (Date/heure)).
Question (9pts)
1- Créer la base de données et nommer la par votre nom (Nom_Prénom)
2- Créer toutes les tables avec les contraintes d’intégrité possibles.
3- Créer le diagramme de la base -nommer le Diag1.
4- Remplir vos tables avec les enregistrements ci-dessus
Table LIVRES
Code_Livre | Titre | Prix_Achat |
L101 | TCP/IP | 100 |
L102 | TCP/IP | 200 |
L103 | Java1 | 300 |
L104 | Java2 | 350 |
L105 | Programmation C | 200 |
Table ADHERENTS
Numéro_Adhérant | Nom | Prénom |
A101 | Samadi | Rachid |
A102 | Elfatmi | Soumia |
A103 | Alami | Mohcine |
A104 | Sahli | Mourad |
A105 | Elbalghiti | Houda |
A106 | Eljamali | Marwa |
Table EMPRUNTS
Code_Emprunt | Code_Livre | Numéro_Adhérant | Date_Début | Date_Retour |
E101 | L101 | A101 | 02/01/2006 | 22/01/2006 |
E102 | L102 | A101 | 22/06/2006 | 23/06/2006 |
E103 | L105 | A101 | 02/04/2006 | 22/04/2006 |
E104 | L104 | A102 | 02/05/2006 | 22/05/2006 |
E105 | L103 | A106 | 11/01/2006 | 31/01/2006 |
E106 | L101 | A106 | 03/03/2006 | 04/03/2006 |
Table RESERVATION_LIVRES
Code_Réservation | Code_Livre | Numéro_Adhérant | Date_Réservation |
R101 | L101 | A106 | 15/01/2006 |
R102 | L103 | A102 | 15/04/2006 |
R103 | L103 | A104 | 10/04/2006 |
Remplir vos tables avec les enregistrements ci-dessus
5- Enregistrer le scripte des requêtes
a- Afficher Tous les adhérents par ordre alphabétique du nom (Req1.sql)
b- Afficher la liste des adhérents qui ont emprunté au minimum un livre
(Req2.sql)
6- Créer les vues qui affichent :
a- La liste des livres qui ont été empruntés par monsieur Samadi .(View1)
b- La liste des réservations avec le nom de l’adhérent (View2)
7- Procédures stockées
a- Afficher la liste des adhérents qui ont emprunté le livre Java1. Le numéro d’adhérent est passé en paramètre. (Proc1 )
b- Afficher les informations sur la réservation R101 (Proc2 )
8- Ecrire et enregistrer une instruction qui augmente la taille actuelle du fichier journal des transactions à 25Mo. Sauvegarder les commandes dans Taille.sql
9- Créer des connexions pour les utilisateurs Windows : Ahmed, Amine, Sanae et le groupe Dom_user, dont les membres sont Ahmed et Amine.
10- Accorder l’accès à votre base pour Ahmed, Amine et Dom_user et refuser l’accès pour
Sanae.
11- Créer un rôle standard Adh_user dans votre base. Ajouter Amine et Ahmed à
Adh_user.
12- Donner les autorisations pour Amine de créer des vues et des tables et lui interdire de créer des procédures stockées.
13- Ahmed peut effectuer des sélections et mise à jour pour la table LIVRES, mais ne peut pas supprimer les enregistrements.
Accorder au rôle Adh_user toutes les opérations sur la table EMPRUNT. Supprimer les autorisations du rôle public pour la table LIVRES.
Refuser les droits de mise à jour et d’ajout des livres pour Amine.
14- Créer un rôle d’application Livres_entry avec mot de passe « lotus ». Autoriser l’ajout pour la table LIVRES.
15- Enregistrez les commandes suivantes dans le fichier Droit.sql :
-Accorder des autorisations au rôle public à effectuer une sélection dans le View2 et d’exécuter Proc2.
-Refuser au rôle public le droit d’effectuer une sélection sur la table
RESERVATION_LIVRES.
- vérifier votre travail en se connectant comme Ahmed.
16- Créer dans votre dossier un répertoire Sauvegarde.
Crée deux unités de sauvegarde dans Sauvegarde : Data_D et Data_L.
- Faire une sauvegarde complète de votre base dans Data_D. Donner la description
« Première sauvegarde ».
- Faites une sauvegarde de fichier journal dans Data_L avec description « Journal log ».
- Faites une sauvegarde différentielle dans Data_D avec description « Sauvegarde différentielle ».
17- Détacher votre base vers le dossier qui porte votre nom.
Barème :
Question | 1 | 2 | 3 | 4 | 5a | 5b | 6a | 6b | 7a | 7b | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
Note | 1 | 2 | 3 | 2 | 1 | 2 | 2 | 2 | 2 | 2 | 4 | 2 | 1 | 1 | 2 | 4 | 1 | 2 | 1 | 3 |
e