EI 14 sujet

 CONTROLE DE CONNAISSANCES 2014/2015

Etudiants 2ème année (EI2)

 

CSC4001 Contrôle final 1 – Durée : 1h30

Coordonnateur : Claire LECOCQ et Amel MAMMAR

Documents autorisés : tous les documents distribués en cours et
les notes de cours

Calculatrices et téléphones portables non autorisés

 


 

 

Avertissements

 

1/ Lisez
attentivement le sujet.

2/ Les questions sont
indépendantes les unes des autres
.

3/ Soyez clair et
précis.

4/ Soignez la
présentation, dans la mesure du possible.

5/ Barème indicatif

Question 1 : 3 points

Question 2 : 3,5 points (Q2.1 = 1,5
pt, Q2.2 = 2 pt)

Question 3 : 4 points (Q3.1 = 2
pts, Q3.2 = 2 pts)

Question 4 : 4 points (Q4.1 = 2
pts, Q4.2 = 2 pts)

Question 5 : 2,5 points

Question 6 : 2 points

Question 7 : 1 point

 

Des étudiants de Télécom SudParis souhaitent développer dans
le cadre d’une start-up une application de comparaison des circuits proposés
par les tours opérateurs. Après une phase de conception, ils ont généré le
modèle relationnel suivant :

Pays(nomPays, langue)

Villes(nomVille, nomPays, population)

TourOperateurs(nomTO,
adresse, siteWeb, specialite)

Circuits(nomCircuit, nomTO, descriptif, nbJours, prix,
type, personnalisable)

Etapes(nomCircuit, nomTO, nomVille, nomPays, noEtape, jour, duree)

AVisiter(nomSite, nomVille, nomPays, prixEntree)

Les clés sont soulignées et les
clés étrangères sont en gras.

La sémantique des diverses
relations est la suivante :

Pays(nomPays,
langue) : un pays est identifié par son nom (nomPays) et est décrit par sa langue.

Un exemple de tuple de cette
relation est (‘Indonésie’, ‘Indonésien’).

Villes(nomVille, nomPays, population) : une ville
est identifiée par son nom (nomVille)  et le pays (nompays)
dans lequel elle est située. Il faut effectivement différencier ‘Paris’ en
‘France’ et ‘Paris’ aux ’USA’. Il existe bien d’autres exemples d’ailleurs
(Valence en France et en Espagne, Vienne en France et en Autriche, Oran en
Algérie, en Argentine, en Inde et aux USA). 
Une ville est caractérisée par sa population (en milliers d’habitants). nomPays est une clé étrangère qui
référence nomPays dans la
relation Pays.

Un exemple de tuple de cette
relation est (‘Ubud’, ‘Indonésie’, 34).

TourOperateurs(nomTO,
adresse, siteWeb, specialite) : un tour opérateur est identifié par son
nom (nomTO). Il est caractérisé
par l’adresse de son siège social, l’adresse (URL) de son site Web et sa
spécialité.

Un exemple de tuple de cette
relation est (‘Huwans’, ‘rue Seguier,
Paris’, ‘Tourisme responsable’)
.

Circuits(nomCircuit, nomTO, descriptif, nbJours, prix,
type, personnalisable) : un circuit est identifié par son nom (nomCircuit) et par le nom du tour
opérateur qui le propose. Il se peut que deux tours opérateurs choisissent le
même nom pour leur circuit … Un circuit est caractérisé par un descriptif, un
nombre de jours (nbJours), un prix,
un type et par le fait qu’il soit ou non personnalisable. Les valeurs possibles
de type sont ‘Voyage de
noce ‘, ‘En famille’, ‘Culture’, ‘Trek/sport’. Les valeurs possibles de personnalisable sont ‘oui’ ou ‘non’.

Un exemple de tuple de cette
relation est (‘Entre mer, volcans et
rizières’, ‘Huwans’, ‘Randonnées pédestres dans les rizières et sur le volcan
Batur …’, 15, 2000, ‘Trek/sport’, ‘oui’)
.

Etapes(nomCircuit, nomTO, nomVille, nomPays, noEtape, jour, duree) :
Les circuits sont composés d’étapes dans des villes. Ainsi, une étape est
identifiée par le circuit auquel elle appartient et par la ville dans laquelle
elle a lieu.

nomCircuit,
nomTO est une clé étrangère qui référence nomCircuit,
nomTO dans la relation Circuits.

nomVille,
nomPays est une clé étrangère qui référence nomVille, nomPays dans la relation Villes.

Une étape est caractérisée par
son numéro (noEtape) et par le
numéro de jour dans le circuit (jour)
et sa durée en heures.

