Portfolio de Chiheb Tarchoun
Plan du portfolio
Reponse td3
----------------------------------------- Réponse TD3 -----------------------
1)
j'ai crée les tables fournisseur, piece, projet et fpj sous les noms respectivement fournis,prod,proj et fpj
et j'ai exécté les requettes suivantes:
1 select distinct fournis.f# from fpj, prod, fournis
2 where fpj.p# = prod.p#
3 and fournis.f# = fpj.f#
4* and (fpj.qty>0 and fpj.p# in (select prod.p# from prod where prod.couleur = 'Rouge') )
SQL> /
F#
----------
f2
f3
f4
f5
1)
1 select distinct prod.p#, proj.j#, fournis.f# from prod,proj,fournis
2 where prod.ville = proj.ville
3* and proj.ville = fournis.ville
SQL> /
P# J# F#
---------- ---------- ----------
1 5 4
1 7 4
2 1 3
4 5 4
4 7 4
5 1 3
6 5 4
6 7 4
8 rows selected.
SQL> select ville from prod where p# = p4;
VILLE
--------------------
Londre
SQL> select ville from proj where j# = j5;
VILLE
--------------------
Londre
SQL> select ville from fournis where f# = f4;
VILLE
--------------------
Londre
2)
select p#||'poids en grammes ='|| poids*10 from prod
SQL> /
P#||'POIDSENGRAMMES='||POIDS*10
--------------------------------------------------------------------------------
p3Poids en grammes =170
p4Poids en grammes =140
p5Poids en grammes =120
p6Poids en grammes =190
p1Poids en grammes =120
p2Poids en grammes =170
6 rows selected.
3)
SQL> select distinct P#, POIDS from prod
2 order by P#;
P# POIDS
---------- ----------
p1 12
p2 17
p3 17
p4 14
p5 12
6 19
6 rows selected.
4)
SQL> select count(*) from fpj where qty >0;
COUNT(*)
----------
20
5)SQL> select sum(qty) from fpj where p# = p2;
SUM(QTY)
----------
200
6) 1 select p# from fpj having count(f#)>1
2* group by p#
SQL> /
P#
----------
p3
p4
p5
p6
verification
SQL> select distinct f# from fpj where p# = 3
2 ;
F#
----------
f2
f3
f5
7)
1* select p# from prod where PNOM like 'C%'
SQL> /
P#
----------
p5
p6
8)SQL> select distinct fournis.f# from fournis, prod, fpj
2 where fournis.f# = fpj.f#
3 and fpj.p# = prod.p#
4 and (prod.couleur = 'Rouge' );
F#
----------
f3
f4
f5
9)
1* select F# from fournis where statut < (select max(statut) from fournis)
SQL> /
F#
----------
f1
f2
f4
11)
1 select distinct f# from fPJ X where not exists (
2 select* from fPJ Y where f#= p2 and not exists (
3* select * from fPJ Z where Z.f# = X.f# and Z.p#= Y.p#))
SQL> /
F#
----------
f2
f5
12)
1* select fnom,f# from fournis where not exists (select * from fPJ where f#= fournis.f# and p#= p2)
SQL> /
FNOM F#
-------------------- ----------
Adams f5
Blake f3
smith f1
jones f2
13)
select f# from fpj where p# = p1 and qty > (select avg(qty) from fpj where p# = p1);
SQL> /
no rows selected
verification
1* select f# from fpj where p# = p1 and qty = (select avg(qty) from fpj where p# = p1)
SQL> /
F#
----------
f5
14)SQL> select * from fournis;
F# FNOM STATUT VILLE
---------- -------------------- ---------- --------------------
f1 smith 20 LONDRE
f2 jones 10 PARIS
f3 Blake 30 Paris
f4 Clark 20 Londre
f5 Adams 30 Athens
SQL> update fournis set statut = 2*statut where VILLE = 'LONDRE';
1 row updated.
SQL> commit;
Commit complete.
SQL> select * from fournis;
F# FNOM STATUT VILLE
---------- -------------------- ---------- --------------------
f1 smith 40 LONDRE
f2 jones 10 PARIS
f3 Blake 30 Paris
f4 Clark 20 Londre
f5 Adams 30 Athens
15)
SQL> select * from fournis;
F# FNOM STATUT VILLE
---------- -------------------- ---------- --------------------
f1 smith 40 LONDRE
f2 jones 10 PARIS
f3 Blake 30 Paris
f4 Clark 20 Londre
f5 Adams 30 Athens
SQL> delete fournis where F# = f1;
1 row deleted.
SQL> commit;
Commit complete.
SQL> select * from fournis;
F# FNOM STATUT VILLE
---------- -------------------- ---------- --------------------
f2 jones 10 PARIS
f3 Blake 30 Paris
f4 Clark 20 Londre
f5 Adams 30 Athens
REPONSE TD2
Exercice n° 1
CREATE TABLE S (id_fourn number,nom varchar 2 (10), prenom varchar2 (10), adresse varchar2 (30));
CREATE TABLE P (num_prod number,libille varchar 2 (20));
CREATE TABLE J (id_prj number,dat_deb date, date_fin date );
Exercice n° 2
1) Donnez tous les détails de tous les projets.
Select * from J ;
2) Donnez tous les détails de tous les projets de London.
Select * from J where city = 'London';
3) Donnez les numéros des fournisseurs qui fournissent les projet J1 en les triant suivant le numéro du fournisseur. Select distinct S# from spj
Where j# = 'J1'
Order by s# ;
4) Donnez les numéros des pièces livrées avec des quantités variant entre 300 et 700.
Select distinct S# from spj
Where qty >= 300 and qty <= 700 ;
5) Donnez la liste des différentes combinaisons de couleurs et de ville des pièces. Select select distinct color, city from p;
6) Donnez les numéros des fournisseurs, des pièces et projets qui ont la même localisation.
Select S# , P# , J# from s, p, j
Where s.city = p.city and P.city=J.city;
7) Donnez les numéros des fournisseurs, des pièces et projets qui n’ont pas la même localisation.
Select S# , P# , J# from s, p, j
Where not (s.city = p.city and P.city=J.city);
Ou
Select S# , P# , J# from s, p, j
Where s.city ~= p.city or P.city~=J.city;
8) Donnez les numéros des pièces dont les fournisseurs sont à Londre
Select P# from s p j, S
Where spj.s# = s.s# and city like'?London?';
9) Donnez les numéros des fournisseurs, des pièces et projets de sorte que pris deux à deux ils n’aient pas la même ville.
Select S# , P# , J# from s, p, j
Where s.city ~= p.city
and P.city~=J.city
and s.city ~= j.city;
9) Donnez les numéros des pièces fournies par des fournisseurs de Londre pour un projet de Londre.
Select distinct P# from spj, S, J
Where spj.s# = s.s#
and spj.j# = j.j#
and s.city='London'
j.city='London;
10) Donnez les différentes paires de villes telleque la première ville soit celle d’un fournisseur qui fournit un projet dont la ville correspond au deuxième élément de la paire.
Select distinct s.city,j.city from spj, S, J
Where spj.s# = s.s#
and spj.j# = j.j# ;
11) select count (*)
from S;
12) select count ( distinct S#)
from SPJ;
13) select count ( *)
from SPJ
where P#='P2';
14) select sum(qty) from SPJ where P#='P2';
Reponse td1
1/- On liste et on explique trois inconvénients liés à l’utilisation des fichiers :
a) La collision : l’utilisation du même fichier ou l’utilisation du même emplacement en même temps va faire une choc entre deux processus donc ils se bloquent, c’est pourquoi on va au plus proche.
b) La redondance : la même information peut se trouver dans deux fichiers différents.
c) L’incohérence : lorsque les données ne sont pas structurés on risque de tout mélanger ou même bloquer tout le système de gestion de base de données.
2/- Les principaux intervenants dans une base de données sont :
- Les utilisateurs de la base de données avec leurs différents droits d’accès sont eux qui assurent le système de gestion de base de données (SGBD), donc se sont eux qui gèrent et synchronisent et contrôlent les données.
- Les administrateurs de la base de données (ABD), se sont eux qui gèrent ou contrôlent l’accès à la base de données c'est-à-dire ils donnent les droits d’accès aux utilisateurs de la base (lecture, écriture, modification,…).
4/- La différence entre SGBD et DBA est que les administrateurs de base e données (ABD) agit sur les droits d’accès des utilisateurs des données tant disque le système de gestion de base de données (SGBD) agit tout simplement sur les données.
6/- les différentes organisations physiques liées à une BD hiérarchique sont :
- HSAM : Méthode d’accès séquentiel hiérarchique.
- HISAM : Méthode d’accès séquentiel hiérarchique indexé.
- HDAM : Méthode d’accès direct hiérarchique.
- HIDAM : Méthode d’accès dire
Copyright © 2006 Chiheb Tarchoun sauf mention contraire explicite.
Dernière mise à jour : 1 août 2006.
203 page(s) servie(s).
[

|

|
? ] [
Gestion de votre portfolio ]
