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