Portfolio de Chiheb Tarchoun

Reponse td3 Commenter cette section

----------------------------------------- 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 Commenter cette section

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 Commenter cette section

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