Vous êtes sur la page 1sur 4

www.dev-informatique.

com

OFPPT

Direction Rgionale Tensift Atlantique Etablissement : Ista Ntic Syba Marrakech Examen de fin module : 2011/2012 Filire:TDI Niveau : 2me anne Dure :2h30 Groupe(s): TDI2GE SGBD II

Formateur : OUATOUCH Abdeljalil Barme: /20

Partie I : Programmation TSQL : (4 pts) 1) En utilisant les fonctions : - ascii(caractre) permet de renvoyer le code ascii du caractre prcis en paramtre. - char (int) permet dafficher le caractre dont le code ascii est lentier prcis en paramtre. Afficher tous les alphabets (majuscule et minuscule) en prcisant pour chacun le code ascii. (1 pt). 2) On considre la table : Livre (IdL int primary key, Titre varchar (4)) Crer un programme TSQL permettant de remplir cette table par 100 enregistrement sachant que : (1 pt) - Le champ IdA est un compteur qui sincrmente automatiquement, - Le champ Titre respecte le masque suivant : Ti avec i est un entier compris entre 0 et 99. 3) On rajoute sur la mme base la table : Livre_Old (IdL int primary key, Titre varchar (3)) On dsire remplir cette table par le contenu de la table initiale en respectant les contraintes suivantes : (2 pts) o Un enregistrement ne doit pas figurer la fois dans les deux tables. o Une fois la table Livre_Old est remplie la table Livre doit tre vide. o Si lopration de transfert de donnes a gnr un problme, elle sera compltement annule et on veillera afficher un message pour lutilisateur. gestion derreurs

www.dev-informatique.com

Partie II : Procdures stockes et Triggers (16 pts)

On considre lexemple de la base de donnes suivante : Cinma (nomCinma, numro, rue, ville) Salle (nomCinma, noSalle, capacit, climatise) Horaire (idHoraire, heureDbut, heureFin, Dure) Sance (idFilm, nomCinma, noSalle, idHoraire, tarif) Film (idFilm, titre, anne, genre, rsum) Acteur (idActeur, nom, prnom, DateNaissance) Rle (idActeur, idFilm, nomRle)

1) Raliser la base de donnes sous le nom Projections. (1,5 pt) 2) Remplir les tables avec des donnes correctes. (1,5 pt) 3) Triggers : (6 pts) a. Chaque suppression dun enregistrement de la table Cinma ne doit pas seffectuer mais saffiche plutt un message indiquant cela. b. Le champ Nom de la mme table doit tre en majuscule pour tous les champs de la table et le Prnom doit commencer par une lettre majuscule. (Acteur) c. d. e. f. Crer un (des) trigger(s) qui supprime (nt) en cascade aprs la suppression d'une cinma La Dure doit se remplir automatiquement. Le Tarif de chaque sance ne doit pas dpasser 1000 DH. Crer un trigger qui affiche le type de chaque opration sur la table ainsi que le nombre des enregistrements concerns.

4) Procdures : (7 pts) a. Ecrire une Procdure stocke qui, tant donn un acteur, affiche le nombre de films auxquels il a particip, utiliser un paramtre de sortie. b. Raliser une procdure stocke qui permet de remplir la colonne Dure pour tous les enregistrements de la table en procdant aux vrifications suivantes :

www.dev-informatique.com

i. Lheure de dbut doit tre infrieure celle de fin ii. La dure maximale est de 5 heures ; en cas de non respect de cette condition, il faut afficher un message qui demande lutilisateur de ressaisir les donnes de lenregistrement en question. c. Afficher sous forme de phrases le nombre de cinmas de chaque ville avec leurs salles. (Ordre croissant des villes)

d. Ajouter une table Grp_Cin (code, description) contenant les groupes de familles comme suit : - Grp 1 : Nombre de salles < = 1 Crer une procdure Groupe2)) Grp 2 : 1 < Nombre de salles < = 3 Grp 3 : 3 < Nombre de salles < = 5 Grp 4 : 5 < Nombre de salles stocke permettant de remplir cette table comme suit : ((1, Groupe1), (2,

e. Ajouter une colonne CodeG comme cl trangre dans la table cinma ; puis raliser une procdure stocke permettant de remplir cette colonne. f. Ajouter une table Cinmas_Salles qui a un schma relationnel rsultat de la combinaison du schma de la 1re et de la 2me sans rptition des champs. Raliser une procdure stocke qui permet de remplir cette table. g. Raliser une procdure stocke qui permettra dafficher ltat actuel dun cinma (pass en argument) en affichant les lments suivants : i. Le plus court, le plus long et le plus cher film projet ce cinma. ii. Lacteur qui a apparu le plus dans ce cinma. iii. La dure totale de toutes les projections de ce cinma.

Remarque : Le script des rponses doit tre lisible, comment et enregistr sur le bureau dans un dossier qui porte votre nom et votre groupe

www.dev-informatique.com

Formateur

Directeur Pdagogique

Directeur du complexe/Directeur de l'EFP

Visa de La DRTA