Correction Devoir SQL

Télécharger au format doc, pdf ou txt
Télécharger au format doc, pdf ou txt
Vous êtes sur la page 1sur 7

DEVOIR DE SQL

La socit INFOWARE a t cre le 1er septembre 2000. Son activit principale est la
conception de logiciels adapts aux besoins de ses clients. Cette socit connat un fort
dveloppement. Toutefois pour rester concurrentielle, INFOWARE a mis en place un
important plan de formation de son personnel. Afin de mieux suivre cette politique de
formation et de prvoir son financement, INFOWARE a dvelopp une base de donnes
permettant dextraire les besoins en formation par salari mais aussi par service et par
catgorie. Vous disposez ci-dessous du schma relationnel de cette base de donnes et
du contenu des diffrentes tables.

Suivre
Numrosal

Suivre
Numroform

Numrosal

Numroform

S01

F04

S07

F08

S02

F10

S09

F07

S02

F12

S10

F08

S03

F05

S11

F04

S05

F11

S13

F14

S06

F01

S14

F09

S06

F02

S15

F13

Service
Codeserv Dsignationserv
1
2
3

Informatique

Emailserv

Tlserv

[email protected]

0169983212

Administration [email protected] 0169983210


Commercial

[email protected] 0169983215

Catgorie
Numrocat

Libllcat

salairemini Caisse retraite Primersultat

C1

Cadre moyen

1 900,00

AGIRC

Oui

C2

Cadre suprieur

2 500,00

AGIRC

Oui

E1

Employ niveau 1 1 250,00

ARRCO

Non

E2

Employ niveau 2 1 500,00

ARRCO

Non

Salari
NumroSal

Nomsal

Prnomsal Datenaiss Datedembauche

Fonction

Tauxhoraire situationfamiliale Nbrenfants Numrocat Codeserv

S01

RETAIS

Claude

31/03/1962

01/09/2000 Chef de projet

19,50 Mari

3 C2

S02

BERNARD Cline

14/08/1972

01/09/2000 Directrice commercial

19,50 Marie

2 C2

S03

RETAIS

14/09/1968

01/09/2000 Ingnieur informatique

14,00 Divorc

4 C1

S04

DOMARD Pierre

14/06/1960

01/09/2000 Directeur gnral

22,50 Mari

3 C2

S05

LALOIS

Rgis

25/07/1967

01/09/2000 Chef comptable

17,30 Clibataire

0 C2

S06

DUPONT

Henri

15/11/1968

01/09/2000 Dveloppeur

11,60 Mari

2 E2

S07

AJAVAR

Karima

25/11/1981

01/08/2001 Standardiste

1 E1

S08

FALERT

Maud

25/08/1980

01/01/2002 Dveloppeur

2 E2

S09

MALE

Emilie

14/01/1980

01/02/2002 Assistant Comptable

2 E1

S10

MOUDA

Mustapha

14/01/1958

01/05/2002 Ingnieur Commercial

12,60 Mari

3 C1

S11

AJAVAR

Mdhi

14/02/1978

01/06/2002 Dveloppeur

10,00 Mari

4 E2

S12

WANG

Vinthan

22/07/1980

01/06/2002 Dveloppeur

10,00 Mari

1 E2

S13

SAVOY

Marilyne

16/07/1980

01/01/2003 Secrtaire Commerciale

3 E1

S14

ESTOUDE Sophie

17/08/1976

01/01/2003 Assistante de direction

10,00 Celibataire

2 E2

S15

PETIT

Sylvie

28/05/1979

01/01/2003 Technico Commercial

10,00 Marie

0 E2

S16

GIRARDO Pablo

14/08/1980

01/05/2003 Administrateur rseau

9,10 Clibataire

1 E1

S17

ZOARD

23/07/1983

01/10/2003 Dveloppeur-Stagiaire

8,50 Clibataire

0 E1

Jrme

Ali

8,20 Clibataire
10,30 Marie
8,70 Divorce

8,70 Marie

Formation
Numroform

Nomform

Datedbut Nbrejours Cotjourform

F01

Visual Basic dbutant

05/02/2006

800,00

F02

Visual Basic initi

20/05/2006

800,00

F03

Administration d'un rseau local sous Linux 14/09/2006

900,00

F04

Dvelopper en PHP

10/05/2006

800,00

F05

La ralisation d'un projet informatique

17/05/2006

1 300,00

F06

SQL-Server

25/02/2006

1 000,00

F07

Ciel paye

14/03/2006

700,00

F08

Anglais dbutant

25/02/2006

400,00

F09

Anglais avanc

05/04/2006

1 100,00

F10

Relations clientle

08/05/2006

800,00

Formation
Numroform

Nomform

Datedbut Nbrejours Cotjourform

F11

La fiscalit des PME

17/10/2006

1 000,00

F12

Fixer des objectifs votre force de vente

20/10/2006

850,00

F13

Optimiser son portefeuille clients

02/01/2006

600,00

F14

Utiliser un logiciel de gestion de clientle

09/02/2006

900,00

