Sunteți pe pagina 1din 2

M1 MIASHS

BD avanc ees

BD relationnelles Agence de voyages


Gestion des voyages et des inscriptions
Un organisme de voyages sp ecialis e dans les voyages ` a l etranger a informatis e les inscriptions. Lorganisme propose ` a ses clients des circuits r epertori es dans des catalogues (table CATALOGUES). Chaque circuit poss` ede une ville de d epart (en g en eral, en France, table VILLES), une premi` ere destination (la premi` ere ville du circuit, table DESTINATIONS), un intitul e, une dur ee et plusieurs lieux de passage (table PASSAGES). Chaque circuit est propos e` a di erentes p eriodes de lann ee. Les prix d ependent du circuit et de la p eriode. La dur ee dun circuit est xe. Un voyage est la r ealisation dun circuit ` a une certaine date. Chaque voyage est accompagn e par un animateur. Une inscription est eectu ee pour chaque participant ` a un voyage. Un responsable de linscription est associ e ` a chaque inscription (par exemple, une personne inscrivant plusieurs membres dune m eme famille). Chaque inscription est associ ee ` a un vendeur. Les clients peuvent avoir un pourcentage de r eduction li ee ` a une adh esion ` a un partenaire de lorganisme ou ` a sa participation ` a dautres voyages. Le montant ` a payer est calcul e en fonction du montant du voyage et de cette r eduction. Pour cette gestion, le mod` ele relationnel suivant a et e d eni (les cl es primaires sont en gras, les cl es etrang` eres en italique, elles sont de type INTEGER) : CATALOGUES(numcatalogue, dated ebutvalidit e, datenvalidit e, nomvoyagiste) CIRCUITS(numcircuit, intitul e, dur ee, refvilledepart, refpremdestination, refcatalogue ) VILLES(numville, ville, pays) DESTINATIONS(numdestination, nomdestination, pays, continent) PASSAGES(refcircuit, refdestination) VOYAGES(numvoyage, dated epart, refp eriode, refcircuit, refanimateur ) TARIFS(refcircuit, refp eriode, prix) ANIMATEURS(numanimateur, nom, pr enom) PERIODES(nump eriode, dated ebut, daten) INSCRIPTIONS(numinscription, dateinscription, montantdu, acomptevers e, datepaiementsolde, montantsolde, refvoyage, refvendeur, refclientparticipant, refclientresponsableinscription ) VENDEURS(numvendeur, nom, pr enom, postetel, m` el) CLIENTS(numclient, r eduction, nom, pr enom, adresse, codepostal, ville, r egion, pays, tel, fax, m` el) Q1 Donner un mod` ele conceptuel des donn ees (entit e-association) compatible avec ce mod` ele logique. Q2 le mod` ele permet-il davoir des p eriodes di erentes selon les circuits pour leur tarication ? Q3 Le mod` ele permet-il de g erer les r eservations ? Les annulations ? Q4 Expliquer pourquoi le montant ` a payer ne devrait pas gurer dans le mod` ele relationnel. Pourquoi est-il ajout e ? Voyez-vous un autre champ redondant ? Q5 Donner les contraintes dint egrit e li ees ` a la table INSCRIPTIONS, en particulier les contraintes de r ef erence et lautorisation de la valeur NULL et les contraintes li ees ` a la d enormalisation. Q6 Ecrire une requ ete SQL qui ache les num eros de voyage, intitul e, date de d epart et date de retour (la dur ee dun voyage est celle du circuit correspondant) avec un d epart en janvier 2014. Q7 M eme question en ajoutant le nombre dinscrits par voyage (donner les modications ` a eectuer). Q8 M eme question en se limitant aux voyages avec moins de 4 inscrits dont le d epart du voyage ne pourrait etre assur e (donner les modications ` a eectuer). Q9 Dire si les deux requ etes sont equivalentes. Si oui dire celle qui vous semble la plus ecace en fonction des index existants.

SELECT V.numvoyage, V.datedepart, Ci.intitul e FROM (((VOYAGES V JOIN CIRCUITS Ci ON V.refcircuit=Ci.numcircuit) JOIN INSCRIPTIONS I ON I.refvoyage=V.numvoyage) JOIN CLIENTS Cl ON I.refclientparticipant=Cl.numclient) WHERE Cl.pays <>"France" AND YEAR(V.datedepart)=2013 AND MONTH(V.datedepart)=8 SELECT V.numvoyage, V.datedepart, Ci.intitul e FROM ((VOYAGES V JOIN CIRCUITS Ci ON V.refcircuit=Ci.numcircuit) WHERE V.numvoyage IN (SELECT VOYAGES.numvoyage FROM ((VOYAGES JOIN INSCRIPTIONS ON INSCRIPTIONS.refvoyage=VOYAGES.numvoyage) JOIN CLIENTS ON INSCRIPTIONS.refclientparticipant=CLIENTS.numclient) WHERE YEAR(VOYAGES.datedepart)=2013 AND MONTH(VOYAGES.datedepart)=8 AND CLIENTS.pays <>"France") Q10 Trouver (au moins) deux fa cons d ecrire la requ ete suivante : acher les voyages partant en d ecembre 2013 pour lesquels il ny a pas dinscrit.

Am eliorer le service et les ventes


Description du domaine Lagence souhaite am eliorer ses performances et ses relations client. Pour cela, elle souhaite cibler ses envois de catalogue en fonction des prols de client, elle souhaite etoer son ore vers les destinations les plus recherch ees, elle souhaite proposer ses voyages aux meilleures p eriodes. Pour cela, il faut pouvoir facilement etudier les ventes ` a partir dun historique, cest-` a-dire pouvoir produire des documents faciles ` a lire, permettant danalyser les r esultats. Il faut, en particulier, pouvoir produire des tableaux crois es et des graphiques permettant de visualiser les r esultats selon di erentes dimensions : la destination, la p eriode, le prix, le voyagiste, et autres. Mod` ele d ecisionnel Le mod` ele relationnel pr ec edent n etant pas adapt e, nous allons proposer une autre organisation des donn ees ` a laide dun mod` ele en etoile. Nous choisissons de prendre comme grain le voyage dun client. Il y aura un seul fait qui est le prix du voyage. Les dimensions seront : le temps, le lieu, le client, le vendeur et le type de voyage. On d ecide que tout voyage correspond ` a une destination principale (tr` es souvent la premi` ere destination) et que tout voyage correspond ` a une date qui est le jour de d epart. Toutes les autres informations seront dans la dimension VOYAGES, par exemple, s ejour ou circuit, week-end ou court ou long, ... Une version pr eliminaire du mod` ele est : FAITVOYAGE(refjour, reieu, refclient, refvendeur, refvoyage, prixvoyage) JOURS(numjour, nomjour, d ebutWE ?, d ebutvacances ?, numsemaine, nummois, nommois, numtrimestre, numsemestre, saison, ann ee) LIEUX(numlieu, ` a d enir) CLIENTS(numclient, nom, pr enom, adresse, codepostal, ville, d epartement, r egion, pays, ...) VENDEURS(numvendeur, nomvendeur, pr enomvendeur) VOYAGES(numvoyage, intitul e, dur ee, numcatalogue, dated ebutvalidit e, datenvalidit e, nomvoyagiste, typevoyage, niveauconfort, gammeprix, ...) Donner la cl e primaire de la table FAITVOYAGE. Proposer une dimension LIEUX sachant que les analyses pourront se faire par pays, par continent, par r egion du monde (Moyen Orient, Europe du Nord est, ...), par type de climat. Quelles sont les informations sur les clients quil serait int eressant de pouvoir r ecup erer pour les analyses de lagence ? Faire une repr esentation graphique du mod` ele d ecisionnel. Que voyez-vous comme di erences principales avec le mod` ele relationnel ? Calculer le total des ventes pour les voyages en Chine au premier trimestre 2013. M eme question avec le total des ventes pour chacun des mois de 2012 aupr` es du voyagiste anciennes fronti` eres. Ecrire une requ ete qui ache le total des ventes de lagence par voyagiste pour les voyages de janvier 2012, de janvier 2013, et le pourcentage d evolution entre les deux p eriodes

S-ar putea să vă placă și