0% ont trouvé ce document utile (0 vote)
75 vues4 pages

Modèle E/A et SQL pour Gestion de Journaux

Transféré par

emnamez2
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
75 vues4 pages

Modèle E/A et SQL pour Gestion de Journaux

Transféré par

emnamez2
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Eléments de Correction TD N° 1

(E/A LDD)

Exercice 1 :

Un journal en ligne décide informatiser son système d'information et vous offre les
spécifications suivantes :
Le journal gère un ensemble de journalistes dont chacun est identifié par un numéro et est
caractérisé par un nom, un prénom et une date de naissance.
Un journaliste peut participer dans la rédaction d’articles, caractérisé chacun par un
identifiant, un titre un type (National, International, Régional), un thème (Sport, Art, …) et un
contenu et doit paraître dans l’une des éditions du journal. Pour chaque édition correspond un
numéro unique et une date d’édition.
Pour la rédaction d’un article, un journaliste peut jouer le rôle d’auteur principal ou d’auteur
secondaire.
Travail demandé :
1. Proposez un modèle E/A relatif à l’énoncé décrit précédemment.
2. Traduisez le modèle relationnel correspondant au modèle E/A construit.
1-

Journalist Editio
e
+NumJrnl n
+IdNumJourn
+NomJrnl
st
+PrenJrnl al
+DateEdNumJour
st
+DateNaisJrnl
st nal
st 1
r N
ge
di
Re Rôle

Articl
e N
+IdAr
ee
+TitreA
t
Paraîtr
+TypA
rt
+ThemA
rt
+Contenu
rt
Art

2-

Le modèle relationnel correspondant :

Journaliste (NumJrnlst, NomJrnlst, PrenJrnlst, DateNaisJrnlst)

Article (IdArt, TitreArt, TypArt, ThemArt, ContenuArt, # IdNumJournal)


Edition (IdNumJournal, DateEdNumJournal)

Rediger (#NumJrnlst, #IdArt, Role)

Exercice 3 :
Soit le modèle relationnel suivant, décrivant la gestion de réparation de voitures dans un
garage de mécanique :

CLIENT (NumClt Number(4), NomClt varchar(15), PrenomClt varchar(15), AdresseClt varchar(30),


NumTelClt Number(8))
OUVRIER (NumOuv Number(3), NomOuv varchar(15), PrenomOuv varchar(15), AdresseOuv
varchar(30), DateNaisOuv Date)

VOITURE (ImmatV varchar(11), MarqueV varchar(10), ModeleV varchar(10), #NumClt Number(4))


RECEPTION (NumR Number(7), DateArrivee Date, DiagnosPanne varchar(30), #ImmatV
varchar(11)) : à l’arrivée d’une voiture au garage pour réparation, une diagnostique sera
effectuée pour déterminer la/les panne(s) nécessitant une intervention.
REPARER (#NumOuv Number(3), #NumR Number(7), Tâche varchar(30), nbHeuresTravail
Number(2))

1- Schématisez le diagramme Entité/Association relatif.

1 N 1 N
Client Posséde Voiture Relatif Réception

-NumCLT -ImmatV -NumR


M
-NomClt -MarqueV -DateArrivee
-PrenomClt -ModeleV -DiagnosPanne
-AdresseClt
Réparer
-NumTelClt N
Ouvrier Tâche-
NbHeuresTravail-
-NumOuv
-NomOuv
-PrenomOuv
-AdresseOuv
-DateNaisOuv

Exercice 4 :

1-
Create table Patient
(codpat number(7) primary key,
nompat varchar2(20),
prenpat varchar2(20),
datenaispat date);
Create table Medecin
(codmed number(5) primary key,
nommed varchar2(20),
prenmed varchar2(20),
specmed varchar2(15),
grademed varchar2(5),
Constraint ck_grd check(grademed in ('MSP', 'MPSP', 'MMSP', 'MSSP', 'MSPSP', 'MSMSP'))
);

Create table Examen


(desgexm varchar2(25) primary key,
typeexm char(1) check (typeExm in ('A','R')),
valUslmin number(7),
valUslmax number(7),
constraint chk_exm check (valUslmax>valUslmin));

Create table resultatexm


(desgexm varchar2(25),
codpat number(7),
dateexm date default sysdate,
valexmpat number(7) not null,
codmeddemandeur number(5),
constraint pk_res primary key(desgexm,codpat, dateExm),
constraint fk_res1 foreign key(desgexm) references examen(desgexm),
constraint fk_res2 foreign key(codpat) references patient(codpat),
constraint fk_res3 foreign key(codmeddemandeur) references medecin(codmed)
);

2)
a) Ajouter un attribut « DescRad » de taille 50 caractères à la table Examen.

alter table examen


add( descrad varchar2(50));
b) Créer une nouvelle table nommée « ExamenRadio », dont chaque tuple est identifié
par une désignation et caractérisé par une description de cas normaux, avec insertion
de lignes à partir de la table examen.

Create table examenRadio (desgexm primary key, descrad)


As Select desgexm,descrad from examen where typeexm='R';

Ou bien
Create table examenRadio
As Select desgexm,descrad from examen where typeexm='R';

alter table examenRadio


add constraint pk_ER primary key (desgexm)

c) Créez une nouvelle table nommée « ExamenAnalyse », dont chaque tuple est identifié
par une désignation et caractérisé par une valeur usuelle minimale et une valeur
usuelle maximale, avec insertion de lignes à partir de la table examen.
Create table examenAnalyse (desgexm primary key, ValUslMin, ValUslMax)
As Select desgexm, ValUslMin, ValUslMax from examen where typeexm='A';

d) Supprimez les colonnes DescRad, ValUslMin et ValUslMax de la table Examen.

Alter table Examen


Drop (DescRad, ValUslMin, ValUslMax);

e) Ajoutez les contraintes de clés étrangères aux tables créées pour faire référence à la
table examen et la contrainte définie sur les valeurs usuelles minimale et maximale à la
table « ExamenAnalyse ».

Alter table examenRadio


Add Constraint fk_ExmR foreign key (DesgExm) references Examen(DesgExm);

Alter table examenAnalyse


Add (constraint fk_ExmA foreign key (DesgExm) references Examen(DesgExm),
Constraint ck_exm check (valUslmax>valUslmin));

Vous aimerez peut-être aussi