Exercice 1

Transcription

Exercice 1
Exercice 1
En considérant Les définitions des classes suivantes répondez aux requêtes OQL ci-dessous :
class Address
(extent Addresses) {
attribute integer number;
attribute string street;
}
class Person
(extent Persons) {
attribute string name;
attribute date birthdate;
relationship Person spouse inverse Person::spouse;
relationship list<Person> children inverse Person::parents;
relationship list<Person> parents inverse Person::children;
relationship Apartment livesIn inverse Apartment::isUsedBy;
}
class Employee
extends Person (extent Employees) {
attribute real salary;
}
class Building
(extent Buildings) {
attribute Address address;
relationship list(Apartments) apartments inverse Apartment::building;
}
class Apartment
(extent Apartments) {
attribute integer number;
attribute integer price;
relationship Building building inverse Building::apartments;
relationship set<Person> isUsedBy inverse Person::livesIn;
}
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
15)
Donner le nom des Persons
Donner la date de naissance (birthdate) des Persons
Donner l’adresse des enfants (children)
Donner les noms des personnes nés après 1996
Donner les noms des enfants sans duplication
Donner les noms et adresses des enfants dont au moins un parent habite la rue« St-honoré »
Donner les noms et les adresses des enfants qui n’habitent pas avec un de leurs parents
Donner les noms et les adresses des enfants qui n’habitent pas avec leurs deux parents
Donner les noms et les salaires des personnes qui gagnent 10 fois plus que le ce que leurs coute
leurs appartements
Lister les appartements selon leur nombre d’habitants
Donner pour chaque Building le nombre d’habitants
Donner pour chaque rue (street) des buildings avec le nombre de personnes qui vivent là-bas
Diviser les personnes en 3 catégories : ceux qui sont nés avant 1970, ceux qui sont nés après 1980,
et ceux qui sont nés entre 1970 et 1980
Afficher les noms des personnes des 3 groupes précédents
Afficher le nombre des personnes qui sont dans chacun des 3 groupes précédents