Correction du partiel de bases de données - Université d'Orléans
Par ailleurs, afin de mettre à jour sa base de données, l'agent immobilier vous
demande : - de supprimer l'appartement référencé 2006A. - de modifier le prix de
...
part of the document
Correction du partiel de bases de données
Exercice 1 : Modèle entité-association et relationnel
SHAPE \* MERGEFORMAT
Remarques mineures sur le MCD :
La solution nest évidemment pas unique. Aucun problème si vous avez géré les adresses comme des attributs à rajouter aux accompagnateurs et aux clients, si vous avez essayé de gérer les prix « standard » et « élevé » ou encore le payement des inscriptions et que cette gestion reste raisonnable.
Laptitude des accompagnateurs à accompagner un voyage peut elle aussi être gérée différemment, il y a en effet redondance entre les qualifications et laspect expérience des accompagnateurs/difficulté du circuit.
Remarques majeures sur le MCD :
Le voyage devait apparaître en tant quentité. Daprès le troisième alinéa du sujet, on peut lenvisager comme association entre Date et Circuit. Cependant les clients sinscrivent pour des voyages et on naurait pas pu associer lentité Client à lassociation Voyage. Une autre approche que certains ont tentée est davoir une entité Date et de faire une association ternaire correspond entre Date, Circuit et Voyage. Ceci pose un problème au niveau du passage au MLD : à un voyage correspond exactement une date et un circuit. Si vous faites une association ternaire cette contrainte ne sera pas prise en compte (en fait il y aurait une CIF dans une association ternaire, chose que vous navez jamais vue et qui vous aurait de toute façon conduit à retenir la modélisation ci-dessus).Enfin, précisons que cette association valait un point, sur les deux points prévus pour les associations. Cest normal puisque cest lassociation la plus importante.
Un Client fait une inscription pour un Voyage et non pas pour un Circuit. De la même façon, un Accompagnateur est affecté (accompagne) un Voyage et non pas un Circuit.
Modèle relationnel :
Circuit(numéro circuit, nom circuit, description, nbMax particip, difficulté)
Voyage(numéro voyage, nom voyage, prix, numéro circuit, date, numéro accompagnateur)
Client(numéro cli, nom cli, prénom cli, téléphone cli, numéro, rue, ville, code postal)
Accompagnateur(numéro acc, nom acc, prénom acc, téléphone acc, expérience, numéro, rue, ville, code postal)
Inscription(numéro voyage, numéro cli, statut)
Requiert(numéro circuit, descr qualif)
Possède(numéro acc, descr qualif)
Exercice 2 : requêtes
Requête 1
PROJECTION NumLicence (SELECTION Valeur/@/d/v/00N0X0h0j011â1ä1æ12*25262@2J2óèáóèáóèÙáóÐèÙÎÙèÇÃÇÃÇ¿¸Ã¸Ã±Ã±Ã±¸Ã¸Ã±Ã±¸Ãé±h=Uh=UH*mH sH jxðh=Uh=JvmH sH h=Uh=UmH sH h=JvhmvÍh=Uh=Uh=Uh¡$h¡$h=Uh¡$h¡$Uh¡$H*mH sH h¡$mH sH jxðh¡$h¡$h¡$mH sH h¡$h¡$H*mH sH 3ON AS FED_MEETING))
La première requête, appelée MEETINGS_BELGIQUE, sélectionne les numéros des meetings ayant eu lieu en Belgique depuis le 1/1/95.SELECT NumMeetingFROM MEETING, FEDERATIONWHERE MEETING.NumFed = FEDERATION.NumFed AND NomPays = 3 Belgique3 AND DateDebut>=#1/1/1995#;Il n y a plus qu à afficher les infos sur les athlètes ayant gagné le 1500m masculin dans l un des meetings ci-dessus :SELECT Nom, Prenom, NomPaysFROM ATHLETE, RESULTATWHERE ATHLETE.NumLicence = RESULTAT.NumLicence AND Epreuve = 3 1500m masculin3 AND Rang = 1 AND NumMeeting IN (SELECT NumMeeting FROM MEETINGS_BELGIQUE);
Requête 5
Attention à la jointure entre RESULTAT et RECORDDUMONDE, elle se fait sur le champ Epreuve.
PROJECTION NomMeeting (SELECTION Valeur = ValeurRecord (MEETING (NumMeeting RESULTAT (Epreuve RECORDDUMONDE))
SELECT Nom, PrenomFROM MEETING, RESULTAT, RECORDDUMONDEWHERE Valeur = ValeurRecord AND MEETING.NumMeeting = RESULTAT.NumMeeting AND RESULTAT.Epreuve = RECORDDUMONDE.Epreuve;
Université dOrléans IAE M1 SM
Faculté de droit, économie, gestion 2004-2005
PAGE 4
Circuit
Numéro circuit
Nom circuit
Description
NbMax particip
Difficulté
Numéro voyage
Nom voyage
Prix
Voyage
correspond
,1æ1d2!3"3B3q3r3~333333¤3°3¿3Ê3Ë3Ù3ä3é3ê3úòêáÔÔÒÐÒÒÈÒÃÃÃÃÃÒÃÃÃÒgdV©$a$gdV©
&dPÆÿgdÜh^hgdmvÍ
&F
gd=U
&F gd=Jvgd=UJ2K2R2d2v2w222£2¸2¹2Ä2!3"3q3r3s3t3z3{3|3}3~3333Ë3Ù3þ3