Un exemple de tuple de cette
relation est (‘Entre mer, volcans et
rizières’, ‘Huwans’, ‘Ubud’, ‘Indonésie’, 3, 5, 36).
La troisième étape du
circuit passe donc par Ubud le 5 ème jour.

AVisiter(nomSite, nomVille, nomPays, prixEntree) :
un « site » (cela peut être un monument, un site géographique, une
place dans une ville) à visiter est identifié par son nom (nomSite). Il est caractérisé par la
ville qui le gère et par son prix d’entrée. 
nomVille, nomPays est une
clé étrangère qui référence nomVille,
nomPays dans la relation Villes.

Un exemple de tuple de cette
relation est (‘Temple de Goa Gajah’, ‘Ubud’,
‘Indonésie’, 0).

Question 1 : Rétro-conception

En vous aidant des règles de
passage d'une modélisation Entité/association à une modélisation relationnelle
"à l'envers", proposer un schéma Entité/Association équivalent à ce
schéma relationnel. Ce schéma devra comporter la description des entités (avec
leurs propriétés), des entités faibles (s'il y a lieu), des associations (avec
leurs propriétés) ainsi que les cardinalités minimum et maximum des
associations.

Question 2 : Algèbre
relationnelle

Exprimer chacune des ces questions suivantes en algèbre
relationnelle
.

(Q2.1) Quels sont les sites (nom de site) gratuits en Indonésie ?

(Q2.2) Quels sont les circuits (nom de circuit et nom du tour
opérateur) d’au moins 15 jours et coûtant moins de 2000 euros passant par Ubud
en Indonésie ?

Question 3 : Requêtes algèbre
relationnelle ou SQL

Exprimer chacune des ces questions suivantes en algèbre
relationnelle ou en SQL
.

 (Q3.1) Quels sont les tours
opérateurs (nom du tour opérateur, site web, spécialité) qui proposent en
Indonésie tous les types de circuit?

(Q3.2) Quels sont les circuits « hyper-denses » ? Un
circuit est dit « hyper-dense » s’il ne possède aucune étape de repos.
Une étape de repos dure au moins 36 heures. Donner le nom du circuit, le nom du
tour opérateur, le prix et la durée.

Question 4 : Requêtes
SQL d’interrogation

Exprimer les questions suivantes en SQL :

(Q4.1) Donner pour chaque tour
opérateur, le nom du tour opérateur, l’adresse de son site Web, le nombre de
circuits proposés, le prix moyen des circuits, le prix le plus élevé et le prix
le plus bas et la durée moyenne.  Pour
ces statistiques, les circuits d’exception (ceux dont le prix est supérieur à
4000 euros) ne doivent pas être considérés.  

(Q4.2) Quel est le circuit du Maroc
passant par le plus de sites à visiter gratuits ? Donner le nom du
circuit, le nom du tour opérateur, le descriptif du circuit et le nombre de
sites gratuits visités.

Question 5 : Création
de table SQL

Donner l’ordre de création
complet de la relation Circuits(nomCircuit, nomTO, descriptif, nbJours, prix, type, personnalisable) :

  • nomCircuit
    est une chaîne de 50 caractères ;
  • nomTO
    est une chaîne de 40 caractères ;
  • descriptif
    est une chaîne de 500 caractères. Il est obligatoire de donner un descriptif
    pour tout circuit proposé ;
  • nbJours
    est un entier compris entre 5 et 31 ;
  • prix
    est un entier. Cette information est obligatoire ;
  • type
    est une chaîne de 14 caractères dont les valeurs possibles sont ‘Voyage de
    noce ‘, ‘En famille’, ‘Culture’, ‘Trek/sport’.
  • personnalisable
    est une chaîne de 3 caractères dont les valeurs possibles sont ‘oui’ ou ‘non’.

Question 6 : Création
d’une vue SQL et droit

(Q6.1) Créer une vue PositionnementsTO(nomTO,
pays, ville, nbCircuitsProposes) qui permet d’avoir pour chaque ville étape de
chaque circuit (donc de chaque tour opérateur) le nombre de circuits proposés passant
par cette ville et la durée moyenne des étapes dans cette ville. Pour cette
vue, seuls les tours opérateurs ayant une présence réelle dans cette ville
doivent être considérés. Un tour opérateur a une présence réelle  s’il propose au moins 3 circuits passant par
cette ville pour ce pays.

(Q6.1) Donner le droit d’interrogation avec
le droit de transmettre ce droit à une application identifiée par le login comparateur sur la vue que vous venez
de créer

Question 7 : question
de cours

            Répondre
par un texte court (moins de 10 lignes) à la question de cours suivante. 

Que veut dire le I dans l’acronyme ACID des propriétés des
transactions ? Illustrez par un exemple pourquoi cette propriété est
nécessaire.