mercredi 23 mars 2011

Examen Corrigé Modèle de données relationnel et SQL et Analyse Merise MLD MCD

Objectifs : - Etudier les dépendances fonctionnelles.
                  - Etablir le MCD ET LE MLD.
                  - Ecrire des requêtes SQL.



 
I - Conception des bases des données

Énoncé

Pour réaliser un livre d’exercices sur les bases de données, un groupe d’auteurs a décidé de classifier les  exercices proposés en plusieurs types et que chaque exercice à un niveau de difficulté qui permet de donner  une estimation sur la durée de résolution suivant le type de l’exercice.   L’élaboration   du  modèle  conceptuel   du   livre  a  permis  d’avoir   les  attributs suivants :


-    numéro-exercice
-    type-exercice
-    libellé-du-type-exercice
-    niveau-difficulté
-    libellé-niveau-difficulté
-    nom-auteur (identifiant de l’auteur)
-    carrière-auteur
-    durée-résolution-estimée :  l’estimation  est  faite  par  type  d’exercice  et  par  niveau  de difficulté.
-    énoncé-exercice

-    part-auteur : un exercice peut être réalisé par plusieurs auteurs et on enregistre ainsi la part de participation de chaque auteur dans un exercice donnée.



Travail à faire :

1-  Étudier les dépendances fonctionnelles entre les attributs.
2-  Faire le MCD normalisé.
3-  Déduire le MLD de la base de données conçue.


II -  Manipulation des B.D.


Énoncé

La base de données appelée « MEDECIN », est composée des trois relations qui peuvent être schématisées comme suit :




Travail à faire :


Écrire en langage SQL les requêtes suivantes :

1.  Requête pou afficher les Num-cons effectués par le patient numéro 852 sur les 5 dernières années.

2.  Requête pour afficher toutes les informations sur les consultations effectuées par le même patient de la question 1 et sur la même période.

3.  Requête pour afficher le nombre de consultations effectuées le mois 12 de l’année 99.

4.  Requête pour afficher les patients qui sont clients du cabinet avant le début de l’année 98.

5.  Requête pour afficher le nombre de consultations effectuées par chacun des clients pendant les 5 dernières années.

6.  Lister les numéros de maladies, les cod-patient et leurs dates de détection concernant les maladies ayant pour symptôme la fièvre.

----------------------------------------------------------
 
- Correction d'examen.

I - Conception des bases des données

Modèle conceptuel de données (MCD)



Modèle logique de données (MLD)


TYPE_EXERCICE = (Type-exercice, libellé-du-type-exercice) EXERCICE = (Numéro-exercice, Enonce-exercice, type-exercice)

AUTEUR = (Nom-auteur, carrière-auteur)

PARTICIPER = (numéro-exercice, Nom-auteur, part-auteur) DIFFICULTE = (Niveau-difficulté, libellé-niveau-difficulté)

RESOUDRE = (Type-exercice, Niveau-difficulté, durée-résolution-estimée)




II -  Manipulation des B.D.

1.  SELECT Num-Cons FROM Consultation WHERE (Cod-patient = 852) AND (Date-cons
> #31/12/1995#)


2.  SELECT  Cod-patient,  Consultation.Num-cons,  Date-cons,  Num-maladie,  Symptome- maladie, Observations FROM Consultation, maladie WHERE (Cod-patient = "852") AND (Date-cons > #31/12/1995#) AND (Consultation.Num-cons = Maladie.Num-cons)


3.  SELECT COUNT(*) FROM Consultation WHERE Date-cons LIKE #??/12/1999#


4.  SELECT  DISTINCT  Code-patient,  Nom-pat,  Adresse  FROM  Consultation,  Patient
WHERE    (Consultation.Cod-patient=Patient.Cod-patient)     AND    (Date-cons    <  #01/01/1998#)


5.  SELECT    Cod-patient,    COUNT(*)    FROM    Consultation    
     WHERE    Date-cons   <  #31/12/1995# GROUP BY Cod-patient


6.  SELECT Num-maladie, Cod-patient, Date-cons FROM Consultation, Maladie
     WHERE (Symptome-maladie = "Fièvre") AND (Consultation.Num-cons=Maladie.Num-cons)

0 commentaires:

Enregistrer un commentaire

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites

 

IP