master EGO - Système d`information - décembre 2006

Transcription

master EGO - Système d`information - décembre 2006
master EGO - Système d’information - décembre 2006
tous documents autorisés
December 4, 2006
1
Mariages
Présentation
Un grand magasin a décidé d’ouvrir à sa clientèle un nouveau service intitulé : listes de mariage. Le magasin gèrera
donc plusieurs mariages et leurs différentes listes. Pour un mariage, on a mémorisé le nom des époux et la date du
mariage.
Le magasin est organisé en rayons correspondant à des lignes de produits : Hi-Fi, Vidéo, Electro-ménager, Textiles,
Décoration, Mobilier, Literie, Vaisselle, etc.
Les futurs mariés choisissent des articles qu’ils désirent se voir offrir. La liste des articles choisis constitue la liste
de mariage.
Les futurs époux communiquent au magasin les noms et adresses des invités. Le magasin se charge d’envoyer la
liste de mariage aux invités. Puis, le magasin accueille et conseille les invités.
Les invités choisissent dans la liste, le ou les cadeaux qu’ils offriront aux mariés.
En général un invité offre un cadeau. Mais un invité généreux (ou fortuné) peut offrir ou participer à plusieurs
cadeaux. Certains invités n’offrent pas de cadeaux.
Pour un cadeau coûteux, des invités peuvent se grouper pour offrir ensemble le cadeau. Le magasin mémorise
simplement quels sont les invités qui ont participé et à quel pourcentage ils ont participé (le pourcentage est un chiffre
entier compris entre 0 et 100). Donc dans le cas où un invité offre, à lui seul, un cadeau, le pourcentage est 100%.
Evidemment, le cadeau que peut offrir un invité est nécessairement à choisir parmi ceux de la liste, à condition
qu’il n’ait pas déjà été offert par quelqu’un d’autre.
Le modèle logique des données est donné à la suite des questions
Questions
Téléchargez la base de données qui se trouve sur le site http://www.grappa.univ-lille3.fr/˜terlutte/exam/rh.html.
Répondez aux questions suivantes en concevant des requêtes.
Vous indiquerez clairement les tables ouvertes, les liens, les champs affichés (avec les éventuelles opérations), les
regroupements, les tris, les critères de sélection...
Si vous répondez à une question par plusieurs requêtes, indiquez le nom des vues que vous créez.
1. Affichez le catalogue du magasin ; c’est à dire tous les articles (avec libellé et prix) par rayon. Présentez l’affichage
par rayon et par prix décroissant.
2. Affichez la liste des articles de la liste de mariage de Melle Jeanne Lelong qui appartiennent au rayon HiFi et
ceux dont le prix est inférieur à 100 euros.
3. Pour le mariage de Melle Jeanne Lelong, affichez les invités ayant participé à plus de 50% à l’achat de cadeaux.
4. Affichez les invités ayant participé à plusieurs (plus qu’un) cadeaux.
5. Affichez le montant dépensé par chaque invité. On souhaite le montant total de ces achats, pas le montant de
chaque participation ; mais, bien sûr, vous pouvez commencer par afficher le montant de chaque participation.
6. Affichez les noms du couple du premier mariage qui a fait appel aux services du magasin.
1
Modèle logique des données
Le nom de l’entité est en majuscules, l’identifiant est souligné, les références sont en italiques.
Mais vérifiez si les noms sont en majuscules ou en minuscules.
Rayons
NoRayon
LibelleRayon
Articles
NoArticle
LibelleArticle
Prix
RefRayon
RefRayon
= NoRayon
RefArticle
= NoArticle
RefArticle
= NoArticle
Cadeaux
RefArticle
RefInvite
Pourcentage
ListesMariage
RefArticle
RefMariage
RefInvite
= NoInvite
RefMariage
= NoMariage
Invites
NoInvite
NomInvite
AdresseInvite
RefMariage
2
RefMariage
= NoMariage
Mariages
NoMariage
NomEpouse
NomEpoux
DateMariage
Cabinet médical
Un cabinet médical désire mémoriser les prescriptions faites lors des consultations.
Le cabinet médical regroupe plusieurs médecins. Pour chaque médecin, on mémorise juste le nom.
Pour les patients, on mémorise le nom, le sexe et la date de naissance du patient.
Une consultation concerne un médecin et un patient. Une consultation a lieu à un jour et à un horaire donnés. Le
médecin inscrit une brève description des symptômes ; pour simplifier, on supposera que la description se fait dans un
court texte de moins de 200 caractères.
Lors de la consultation, le médecin va certainement prescrire des médicaments. Il établit une ordonnance précisant
le nombre de boites nécessaires au traitement.
Pour les médicaments, on mémorise le libellé et le prix du médicament.
Enfin, on mémorise aussi le montant de la consultation et une propriété indique si la consultation a été payée.
1. Dessinez le MCD pour le cabinet médical
2. Réalisez-le avec le logiciel AnalyseSI. Dessinez le MLD et recopiez le script SQL obtenu.
3. Indiquez quelles modifications il faut apporter au script avant de l’exécuter dans le logiciel OpenOffice.
December 4, 2006 à 12h24
2/4
December 4, 2006 à 12h24
Correction des requêtes
1.
TABLES OUVERTES
JOINTURES
CHAMPS AFFICHÉS
TRIÉ PAR
Rayons, Articles
Rayons.NoRayon = Articles.RefRayon
Rayons.LibelleRayon
Articles.LibelleArticle
Articles.Prix
Rayons.LibelleRayon
Articles.Prix (décroissant)
2.
TABLES OUVERTES
JOINTURES
CHAMPS AFFICHÉS
CRITÈRES
ou
Mariages, ListesMariage, Articles, Rayons
Mariages.NoMariage = ListesMariage.RefMariage
ListesMariage.RefArticle = Articles.NoArticle
Rayons.NoRayon = Articles.RefRayon
Articles.LibelleArticle
Mariages.NomEpouse = ’Jeanne Lelong’ et Rayons.LibelleRayon = ’HiFi’
Mariages.NomEpouse = ’Jeanne Lelong’ et Articles.Prix < ’100’
3.
TABLES OUVERTES
JOINTURES
CHAMPS AFFICHÉS
CRITÈRES
et
Mariages, Invités, Cadeaux
Mariages.NoMariage = Invités.RefMariage
Invités.NoInvité = Cadeaux.RefInvité
Invités.NomInvité
Mariages.NomEpouse = ’Jeanne Lelong’
Cadeaux.Pourcentage > 50
4.
TABLES OUVERTES
JOINTURES
CHAMPS AFFICHÉS
REGROUPÉS PAR
CRITÈRES
Invités, Cadeaux
Invités.NoInvité = Cadeaux.RefInvité
Invités.NomInvité
compte de Cadeaux.RefArticle
Invités.NoInvité
Invités.NomInvité
compte de Cadeaux.RefArticle > 1
5.
TABLES OUVERTES
JOINTURES
CHAMPS AFFICHÉS
REGROUPÉS PAR
Invités, Cadeaux, Articles
Invités.NoInvité = Cadeaux.RefInvité
Cadeaux.RefArticle = Articles.NoArticle
Invités.NomInvité
somme de Cadeaux.Pourcentage * Articles.Prix / 100
Invités.NoInvité
Invités.NomInvité
6. Il faut deux requêtes : on cherche la plus petite date de mariage, puis on cherche le couple correspondant.
TABLES OUVERTES
CHAMPS AFFICHÉS
Mariages
min de Mariages.DateMariage as MinDate
Enregistrée en tant que vue DatePremierMariage
TABLES OUVERTES
JOINTURES
CHAMPS AFFICHÉS
December 4, 2006 à 12h24
Mariages, DatePremierMariage
Mariages.DateMariage = DatePremierMariage.MinDate
Mariages.NomEpouse
Mariages.NomEpoux
3/4
December 4, 2006 à 12h24
Correction du cabinet médical
Le nom de l’entité est en majuscules, l’identifiant est souligné.
Médecins
NoMédecin
NomMédecin
0:n
reçoit
◮
1:1
Consultations
NoConsultation
Jour
Horaire
Symptomes
Montant
Payé
1:1
consulte
◭
1:n
Patients
NoPatient
NomPatient
Sexe
DateNaissance
0:n
prescription
Nombre
0:n
Médicaments
NoMédicament
Libellé
Prix
Figure 1: le cabinet médical
Ce MCD est réalisé sous AnalyseSI. Il fournit le MLD et le script SQL.
Une fois le
Prix
Montant
Payé
script obtenu, il faudra modifier les types pour être compatible avec OpenOffice.
initialement numeric(6) deviendra numeric(6,2)
initialement numeric(6) deviendra numeric(6,2)
initialement bool
deviendra boolean
December 4, 2006 à 12h24
4/4
December 4, 2006 à 12h24

Documents pareils