0 évaluation0% ont trouvé ce document utile (0 vote) 60 vues5 pagesSérie2 - RappelOracle
Copyright
© © All Rights Reserved
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