You are on page 1of 6
De oo coo l pea rae eer | EKAMEN DU BACGALAUREAT —- SESSION DE JUIN 2011 | SECTION: Sciences de I'informatique CORRIGE principale i EPREUVE: se de données Exercice 1 : (3 points) (0,25 x 12) Valider chacune de ces propositions, en mettant dans la case correspondante la lettre V si elle est juste ou la lettre F dans le cas contraire. 1) Le Langage de Définition des Données (LDD) permet F _| de modifier les données d'une base de données. V_| de créer la structure d'une table. V_| dajouter des contraintes d'intégrité a une table. V_| de supprimer une table 2) Le Langage de Manipulation des Données (LMD) permet : V_| de supprimer des données d'une table V_| de rechercher des données dans une base de données, F _| de modifier la structure d'une table. V_| diinsérer des données dans une table. L 3) Soit la description de la table Eleve décrite par la requéte SQL suivante : CREATE TABLE Eleve ( Numero Int(4) PRIMARY KEY, Nom VARCHAR(20) NOT NULL, Age ——Int(2)); On voudrait créer !'éléve numéro 1000 dans la table Eleve, pour cela, on peut écrire la ou les requéte(s) suivante(s) : | F | INSERT INTO Eleve VALUES (1000, TRIKI Rayen’, 18) ; F | INSERT INTO Eleve VALUES (Null, TRIKI Rayen’, 18) ; V_| INSERT INTO Eleve (Numero, Nom) VALUES (1000, TRIKI Rayen)) , F | INSERT INTO Eleve (Numero, Age) VALUES (1000, 18) ; NB: on accepte uniquement (V ; F ; vrai ; faux ; O ; N; oui; non ; True ; False) 1/6 Exercice 2 : (3 points) (0,75 x 4) Soit la base de données intitulée « Gestion_Magasin » implémentée et décrite par les requétes SQL suivantes CREATE TABLE Article ( | CREATE TABLE Rayon ( NumArt INT (3) PRIMARY KEY, CodeRay VARCHAR (3), DesArt VARCHAR (20), DesRay VARCHAR (15) NOT NULL, PrixArt DECIMAL (8,3), EtageRay INT (1), ‘TvaArt DECIMAL (3,2), PRIMARY KEY (CodeRay)); CodeRay VARCHAR (3)) ; | Ci-dessous, on présente le contenu des deux tables « Article » et « Rayon » de cette base de données. 0.29 002 001 Informatique 100. Chemise 1 200 Tomate 0.18 004 {002 Vétement 2 | 400 Javel 0.18 | 006 003 Hygiéne 3 600. Thon 0.18 004 004 Alimentaire 3 900 Ordinateur | 1560.500 | 0.10 001 N.B. : La colonne « CodeRay » de la table « Article » est une clé étrangére relative & la clé primaire « CodeRay » de la table « Rayon » Question En observant le contenu des tables « Article » et « Rayon », il apparait deux insuffisances. Compléter le tableau ci-dessous en indiquant ces anomalies et proposer des requétes pour les corriger : ALTER TABLE Article ADD CONSTRAINT CHECK (PrixArt > 0); Le prix de l'article numéro “200” est une valeur négative (-1.550) Ou bien anomalie dans la colonne PrixArt Pour l'article numéro “400”, le rayon “006” ALTER TABLE Article ADD CONSTRAINT n’existe pas dans la table « Rayon » CodeRay REFERENCES Rayon (CodeRay); NB : 0,25 sila réponse conceme a ligne uniquement 0,5 : update -0,25 par erreur Loubli de ; ne sera pas penalise 2/6 Exercice 3: (7 points) (1x 7) Soit la base de données intitulée « Gestion_Publinet » permettant de gérer les connexions de différents internautes d'un centre public d'internet. Elle est décrite par la représentation textuelle simplifiée suivante : POSTE (NumPoste, IPMachine, CodeMarque#) MARQUE (CodeMarque, NomMarque) INTERNAUTE (NumCIN, Nom, Genre, Age) SESSION (NumPoste#, NumCIN#, DateSes, HeureDeb, NbrHeures) N.B : Un internaute peut effectuer plusieurs sessions dans la méme journée. Description des colonnes des tal | Numéro du poste (entier de deux Genre de linternaute. | chifires). | Genre (‘M’ : Masculin, ‘F’ : Féminin) Une chaiine de caractéres indiquant | | ‘Age de Vinternaute exprimé en adresse IP de la machine. nombre d'années. Date de la session au format CodeMarque | Code dela marque de la machine. | | DateSes | «) mayaaaa? NumPoste | IPMachine NomMarque | Nom de la marque de la machine. HeureDed | Heure de début de la session. [i niianiare cee Salto oriaanens | Nombre d’heures de connexion NumCIN ‘f NbrHeures | avec deux chiffres aprés la | nationale de I'internaute. irate Nom Nom et prénom de Finternaute. 1 41) Pour satisfaire la demande croissante des clients, on a installé un nouveau poste ayant les propriétés suivantes : DE10 Ecrire une requéte SQL permettant d’ajouter ces informations a la table appropriée. INSERT INTO Poste VALUES (15, ‘172.152.45.1’, ‘DE10’) ; 2) Etant donné la description de la colonne Genre (‘M’ ou ‘F’), écrire une requéte SQL permettant d'ajouter la contrainte ayant comme nom ValidGenre pour vérifier la validité de ce champ. ALTER TABLE Internaute ADD CONSTRAINT ValidGenre CHECK (Genre ="M’ OR Genre="t Ou bien ALTER TABLE Internaute ADD CONSTRAINT ValidGenre CHECK (Genre i jon: 3) On se propose d’ajouter, dans cette base de données, la catégorie de |'internaute (exemple : éléve, étudiant, enseignant, etc..). Ecrire une requéte SQL permettant d’ajouter cette colonne dans la table appropriée. ALTER TABLE Internaute ADD COLUMN Profession VARCHAR(20) ; 3/6 4) Ecrire les requétes SQL permettant a.c'afficher la liste des internautes (N°CIN, Nom et Age) dont |'age est compris entre 18 et 30 ans triée selon lordre croissant des ages. Au moment de Taffichage, les pntétes des colonnes doivent étre respectivement 'N® CIN’, 'Nom & Prénom' et ‘Age’ SELECT NumCIN ‘N°CIN’, Nom ‘Nom & Prénom’, Age ‘Age’ FROM Internaute WHERE Age BETWEEN 18 AND 30 ORDER BY Age; ‘alias ‘Age’ n'est pas obligatoire b.d'afficher le nombre diinternautes ayant effectué des connexions dans la journée du '30/05/2011' SELECT COUNT (DINSTINCT (NumCIN)) FROM Session WHERE DateSes = '30/05/2011’; ¢.de modifier adresse IP du poste numéro 10 par 'adresse suivante : '172.152.45.7'. UPDATE Poste SET IPMachine = 172,152.45.7° WHERE NumPoste = 10; d.d’afficher le montant total encaissé pendant la journée du ‘01/06/2011' sachant que le prix d'une heure de connexion est fixé 41,5 DT. SELECT SUM(1,5 * NbrHeures) FROM Session WHERE DateSes = 01/06/2011’; NB : L‘oubli de ; ne sera pas pénalisé L'éléve ne sera pénalisé qu'une seule fois pour ‘oubli de ‘apostrophe - 0,25 par erreur On accepte tout format de date correct 4/6 Exercice 4 : (7 points) On se propose d'implémenter une base de données pour gérer un site web dynamique permettant aux différents internautes inscrits, de télécharger des fichiers. Chaque utlisateur de ce site est caractérisé par un nom, un prénom, une date de naissance et une adresse email est identiié par un login unique et posséde un mot de passe pour se connecter au site afin de télécharger un ou plusieurs fichiers. Un fichigr est identifé par un code unique, portant un nom, une taille, un lien hypermédia et une date de création. Chaque fichier & télécharger appartient & une catégorie caractérisée par un code unique et tune désignation (fim, logiciel, musique, document,...), et peut étre stocké dans plusieurs serveurs de fichiers. Chaque serveur posséde un matricule unique, un nom (Megaupload, RapidShar, Hottie, ), une adresse web (www.megaupload.com, www.rapidshar.com, ...) et une localisation (le nom du pays oui se trouve le serveur). Travail a faire ‘fin de créer la structure de ceite base de données, on se propose d'établir : 1) Liste des colonnes : 15 Utilisateur NomUt ‘Nom de l'utilisateur Texte PrenomUt Prénom de l'utilisateur Texte 15 Utilisateur | DatNaisUt Date de naissance de l'utilisateur Date Utilisateur EmailUt ‘Adresse Email de l'utilisateur Texte 20 Utilisateur LoginUt Login de Tutilisateur Texte 10 Utilisateur ‘MpUt ‘Mot de passe de Vutilisateur Texte 10 Utilisateur CodeFich| Code du fichier Texte 5 Fichier NomFich Nom du fichier Texte [20 Fichier TailleFich Taille du fichier Numérique 8 Fichier LienFich Lien hypermédia du fichier Texte 30 Fichier DateFich Date de création du fichier | Date Fichier | CodeCat Code de la catégorie du fichier Texte 5 Catégorie | DesignCat Désignation de la catégorie du fichier | Texte 20 Catégorie MatServ Mairicule du serveur de fichiers Texte 5 ‘Serveur NomServ Nom du serveur de fichiers Texte 20 ‘Serveur UriServ ‘Adresse URL du serveur de fichiers | Texte 130 ‘Serveur LocalServ Localisation du serveur de fichiers Texte 20 ‘Serveur 5/6 2) Liste des tables Utilisateur | Regroupe l'ensemble des utilisateurs du site Fichier Regroupe l'ensemble des fichiers a télécharger Fichier Categorie | Regroupe l'ensemble des catégories des fichiers Categorie Serveur | Regroupe l'ensemble des serveurs de fichiers ‘Serveur 3) Liens entre les tables Categorie ichier CodeCat ‘CodeCat Utilisateur | Telecharger LoginUt LoginUt Fichier Telecharger CodeFich | CodeFich ‘Serveur Telecharger MatServ MatServ Fichier ‘Stocker CodeFich —_| CodeFich | Serveur Stocker MatServ MatServ 4) Représentation textuelle : Utilisateur (LoginUt, MpUt, NomUt, PrenomUt, DatNaisUt, EmailUt) Ficher (CodeFich,NomFich, TailleFich, LienFich, DateFich, CodeCat# ) Categorie (CodeCat, DesignCat) Telecharger (LoginUt#, CodeFich#, MatServ#) Serveur (MatServ, NomServ, UrlSery, LocalServ) Stocker (MatServ#, CodeFich#) 5 Représentation Liste des colonnes | Liste des tables Liens eta 0,75x4 0,25 x4 | 025x6 0,25x6 | NB : -0,25 par erreur par sujet Léleve ne sera pas pénalisé deux fois pour la méme erreur. On accepte Telecharger (LoginUt#t, CodeFich#, MatServ#, dateTel , HeureTel) Telecharger (NumTem,LoginUt#, CodeFich# MatServ#) 6/6

You might also like