• Aucun résultat trouvé

Td corrigé Correction du partiel de bases de données - Exercices corriges pdf

N/A
N/A
Protected

Academic year: 2022

Partager "Td corrigé Correction du partiel de bases de données - Exercices corriges pdf"

Copied!
1
0
0

Texte intégral

(1)

Université d’Orléans IAE M1 SM

Faculté de droit, économie, gestion 2004-2005

Correction du partiel de bases de données

Exercice 1 : Modèle entité-association et relationnel

1 Circuit

Numéro circuit Nom circuit Description NbMax particip Difficulté

Voyage Numéro voyage Nom voyage Prix

correspond date

1-n 1-1

CIF

Accompagnateur Numéro acc Nom acc Prénom acc Téléphone acc Expérience

Client Numéro cli Nom cli Prénom cli Téléphone cli

Adresse Numéro Rue Ville Code postal Qualification

Descr qualif requiert

possède 0-n

0-n

0-n

0-n

inscription statut

accompagne

adr acc

adr cli

1-1 1-n

0-n

0-n

1-1

1-n 1-1

0-n CIF

CIF

CIF

(2)

Université d’Orléans IAE M1 SM

Faculté de droit, économie, gestion 2004-2005

Remarques mineures sur le MCD :

1. La solution n’est é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.

2. L’aptitude des accompagnateurs à accompagner un voyage peut elle aussi être gérée différemment, il y a en effet redondance entre les qualifications et l’aspect

expérience des accompagnateurs/difficulté du circuit.

Remarques majeures sur le MCD :

1. Le voyage devait apparaître en tant qu’entité. D’après le troisième alinéa du sujet, on peut l’envisager comme association entre Date et Circuit. Cependant les clients s’inscrivent pour des voyages et on n’aurait pas pu associer l’entité Client à l’association Voyage.

Une autre approche que certains ont tentée est d’avoir 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 n’avez 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. C’est normal puisque c’est l’association la plus importante.

2. 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)

2

(3)

Université d’Orléans IAE M1 SM

Faculté de droit, économie, gestion 2004-2005

Exercice 2 : requêtes

Requête 1

 PROJECTION NumLicence

(SELECTION Valeur<9,9 ET Epreuve= ″100m masculin″

(RESULTAT))

 SELECT NumLicence FROM RESULTAT WHERE Valeur < 9.9

AND Epreuve = ″100m masculin″;

Requête 2

 PROJECTION Nom, Prenom

(SELECTION Epreuve = ″200m féminin″

(ATHLETE NumLicence RESULTAT))

 SELECT Nom, Prenom

FROM ATHLETE, RESULTAT

WHERE ATHLETE.NumLicence = RESULTAT.NumLicence AND Epreuve = ″200m féminin″;

Requête 3

Difficulté : il faut faire l’intersection entre celles qui ont gagné le 100m féminin et celles qui ont gagné le saut en longueur féminin. J’ai mis le NumLicence avant de faire l’intersection pour pas avoir des soucis avec les homonymes.

 PROJECTION Nom (

(PROJECTION Nom, NumLicence

(SELECTION Epreuve = ″100m féminin″ ET Rang = 1 (ATHLETE NumLicence RESULTAT)))

INTERSECTION

(PROJECTION Nom, NumLicence

(SELECTION Epreuve = ″saut en longueur féminin″ ET Rang = 1 (ATHLETE NumLicence RESULTAT)))

)

 SELECT Nom

FROM ATHLETE, RESULTAT

WHERE ATHLETE.NumLicence = RESULTAT.NumLicence AND Epreuve = ″100m feminin″ AND Rang = 1

AND NumLicence IN

(SELECT NumLicence FROM RESULTAT WHERE Epreuve=″saut en longueur féminin″ AND Rang = 1);

3

(4)

Université d’Orléans IAE M1 SM

Faculté de droit, économie, gestion 2004-2005

Requête 4

Difficulté : le pays de l’athlète n’est pas le pays du meeting ! Il faut utiliser deux fois la table FEDERATION.

 PROJECTION Nom, Prenom, FED_ATHLETE.NomPays

(SELECTION Epreuve = ″1500m masculin″ ET FED_MEETING.NomPays = ″Belgique″ ET Rang = 1 ET DateDebut>=#1/1/1995#

(FEDERATION AS FED_ATHLETE) NumFed ATHLETE NumLicence RESULTAT

NumMeeting MEETING NumFed (FEDERATION 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 NumMeeting

FROM MEETING, FEDERATION

WHERE MEETING.NumFed = FEDERATION.NumFed

AND NomPays = ″Belgique″ 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, NomPays FROM ATHLETE, RESULTAT

WHERE ATHLETE.NumLicence = RESULTAT.NumLicence AND Epreuve = ″1500m masculin″ 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, Prenom

FROM MEETING, RESULTAT, RECORDDUMONDE WHERE Valeur = ValeurRecord

AND MEETING.NumMeeting = RESULTAT.NumMeeting AND RESULTAT.Epreuve = RECORDDUMONDE.Epreuve;

4

Références

Documents relatifs

[r]

Pour bénéficier d’une allocation d’étude à distance de l’Agence universitaire de la francophonie, le candidat doit obligatoirement résider dans un

Dans ce document, vous trouverez les corrections de l’exercice 4 du TD2 et de l’application 2 du cours sur les machines frigorifiques.. Correction de l’exercice 4

2-5 exprimer la valeur efficace U de u(t). Calculer sa valeur numérique. Quel doit être l'appareil utilisé pour mesurer U et sur quel mode ?. 2-6 calculer la fréquence de rotation

Les machines à coudre traditionnelles utilisaient un système bielle manivelle glisseur pour transformer la rotation du moteur en un mouvement de va et vient linéaire..

Le seul composé de cette formule ayant deux carbones asymétriques comporte un carbone proteur au moins d'un hydrogène, d'un méthyle, et d'un éthyle soit en tout 4 C il ne reste que

b) Après centrifugation en gradient de CsCl, l’acide nucléique natif conduit à l’obtention d’une seule bande correspondant à une densité de 1,77g/cm 3 alors que

En effet, bien que le centre de poussée de la force d'Archimède dans le plan initial et le centre de gravité du barreau soient alignés sur une même verticale, le centre de gravité