DESS TD1 : Requêtes en OQL
On considère l'exemple de l'agence de voyage de Adiba et Collet.
class Pays inherit Object public type
tuple( nom : string,
capitale : Ville,
population : integer,
villes : set(Ville))
end;
class Ville inherit Object public type
tuple( nom : string,
population : integer,
pays : Pays,
lieux_a_visiter : set(Place),
hotels : unique set(Hotel),
tours : unique set(Tour))
end;
class Place inherit Object type
tuple( public nom : string,
read description : string,
public adresse : tuple(rue :string, ville : Ville),
public tarif : real)
end;
class Monument inherit Place public type
tuple( siecle : integer,
jours_fermeture : list(string))
end;
class Musee inherit Place public type
tuple( specialite : string,
jours_fermeture : list(string))
end;
class Hotel public type
tuple( nom : string,
etoiles : integer,
petit_dejeuner : real,
demi_pension : real,
pension_complete : real,
adresse : string,
ville : Ville)
end;
class Tour public
type tuple( nom : string,
places : list(Place))
method public tarif : real
/* retourne le tarif cumule de tous les lieux ou passe le tour*/
end;
- Nombre d'habitant de la ville de Rome.
- Nom du pays dont Rome est une ville.
- Combien y a-t-il de villes en France?
- Donnez le nom de chaque ville de France.
- Donnez le nom et l'adresse (nom de la rue) des monuments de Rome du 19ème siècle.
- Donnez les noms des hotels et les tarifs de leur pensions complètes
pour les hôtels 2 ou 3 étoiles.
- Donnez les noms et tarif des circuits touristiques (tours) à Paris offrant une
visite de la Tour Eiffel.
- Donnez le nombre de villes et la moyenne des
populations de ces villes pour chaque pays.
- Donnez les monuments classés par siècle pour la ville de Rome,
- Donnez le(s) monument(s) le(s) plus ancien(s) de la ville d'Angers.
- Donnez les circuits touristiques à Paris où il est possible de voir tous
les monuments de Paris datant du 14ème siècle.
- Donnez les villes qui n'ont que des musées dont la spécialité est la
peinture.
- Donnez le nombre moyen des musées par spécialité pour la ville d'Angers.
Pour chaque requête, donnez le type du résultat retourné (pour
les collections précisez : liste, ensemble ou tas).
Florence Bannay
2002-10-22