0% ont trouvé ce document utile (0 vote)
60 vues5 pages

Série2 - RappelOracle

Transféré par

Sarah Mensi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
60 vues5 pages

Série2 - RappelOracle

Transféré par

Sarah Mensi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
Université de La Ecole Supérieure de I'Economie Numérique Manouba Niveau 1°" MP DSSD Jer semestre Matiére | Systéme de Gestion de Bases de données Série 2 : SQL - Oracle Une entreprise désire gérer son parc informatique a l'aide d'une base de données. Le baliment est composé de trois étages. Chaque étage posséde son réseau (ou segment distinct) Ethemet. Ces réseaux traversent des salles équipées de postes de travail. Un poste de travail est une machine sur laquelle sont irstallés certains logiciels. Quatre catégories de postes de travail sont recensées (stations Unix, terminaux X, PC Windows et PC NT). La base de données devra aussi décrire les installations de logiciels. Les noms et types des colonnes sont les suivants Colonne Commentaires Types indIP trois premiers groupes IP (exemple : 130.120.80) VARCHAR? (11) nomSegment ‘nom du segment VARCHAR? (20) etage ‘tage du segment NUMBER (2) nSalle ‘numéro de la salle VARCHAR2 (7) nonSaile nom de la salle \VARCHAR2 (20) nbPoste nombre de postes de travail dans la salle NUMBER (2) nPoste code du poste de travail VARCHAR (7) nomPoste ‘nom du poste de travail VARCHAR2 (20) ad dernier groupe de chiffres IP (exemple : 11) VARCHAR? (3) peBoste type du poste (Unix, TX, PCWS, PCNT) VARCHAR? (3) datetns date dinstallation du logiciel sur le poste DATE ale VARCHAR? (5) nomLog ‘VARCHAR? (20) dateAch date dachat du logiciel DATE version version du logiciel VARCHAR2 (7) typelog type du logiciel (Unix, TX, PCWS, PCNT) VARCHAR? (9) prix brix du logiciel NUMBER (6, 2) nunins ‘numéro séquentiel des instalations NUMBER (5) datetns date diinstallation du logiciel DATE deiai intervalle entre achatet instalation ‘INTERVAL DAY (5) TO SECOND(2), types des logiciels et des postes ‘VARCHAR? (9) ‘noms des types (Terminaux X. PC Windows...) ‘VARCHAR? (20) Tableau 1 : Caractéristiques des colonnes 41. Ecrivez puis exécutez le script SQL (que vous appellerez creParc.sql) de création des tables avec leur clé primaire (en gras dans le schéma suivant) et les contraintes suivantes : + Les noms des segments, des salles et des postes sont non nuls. + Le domaine de valeurs de la colonne ad s'étend de 0 a 255. + La colonne prix est supérieure ou égale a 0. + La colonne dateine est égale a la date du jour par défaut. Segment, [inde TnonSegment Tetage salle agaiie [noaSaile abposte [indie Poste inFoste—[ncaPoste Tnate [ad [eyperoate Ingato —] eaiciel Installer inPoste ~[nbog ——nuntna —[dateine [aelar Figure 1 : Schéma des tables 2. Ecrivez puis exécutez le script SQL (que vous appellerez descParc.sql) qui affiche la description de toutes ces tables (en utilisant des commandes DESC). Comparer avec le schéma. 3. Ecrivez puis exéoutez le script SQL de destruction des tables (que vous appellerez dropParc.sql). Lancer ce script puis & nouveau celui de la création des tables. 4, Ecrivez puls exécutez le script SQL (que vous appellerez insParc.sql) afin d'insérer les données dans le Tableau 2 5, Ecrivez le script modification. sql, qui permet de modifier (avec UPDATE) la colonne etage (pour f'instant nulle) de la table Segment afin d'affecter un numéro d’étage correct (0 pour le ‘segment 130.120.80, 1 pour le segment 130,120.81, 2 pour le segment 130.120.82). Diminuez de 10 % le prix des logiciels de type 'PCNT’. Segment INDIP NOMSEGMENT ETAGE 130,120.80 Brin ROC 130,120.81 Brin ler étage 330,120.82 Brin 2éne étage Salle NSALLE NOMSALLE NBPOSTE INDIP 302 Salle i 3 130,120.80 302 Salle 2 2 130,120.80 303 Salle 3 2 130,120.80 sll Salle 11 2 130,120.81 812. Salle 12 1 130,120.81 #21 Salle 21 2 130.120.A2 822 Salle 22 0 130.120.83 $23 Salle 23 © 230,120.83 Poste MPOSTE NOMPOSTE INDIP ‘AD TYPEPOSTE NSALLE pl Poste 1 130.120.8001 7% 201 2 Poste 2 130,120.80 02 UNIX 301 pS Poste 3 130,120.80 03 1x 201 pa Poste 4 230.120.8004 PCHS 302 pS Poste 5 130,120.80 05 PCHS 302 6 Poste 6 130,120.80 06 UNIX 203 7 Poste 7 130:120.80 07 x 303 Pe Poste & 230.120.8101 UNIX aL 9 Poste 9 130.120.8102 1x sil P10 Poste 10 130,120.81 03 UNIX a2 pll Poste 11 130,120.82 01 PCNT 921, pl2 Poste 12 230.120.0202 PCHS 222 Logiciel mL0G NOMLOG DATEACH VERSION TYPELOG PRIX Oracle 6 13/05/95 6.2 1og2 Oracle & 15/09/99 Bi UNIX 5600 1og3 SQL Server 12/04/98 7 PONT 2700 log4 Front Page 03/06/97 5 Bows 300 logs WinDev 12/05/97 5 ows 750 1ogé sQL*ner 2.0 UNIX 500 log? I. I. 8, 12/04/02 2 PONT 810 loge Oreanneaver 21/09/03 2.0 Beos 2400 ‘Types ‘TrPELP = NOMTYPE Terminal X-Window Systéme Unix PC Windows NT PC Windows Network Computer ‘Tableau 2 : Vornees des tables 6. Ecrivez le script évolution.sql qui contient les instructions nécessaires pour ajouter les colonnes dans le Tableau 3 (avec ALTCR TABLL). Le contenu de ces colonnes sera modifié ultérieurement. Table ‘Nom, type et signification des nouvelles colonnes Segment nbSalle NUMBER (2) :nombre de salles nbPoste NUMBER (2) ! nombre de postes Logiciel nbInstall NUMBER (2) : nombre dinstallations Poste ‘nbLOg NUMBER (2) © nombre de logiciels installés Tableau 3. Dunmées des coluniies & ajuuter Dans ce méme script, ajoutez les instructions nécessaires pour * augmenter la taille dans la table Salle de la colonne nomSalle (passer 4 VARCHAR2(30)) ; + diminuer la taille dans la table Segment de la colonne nomSegment a VARCHAR2(15) ; + tenter de diminuer la taille dans la table Segment de la colonne nomSegment & VARCHAR2(14). Pourquoi la commande n’est-elle pas possible ? 7. Ajoutez les contraintes de clés étrangeres pour assurer I'intégrté référentielle entre les tables suivantes (avec ALTER TABLE... ADD CONSTRAINT...). Segment [inarp Tnomseqment [Tetage [nbSalie|nbposte: x salle inSalle [nomSalle [nbposte [indiP. ] * Poste ¥ [pPoste—[nonboste [inate Jaa [epperoate [nsatie [astoy] z rN Logiciel Installer __V mPoste __[nLog [numins [dateins [aelai | pes typeLPTnomtype fk_Poste_typePoste Types Figure 2 : Contraintes référentielles 4 créer Si lajout dune contrainte référentielle renvoie une erreur, vérifier les enregistrements des tables « péres » et « fils » (notamment au niveau de la casse des chaines de caractéres, 'Tx’ est différent de 'TX' par exemple). 8, Ecrivez le script créaDynamique.sql permettant de créer les tables Softs et PCSeuls ‘suivantes (en utilisant la directive AS SELECT de la commande CREATE TABLE). Vous ne poserez aucune contrainte sur ces tables. Voir les structures des tables dans la Figure 3. Softs pcseuls ne. nom Be: ad _[eypeP Salle Figure 3 : Structures des nouvelles tables 9. Ecrivez le script requétes.sql, permettant d’extraire les données suivantes R1: Type du poste 'p8’ R2: Noms des logiciels Unix. R3: Nom, adresse IP, numéro de salle des postes de type ‘Unix’ ou 'PCWS’. Ra: Meme requete pour les postes du segment '13U.1ZU.8U' tries par numeros de salles décroissants. RS: Numéros des logiciels installés sur le poste ‘p6'. R6: Numéros des postes qui hébergent le logiciel 'logt". R7: Nom et adresse IP compléte (ex : '130.120.00.01') des postes de type TX (utiliser lopérateur de concaténation). R8: Pour chaque poste, le nombre de logiciels installés (en utilisant la table Installer). R39: Pour chaque salle, le nombre de postes (2 partir de la table Poste). R10: Pour chaque logiciel, le nombre d'installations sur des pastes différents R14: Moyenne des prix des logiciels 'Unix’. R12: Plus récente date d’achat d'un logiciel. R13: Numéros des postes hébergeant 2 logiciels. R14: Nombre de postes hébergeant 2 logiciels (utiliser la requéte précédente en faisant un SELECT dans la clause FROM). R15: Types de postes non recensés dans le parc informatique (utiliser la table Types). R16: Types existant a la fois comme types de oostes et de logiciels. R17: Types de postes de travail n’étant pas des types de logiciel, R 18: Adresses IP des postes qui hébergent le logiciel ‘log6". R 19: Adresses IP des postes qui hébergent le logiciel de nom ‘Oracle 8'. R 20: Noms des segments possédant exactement trois postes de travail de type ‘TX’ R21: Noms des salles ou l'on peut trouver au moins un poste hébergeant le logiciel ‘Oracle 6 R22: Nom du logiciel acheté le plus récent (utiiser la requéte 12). Ectire les requétes R18, R19, R20, R21 avec des jointures de la forme relationnelle Numéroter ces nouvelles requétes de R23 a R26. R27: Inetallatione (nom segment, nom salls, adrecee IP compléte, nom logiciel, date dinstallation) triges par segment, salle et adresse IP. Ajoutez au script requétes. sq], les instructions SELECT pour extraire les données suivantes R28: Noms des postes ayant au moins un logiciel commun au poste ‘p6' (on doit trouver les postes p2. p8 et p10). R29: Noms des postes ayant les mémes logiciels que le poste ‘p6" (les postes peuvent avoir plus de logiciels que ‘p6'). On doit trouver les gostes 'p2' et 'p8’ R30: Noms des postes ayant exactement les mémes logiciels que le poste 'p2’, on doit trouver 'p8\

Vous aimerez peut-être aussi