Conception
1.1 Interprtation de schmas entit/association
1.1.1
Centre mdical
On vous donne un schmas E/A (figure 1.1) reprsentant des visites dans un centre mdical. Rpondez aux
questions suivantes en fonction des caractristiques de ce schma (i.e. : indiquez si la situation dcrite est
reprsentable, indpendamment de sa vraissemblance).
Patient
Medecin
Matricule
Nom
Medicament
Code
Libelle
No SS
Nom
0,n
1,n
Donne
0,n
Assiste
Prescrit
Nb prises
1,1
0,n
Consultation
No
Date
1,1
Solution :
NFP 107 et 107J - Exercices dirigs
CHAPITRE 1. CONCEPTION
1. Bien sr.
2. Non (un patient par consultation).
3. Oui.
4. Oui (pas de rapport entre un mdecin et une consultation).
1.1.2
Tournoi de tennis
Le second schma (figure 1.2) reprsente des rencontres dans un tournoi de tennis.
Joueur
No carte
Nom
0,n
Gagne
Score
1,1
0,n
Participe
Match
No
Se joue sur
1,1
2,2
Horaire
0,n
Terrain
No
Surface
1.1.3
Un journal
Pour vous entraner : voici le schma E/A (figure 1.3 du systme dinformation (trs simplifi) dun quotidien.
Exercice A : Un article peut-il tre rdig par plusieurs journalistes ?
Exercice B : Un article peut-il tre publi plusieurs fois dans le mme numro ?
NFP 107 et 107J - Exercices dirigs
PERSONNALITE
JOURNALISTE
1,n
ID
Nom
Date naiss.
1,n
Interview
1,n
ID
Nom
Prenom
Nation.
1,n
A travaille pour
Redige
1,n
1,1
JOURNAL
ID
Titre
Adresse
ARTICLE
0,n
Parait dans
ID
Contenu
1,n
1,1
SUJET
NUMERO
Relatif a
CHAPITRE 1. CONCEPTION
0,n
ID
Libelle
ID
Date
F IGURE 1.3 Journal
CHAPITRE 1. CONCEPTION
Exercice C : Peut-il y avoir plusieurs articles sur le mme sujet dans le mme numro ?
Solution :
1. Non (1,1)
2. Non (lien unique)
3. Oui (pas de lien dunicit numro / sujet)
1.3. RTRO-CONCEPTION
CHAPITRE 1. CONCEPTION
1.3 Rtro-conception
On trouve dans un SGBD relationnel les relations ci-dessous. Les cls primaires sont soulignes, mais pas
les cls trangres.
IMMEUBLE (Adresse, Nb-tages, Date-construction, Nom-Grant)
APPART (Adresse, Numro, Type, Superficie, Etage)
PERSONNE (Nom, Age, Code-Profession)
OCCUPANT (Adresse, Numro-Appart, Nom-Occupant, Date-arrive, Date-dpart)
PROPRIT (Adresse, Nom-Propritaire, Quote-part)
TYPE-APPART (Code, Libell)
PROFESSION (Code, Libell)
Exercice A : Identifier les cls trangres dans chaque relation.
Exercice B : Reconstruire le schma E/A.
Exercice C : Existe-t-il des contraintes dintgrit ? Lesquelles ?
Exercice D : Certaines donnes du schma relationnel rsultent-elles doptimisation ?
Chapitre 2
Algbre Relationelle
2.1 Slection et Projection
Soit la relation
PERSONNE
Nom
Age
Ville
Marc
29
Paris
Catherine
32
Lyon
Sophie
54
Paris
Claude
13
Montpellier
Serge
40
Lyon
Exercice A : Donnez les rsultats des requtes suivantes :
Requte 1 : Age=30 (P ERSON N E) (slection)
Requte 2 : Age (P ERSON N E) (projection)
Requte 3 : Age (N om= Serge (P ERSON N E)) (projection, slection)
Exercice B : Exprimez les requtes suivantes en algbre relationnelle :
Requte 1 : les personnes (nom, ge, ville) qui habitent Paris.
Solution :
V ille= P aris (P ERSON N E)
Requte 2 : les personnes (nom, ge, ville) qui ont moins de 30 ans.
Solution :
Age<30 (P ERSON N E)
Requte 3 : les villes dans la relation PERSONNE.
Solution :
V ille (P ERSON N E)
Requte 4 : les noms des personnes habitant Paris.
Solution :
N om (V ille= P aris (P ERSON N E))
R
A
a
a
c
d
S
B
b
f
b
e
B
b
e
b
g
C
c
a
d
b
o les attributs A, B, C sont dfinis sur les domaines des lettres de lalphabet.
Donnez le rsultat des requtes suivantes :
Requte 1 : R 1 S (jointure naturelle).
Requte 2 : A=C (B/B (R) S) (qui-jointure).
Requte 3 : R < S = R (R 1 S) (semijoin).
Solution :
R1S
A=C (B/B (R) S)
A B C
A B B
C
a b c
a b
e
a
a b d
a
f
e
a
c b c
c
b b
c
c b d
d
e
b
d
d e a
Exercice B : Est-ce que les quations suivantes sont vraies ?
R < S
A
B
a
b
c
b
d
e
A,B (R 1 S) =
(2.1)
B,C (R 1 S) =
(2.2)
Solution :
NON :
A,B (R 1 S)
A
B
a
b
c
b
d
e
B,C (R 1 S)
B
C
b
c
b
d
e
a
T
A
a
a
c
c
b
e
B
b
c
a
d
a
f
TS
A B
a b
a c
c a
b a
Chapitre 3
3.1.1
3.1.2
ENO
10
EMP 20
30
40
DNO
1
DEPT
2
3
ENOM
Joe
Jack
Jim
Lucy
PROF
Ingnieur
Technicien
Vendeur
Ingnieur
DNOM
Commercial
Production
Dveloppement
DATEEMB
1.10.93
1.5.88
1.3.80
1.3.80
DIR
30
20
40
SAL
4000
3000
5000
5000
COMM
3000
2000
5000
5000
DNO
3
2
1
3
VILLE
New York
Houston
Boston
ENOM
Joe
Jack
PROF
Ingnieur
Technicien
DATEEMB
1.10.93
1.5.88
SAL
4000
3000
COMM
3000
2000
DNO
3
2
COMM
3000
2000
5000
5000
SAL
3000
5000
5000
5000
5000
ENO
10
30
40
40
30
COMM
3000
5000
5000
5000
5000
Exercice D : Exprimer par une phrase ce quon obtient en valuant les requtes prcdentes.
Solution :
Expression 1 : on obtient les employs dont le salaire est infrieur 5000.
Expression 2 : on obtient le numro et la commission des employs.
Expression 3 : on obtient les couples de numros demploys dont le premier a un salaire qui est
gal la commission du deuxime.
Exercice E : Quelle est lexpression de lalgbre relationnelle qui permettrait dobtenir le nom et la profession de lemploy de numro 10.
Solution :
EN OM,P ROF (EN O=10 (EM P ))
3.3. REQUTES
Exercice F : Idem pour la liste des noms des employs qui travaillent New York.
Solution :
EN OM (EM P 1 (V ILLE= N ewY ork (DEP T )))
Exercice G : Idem pour avoir le nom du directeur du dpartement Commercial.
Solution :
EN OM (EM P 1EN O=DIR DIR (DN OM = Commercial (DEP T )))
3.3 Requtes
Exprimer les requtes Q1 Q18 laide de lalgbre relationnelle.
Exprimer en SQL les requtes Q1 Q24.
3.3.1
3.3. REQUTES
3.3.2
Jointures
SQL :
SELECT E2.ENOM
FROM EMP E1, EMP E2
WHERE E1.DNO = E2.DNO
AND E1.PROF = INGNIEUR;
3.3. REQUTES
Requte 11 : Donner le salaire et le nom des employs gagnant plus quun (au moins un) ingnieur.
Solution :
Algbre :
R1
:=
R2
:=
SQL :
SELECT E1.ENOM, E1.SAL
FROM EMP E1, EMP E2
WHERE E2.PROF=INGENIEUR
AND E1.SAL > E2.SAL;
ou
SELECT ENOM, SAL FROM EMP
WHERE SAL > ANY (SELECT SAL
FROM EMP
WHERE PROF=INGENIEUR);
Requte 12 : Donner le salaire et le nom des employs gagnant plus que tous les ingnieurs.
Solution :
SQL :
SELECT ENOM, SAL FROM EMP
WHERE SAL > ALL (SELECT SAL
FROM EMP
WHERE PROF=INGENIEUR);
Requte 13 : Donner les noms des employs et les noms de leurs directeurs.
Solution :
Algbre :
R1 :=
R2 :=
R3 :=
R2 :=
R3 :=
DEP T 1 R1
EN OM (EN OM <> JIM (EM P ) 1 R2)