Solution Examen 2 en informatique de gestion - Modélisation

Modélisation Merise : Solution Examen 2 en informatique de gestion

Télécharger PDF


1

Parcours Gestion

S5

AU : 2018/2019

Examen en informatique de gestion - Solution

Cet examen sur deux pages comporte trois exercices sur 20 points d’une durée de 1H30.

Exercice1

On considère le schéma relationnel suivant :

Employé (Matricule, Nom, Prénom, Poste, #Grade, Datemb, #Supr, #Snum)

Service (Snum, Snom)

Salaire (Grade, Salmin, Salmax)

Sachant que :

- Chaque attribut souligné est une clé primaire.

- Chaque # correspond à la clé étrangère.

- L'attribut Supr correspond au matricule qui représente le supérieur

hiérarchique

Travail à réaliser :

1. Donnez le MCD correspondant au schéma relationnel ci-dessus.

Solution :

2. Répondez par Vrai ou Faux aux questions suivantes et justifier votre réponse :

a. Un employé peut avoir plusieurs supérieurs hiérarchiques?

Réponse : Faux, dans la table Employé le matricule est une clé primaire, ne peut pas se

répéter et la clé primaire détermine les attributs de la relation cela veut dire que pour chaque

matricule il y a une seule valeur pour chacun des autres attributs et donc pour le supr aussi.

b. Deux employés différents peuvent avoir le même poste avec deux grades

différents?

Réponse : Vrai, Dans la table employé le matricule est une clé primaire et comme il s'agit de

deux employés différents, le matricule ne se répète pas, chacun peut avoir un poste (celui-ci

n'est pas une clé primaire: il peut avoir la même valeur pour deux employés) et un grade (le

même ou différent sans importance).

Service

#SNum

SNom

EMPLOYE

#Matricule

Nom

Prénom

Poste

Datemb

Salaire

#Grade

Salmin

Salmax

Travaille

Avoir

Supérieur

0-N

1-1

0-N

0-N

1-1

0-1


2

3. Modifiez le schéma de la base de données pour permettre à un employé d'évoluer dans

l'entreprise en changeant de poste. On souhaite enregistrer les différents postes

occupés par l'employé et leur date d'embauche (datemb).

Réponse : Si le poste et la date d'embauche sont multiples pour un même employé, il ne faut

pas les garder dans la table employé, la solution est :

Employé (Matricule, Nom, Prénom, #Grade, #Supr, #Snum)

Travail (Matricule, poste, datemb) la clé primaire composée signifie qu'un employé

peut avoir plusieurs poste. Pour chaque poste d'un employé on enregistre la date d'embauche.

Exercice2

Soit le schéma relationnel (MLD) suivant correspondant à la gestion des consultations dans un cabinet

médical:

Medecin (Matricule , MNom , Prénom , Spécialité, Prix)

Consultation (Matricule , PNum, date )

Patient (PNum , PNom, Tel, fonction)

Répondre aux Questions suivantes par vrai ou Faux et justifier votre réponse :

1. Un Patient peut être consulté par plusieurs médecins différents?

Réponse : Vrai car dans la table Consultation la clé primaire est composée des attributs:

Matricule et PNum cela veut dire qu'un patient peut aller en consultation chez plusieurs

médecins et un médecin peut consulter plusieurs patients.

2. Un médecin peut enregistrer toutes les dates de consultation d'un même patient?

Réponse : Faux car dans la table Consultation la clé primaire composée des attributs:

Matricule et PNum ne peut pas se répéter et donc pour un médecin (Matricule) et un Patient

(PNum) on ne peut enregister qu'une seule date (la dernière).

Répondre aux questions suivantes en utilisant une requête SQL :

3. Afficher la liste des médecins de spécialité "Cardiologie".

Réponse : SELECT * from Medecin Where spécialité = "Cardiologie";

4. Afficher le nom des patients, la date et le prix des consultations du Medecin

'Bennouna".

Solution : SELECT PNom, date, prix from Medecin M , Patient P , Consultation C

Where (M.Matricule = C.Matricule) and (C.PNum = P.PNum) and (MNom =

"Bennouna");

5. Afficher pour chaque spécialité le nombre de médecins et le prix moyen des

consultations.

Solution : SELECT Spécialité , count(*) , AVG(Prix)

From Medecin

Group by Spécialité;

6. Afficher le nom des médecins ayant le prix le plus élevé (Max).

Solution : SELECT MNom

From Medecin

Where prix = (Select Max(Prix) From Medecin);


3

Exercice3

Ce système d’information correspond à la gestion des consultations dans un cabinet médical.

On suppose qu'il y a plusieurs médecins qui travaillent dans le cabinet.

Pour chaque médecin on enregistre son matricule, son nom et sa spécialité.

A chaque fois qu'un patient (connu par son numéro et son nom) vient au cabinet pour une

consultation, on enregistre un code de consultation unique avec la date et l'heure ainsi que les

médicaments prescrits par le médecin sur l'ordonnance.

Le médecin peut voir en consultation le même patient plusieurs fois à des dates différentes.

L'ordonnance contient le code, le nom des médicaments et la dose de chacun.

Travail à réaliser :

1. Donnez le MCD correspondant (6 points)

2. Donnez le MLD correspondant (2 points)

Solution MCD:

Solution MLD:

Patient (PNum , PNom)

Consultation (code, Date, #PNum , #Matricule)

Medecin (Matricule , MNom, spécialité)

Ordonnace (Ocode, code)

Médicaments (Mcode , Mintitulé)

Contient (Ocode, Mcode, Dose)

Patient

#PNum

PNom

Consultation

#code

Date

Medecin

#Matricule

MNom

Spécialité

Appartient

Correspond

Responsable

1-N

1-1

1-1

1-1

0-1

1-N

Ordonnance

#Ocode

Médicaments

#Mcode

Mintitulé

Contient

Dose

1-N

0-N