PREMIRE
SQL ICI)

PARTIE

: COMPRHENSION

DE LA BASE DE DONNES

(PAS

DE LANGAGE

En supposant que les tables fournies soient compltes, combien y a-t-il demploys de

niveau 1 dans cette entreprise ? Il suffit de compter le nombre

d'occurrences "E1" dans la table salari, soit 5

Un salari peut-il sinscrire plusieurs formations ? Justifiez

Oui, car le champ "Numrosal" de la table "suivre" peut comporter


plusieurs fois le mme numro

Donner la catgorie des salaris inscrits la formation Anglais dbutant ?

Par lecture des tables, on trouve deux salaris S07 (employ de


niveau 1) et S10 (cadre moyen)

DEUXIME

PARTIE

: SQL

Liste des salaris (NumroSal, Nomsal, Prnomsal, Fonction) classes par ordre
croissant des noms.

SELECT NumroSal, Nomsal, Prnomsal, Fonction


FROM Salari
ORDER BY Nomsal

Liste des salaris (NumroSal, Nomsal, Prnomsal, Fonction , Dsignationserv)


travaillant dans le service n 1

SELECT NumroSal, Nomsal, Prnomsal, Fonction, Dsignationserv


FROM Salari, Service
WHERE Salari.Codeserv=Service.Codeserv
AND Codeserv=1

Liste des salaris (NumroSal, Nomsal) embauchs entre le 01/08/2002 et le


31/12/2003 classe sur le le nom du salari (croissant)

SELECT NumroSal, Nomsal


FROM Salari
WHERE Datembauche >= #01/08/2002#
AND Datembauche <=#31/12/2003#
ORDER BY Nomsal

Liste des salaris (NumroSal, Nomsal) embauchs tant clibataire et ayant un


taux horaire compris entre 8 et 12

SELECT NumroSal, Nomsal


FROM Salari
WHERE Tauxhoraire BETWEEN 8 AND 12
AND situationfamiliale=clibataire
Ou alors
5

AND Tauxhoraire >=8 AND Tauxhoraire<=12

Liste des salaris (numroSal, Nomsal) ayant raliss le stage de formation


intitul : Anglais dbutant

SELECT NumroSal, Nomsal


FROM Salari, Suivre, Formation
WHERE Salari.Numrosal=Suivre.Numrosal
AND Suivre.Numroform=Formation.Numroform
AND Nomform =anqlais debutant

Liste des cadres moyens (NumroSal, NomSal, Libllcat)

SELECT NumroSal, NomSal, Libllcat


FROM Salari, Catgorie
WHERE Salari.Numrocat=Catgorie.Numrocat
AND Libllcat= Cadre moyen

Liste des cadres suprieurs ((NumroSal, NomSal, Libllcat, Nomform) ayant


particips au stage de formation correspondant lintitul Dvelopper en
PHP

SELECT NumroSal, NomSal, Libllcat, Nomform


FROM Salari, Catgorie, Suivre, Formation
WHERE Salari.Numrocat=Catgorie.Numrocat
AND Salari.Numrosal=Suivre.Numrosal
AND Suivre.Numroform=Formation.Numroform
AND Libllcat= Cadre suprieur
AND Nomform= Dvelopper en PHP

Liste des formations (Nomform, Datedbut, Nbrejours, Cotjourform) ralises


entre le 05/02/2006 et le 25/04/2006 ayant un nombre de jours de formations
gal 4.

SELECT Nomform, Datedbut, Nbrejours, Cotjourform


FROM Formation
WHERE Datedbut between #05/02/2006# AND #25/04/2006#
AND Nbrejours=4

Le chef comptable actuel vient de dmissionner Mettez jour la base de


donnes ; faites attention de supprimer toutes les donnes le concernant dans
la base

Delete Salari.*
From Salari
Where fonction=chef comptable
OU Numrosal=S05
6

Delete suivre.*
From Suivre
Where Numrosal=S05

Enregistrement dun nouveau chef comptable, Isabelle Morel (S18) ne le


18/10/1960, embauche ce jour 19/10/2006, Pacse, sans enfant, paye au
mme taux horaire que son prdcesseur ; vous dduirez vous-mme les autres
donnes enregistrer

INSERT INTO Salari


(Numrosal,Nomsal,Prnomsal,Datenaiss,Datembauche,Fonction,Ta
uxhoraire, situationfamiliale,Nbrenfants, Numrocat, Codeserv)
VALUES("S18","MOREL","Isabelle","#18/10/1960#","#19/10/2006#,"C
hef comptable",17.30,"Pacse",0,"C2",2)

Modification de la date de dbut de la formation rfrence F12. Celle-ci


dbutera le 23/10/2006

Update formation
Set Datedbut=#23/10/2006#
Where Numroform="F12"

Changement de situation familiale de ESTOUDE Sophie qui vient de se marier

Update Salari
Set Situationfamiliale="Marie"
Where Nomsal= Estoude
ANd prenomsal= Sophie
And Numerosal= S14

Vous aimerez peut-être aussi