DESS TD2 : Création d'une base de données
L'objectif de ce TD est de vous faire construire la base de
données correspondant à l'exemple de la gestion d'un cinéma :
class Personne type
tuple
(public nom:string,
public prenom:string,
private adresse : string)
method public l_adresse:string,
method public e_adresse(a:string)
end;
class Artiste inherit Personne type
tuple
(public salairecourant : integer,
read agent : Personne )
end ;
class Spectacle public type
tuple
(nom:string,
artistes:list(Artiste),
tarif:integer);
class Billet public type
tuple
(client: Personne,
spectacle:Spectacle,
nbpers : integer,
reduction:real)
method prix : real
end;
name LesArtistes : unique set(Artiste);
name LesBillets : list(Billet);
name LesSpectacles : set(Spectacle);
name LesPersonnes : unique set(Personne);
method body l_adresse:string in class Personne
{return(self->adresse);};
method body e_adresse(a:string) in class Personne
{self->adresse=a;};
Pour cela, vous allez utiliser le langage de
programmation O2C.
- Créez l'artiste ``Robert Redford'' dont l'adresse est ``bd Foch,
Angers'', le salairecourant est 50 000F et dont l'agent est inconnu
à l'aide d'un programme non nommé (run body{...}) (faîtes ceci
sans utiliser de méthodes d'initialisation).
(Pour que cet objet persiste vous devez le rattacher aux racines de persistances. )
Vérifiez ensuite qu'il existe bien dans la base de
données avec le langage OQL.
- Créez la méthode d'initialisation de la classe Artiste qui crée un
artiste à partir de ses nom, prénom, adresse et salaire courant. Cette
methode ne met pas à jour l'agent. Créez ensuite
l'artiste ``Brigitte Bardot'' dont l'adresse est ``la plage, St Trop'' et le
salaire est de 20 000F.
- Créez des méthodes d'initialisation pour les classes Personne,
Spectacle et Billet (pour la classe Spectacle, on fournira le nom et le
tarif, la liste des artistes sera initialisé à la liste vide).
- Créez la méthode de modification d'un agent e_agent
pour un artiste et utilisez-la pour mettre à jour l'agent de Brigitte Bardot un certain
``Albert Dupont'' habitant à ``Paris, rue St Denis''
- Faîtes une requête donnant le nom et l'adresse de l'agent de Brigitte Bardot.
- Créez une méthode permettant d'ajouter un artiste dans un spectacle.
- Chargez les
données suivantes à l'aide d'un programme non nommé :
Deux personnes prennent des billets pour le spectacle ``Une souris verte''
dont le tarif est de 40F et qui est interprété par
Brigitte Bardot et Robert Redford, il s'agit de Triphon Tournesol qui prend un
billet pour 3 personnes sans réduction et d'Albert Einstein qui prend 1 billet
pour une personne avec 50% de réduction.
- Interrogez la base de données pour
vérifier ces créations.
- Créez la méthode prix pour la classe Billet.
- Faîtes une requête permettant de savoir quelle recette a fait le
cinéma sur la vente des billets.
Florence Bannay
2002-10-22