Exe08_ModelisationObjet

6
  1 Bases de données orientées objets Exercices de modélisation 1. Traduction des schémas entité association en schémas orientés objets Question 1: Traduire le schéma entité association "Immatriculation de véhicules" (vu en exercice entité association) en un diagramme orienté objets de type ODMG (voir ci-dessous le rappel de son diagramme entité association). Question 2: Proposer un algorithme qui permette d'obtenir un schéma orienté objets de type ODMG à partir d'un schéma entité association quelconque. Définissez de façon précise les informations utilisées par votre algorithme.  NB Penser aux différents types de hiérarchies de généralisation / spécial isation (disjointes ou non, statiques ou dynamiques). Constructeur G/P Véhicule numéro Première Vente Propriétaire numéro  partition nom adr Garage Personne n`reg.comm prénom  Vente Concessionnaire date prix date prix  v  e  n  d  e  u  r  a  c  h  e  t   e  u  r  v  e  n  d  e  u  r acheteur  partition  Immatriculation de véhicules en entité association 2. Horaires de trains

Transcript of Exe08_ModelisationObjet

Page 1: Exe08_ModelisationObjet

5/11/2018 Exe08_ModelisationObjet - slidepdf.com

http://slidepdf.com/reader/full/exe08modelisationobjet 1/6

 

 

1

B a s e s d e d o n n é e s o r i e n t é e s o b j e t s

E x e r c i c e s d e m o d é l i s a t i o n

1.  Traduction des schémas entité association en schémas orientés objets

Question 1: Traduire le schéma entité association "Immatriculation de véhicules" (vu en exercice

entité association) en un diagramme orienté objets de type ODMG (voir ci-dessous le rappel de son

diagramme entité association).

Question 2: Proposer un algorithme qui permette d'obtenir un schéma orienté objets de type ODMG

à partir d'un schéma entité association quelconque. Définissez de façon précise les informations

utilisées par votre algorithme.

NB Penser aux différents types de hiérarchies de généralisation / spécialisation (disjointes ou non,

statiques ou dynamiques). 

Constructeur G/P

Véhicule

numéro

PremièreVente

Propriétaire numéro

partition 

nomadr

Garage Personne

n`reg.comm prénom

 

Vente

Concessionnaire

date prix

date prix

 v  e n d  e u r 

 a c  h  e t   e u r 

 v  e n d  e u r 

acheteur

partition 

 

Immatriculation de véhicules en entité association

2.  Horaires de trains

Page 2: Exe08_ModelisationObjet

5/11/2018 Exe08_ModelisationObjet - slidepdf.com

http://slidepdf.com/reader/full/exe08modelisationobjet 2/6

 

 

2

Il s’agit de définir le schéma d’une base de données orientées objets décrivant les lignes et leshoraires des trains de voyageurs d’une compagnie ferroviaire afin de renseigner leurs usagers.

Chaque horaire décrit un parcours effectué régulièrement par un train. Il est identifié par le numéro

du train et est caractérisé par le type de train (intercity, cisalpino, régional, tgv…), son parcours et

son calendrier. Le parcours définit la liste des gares desservies avec les heures d’arrivée et de départ,et le numéro de voie. Le calendrier définit la liste des jours de la semaine où le train circule, la liste

des exceptions positives (dates où le train circule malgré le fait qu’elles ne correspondent pas à des

 jours de la semaine où le train circule habituellement) et la liste des exceptions négatives (dates oùle train ne circule pas malgré le fait qu’elles correspondent à des jours où le train circule

habituellement).

Par exemple pour l'année 2000, le TGV 20 circulait les lundis, vendredis et samedis, etexceptionnellement les 25.04.2000, 2.05.2000, 9.05.2000, mais pas les 24.04.2000, 1.05.2000,

8.05.2000. Il dessert les gares de Lausanne (départ à 9h14 voie J), Vallorbe (arrivée à 9h40, départ à

9h48 voie A), …, Paris gare de Lyon (arrivée13h19 voie 11).

On voudrait aussi mémoriser pour chaque gare la ville correspondante, car plusieurs gares peuvent

desservir la même ville.

Exemple de requêtes typiques de l'application:

•  Imprimer l'horaire du train numéro XXX (gare et heure de départ, liste des gares desservies avec

les heures d'arrivée et de départ, gare du terminus avec heure d'arrivée).

•  Le train numéro X circule-t-il à telle date?

•  Quels trains (numéro, heure de départ et d'arrivée) vont de la ville X à la ville Y?

Question 1: Définir le diagramme ODMG de cette base de données. Préciser les cardinalités et,

chaque fois que cela est utile, les définitions en français. Préciser aussi en français les contraintes

d'intégrité s'il en existe.

Question 2: Justifier le choix du sens de vos attributs référence : pour chaque attribut référence

donner un exemple d’une requête, exprimée en français, qui justifie la présence de cet attribut

référence.

3.  Modélisation d'une application téléphonique

On veut gérer l'annuaire des abonnés au service téléphonique d'une ville donnée, ainsi que lafacturation des appels téléphoniques faits par les abonnés.

L'annuaire répertorie les personnes et les sociétés avec leurs numéros de téléphone. Un même

numéro peut être partagé par plusieurs personnes ou sociétés situées à la même adresse. Une mêmepersonne ou société peut posséder plusieurs numéros. Les personnes et sociétés sont répertoriées

avec leurs nom, adresse, éventuellement une ligne de commentaire et leur(s) numéro(s) de

téléphone. Dans le cas où il y a plusieurs numéros, une ligne de texte peut être associée à chacund'entre eux. Dans le cas d'une personne, on mémorise aussi ses prénoms, et, dans celui d'une

entreprise, sa rubrique professionnelle.

Le coût d'un appel est fonction de l'heure et du jour, ainsi que de la durée et de la distance. Onmémorise, pour chaque appel, les numéros appelé et appelant, la date, l'heure et la durée.

Pour la gestion de la facturation, dans le cas d'un numéro affecté à plusieurs personnes ou sociétés,

seule l'une de ces personnes/sociétés est détentrice de l'abonnement: c'est à elle que sont envoyées

les factures.

Page 3: Exe08_ModelisationObjet

5/11/2018 Exe08_ModelisationObjet - slidepdf.com

http://slidepdf.com/reader/full/exe08modelisationobjet 3/6

 

 

3

Question: Dessinez le diagramme de la base de données orientée objets de type ODMG nécessaire àcette application. Expliquez et justifiez vos choix.

4.  Cadastre et historique

Certains SGBDs orientés objets ou relationnels objets, comme Oracle 8, offrent à leurs utilisateurs

des extensions pour stocker et manipuler des données spatiales. Ces extensions permettent, entreautres, de décrire des cartes. Elles consistent le plus souvent en un ou plusieurs nouveaux domainesspatiaux. Ces domaines comprennent :

•  Le domaine Point, défini par deux coordonnées X et Y. Par exemple on peut décrire par des

valeurs du domaine Point des sommets de montagne, des pylônes électriques, voire des villesquand l'échelle est peu précise.

•  Le domaine Ligne, défini par une suite de points. Par exemple on peut décrire par des valeurs du

domaine Ligne des routes, des lignes électriques, des rivières.

•  Le domaine Polygone, défini par une ligne fermée. Par exemple on peut décrire par des valeurs

du domaine Polygone des parcelles de terrain, des lacs, des pays.

A chaque domaine est associé un jeu de méthodes qui permettent de poser des requêtes sur leurs

valeurs. Par exemple les méthodes suivantes sont valables pour toute valeur spatiale :

•  Real distance(valeur-spatiale) calcule la distance entre deux valeurs spatiales

•  Boolean intersection(valeur-spatiale) teste si deux valeurs spatiales se recouvrent

•  Boolean adjacent(valeur-spatiale) teste si deux valeurs spatiales se touchent

•  Void afficher(échelle) affiche la valeur spatiale à telle échelle

On veut stocker sur un SGBD objets de type ODMG qui offre ces domaines spatiaux, le cadastre

d'un canton. Le cadastre décrit les parcelles de terrain, actuelles ou passées, et leurs propriétaires,

actuels ou passés. Chaque parcelle est identifiée par un numéro, et est décrite par le type actuel de laparcelle (cultivée, bâtie, etc.) et par son emprise géographique (c'est-à-dire son polygone). Cette

emprise peut avoir été modifiée au cours du temps, notamment si une rectification de son contour aeu lieu, par exemple pour corriger une erreur de bornage. Dans ce cas, le cadastre doit conserver

l'historique de ces modifications, c'est-à-dire permettre de savoir quel est (était) le contour de la

parcelle à tout instant actuel ou passé.

On veut aussi mémoriser tous les bâtiments existants actuellement et ceux qui ont été détruits

depuis moins d'un siècle. Pour chaque bâtiment on mémorisera son contour (c'est-à-dire son

polygone), son type (habitation, exploitation agricole, etc.) et la (les) parcelle sur laquelle il est(était) construit.

Le cadastre doit aussi conserver pour chaque parcelle l'historique des propriétaires, c'est-à-direpermettre de savoir à tout instant, actuel ou passé, quel est/sont (était/étaient) les propriétaires. Pourchaque propriétaire on veut les informations suivantes: nom, éventuellement nom de jeune fille,

prénoms, date et lieu de naissance, numéro AVS si cette personne en a (avait) un.

Enfin, le cadastre doit mémoriser la "généalogie des parcelles", à savoir l'historique des fusions etdivisions de parcelles qui ont eu lieu. En effet, lors d'une succession par exemple, une parcelle peut

être divisée entre plusieurs héritiers: la parcelle n'existe plus et à sa place plusieurs nouvelles

parcelles sont créées. De même, lors d'un remembrement des parcelles contiguës peuvent être

fusionnées et disparaître pour créer une nouvelle parcelle.

Page 4: Exe08_ModelisationObjet

5/11/2018 Exe08_ModelisationObjet - slidepdf.com

http://slidepdf.com/reader/full/exe08modelisationobjet 4/6

 

 

4

Question: Définir le diagramme ODMG de la base de données du cadastre. Préciser chaque foisque cela est utile la définition en français des classes et des attributs (attributs-valeur et attributs-

référence). Préciser aussi en français les contraintes d'intégrité s'il en existe.

5.  Méta modèle

Les SGBD relationnels gèrent souvent leurs dictionnaires de données sous la forme d'une base dedonnées relationnelle contenant des relations systèmes qui décrivent les schémas existants, et pourchacun d'eux les relations qui les composent avec leurs attributs. Cette base particulière est appelée

méta-base. En orienté objets on peut de la même façon décrire dans une méta-base orientée objets

les schémas existants et leurs classes.

Question: Proposer un méta-modèle orienté objets de type ODMG qui décrit les schémas des bases

de données orientées objets existantes, avec leurs classes, leurs attributs et leurs liens de

composition et de généralisation / spécialisation.

6.  Base de documents

Un centre de recherche veut stocker dans une base orientée objets tous les documents qu'il produit:rapports, articles scientifiques, livres… Un document est caractérisé par son type (rapport, article

scientifique ou livre). Il est composé de:

•  son nom (identifiant),

•  un entête comprenant le titre, les auteurs (nom, affiliation), les mots clés, la date de création,

•  un résumé (une suite de lignes de texte, 15 au maximum),

•  le corps du document,

•  la bibliographie du document.

Certains documents étant en cours d'écriture, certaines parties peuvent ne pas être terminées ou êtrecomplètement absentes, par exemple, le résumé et les mots clés n'existent pas, le corps n'est pasfini…

Le corps est composé d'une suite de paragraphes. Chaque paragraphe a un numéro, un titre et un

contenu. Le contenu d'un paragraphe est constitué d'une suite d'alineas qui sont soit du texte, soit unsous-paragraphe. La description d'un sous-paragraphe est identique à celle d'un paragraphe. Le

texte peut contenir des figures.

Une figure est composée d'un numéro, d'un titre, d'une image (qui peut être un dessin, un graphiqueou une photo), et éventuellement d'une légende et d'une courte description.

Les lignes de texte peuvent contenir des renvois à des références de la bibliographie, à d'autres

paragraphes et à des figures du document.La bibliographie est composée d'une suite de références à des ouvrages, sous la forme: nom del'auteur (ou des auteurs), titre, date et lieu de parution. Ces ouvrages peuvent être eux-mêmes des

documents de la base.

Un même paragraphe, une même figure, une même référence bibliographique peuvent êtrecommuns à plusieurs documents de la base.

On veut pouvoir répondre à des questions du type:

•  liste des titres des documents qui contiennent une référence bibliographique à tel auteur (ou quiont tel mot clé),

  liste des noms des documents qui contiennent telle figure (ou tel paragraphe),

Page 5: Exe08_ModelisationObjet

5/11/2018 Exe08_ModelisationObjet - slidepdf.com

http://slidepdf.com/reader/full/exe08modelisationobjet 5/6

 

 

5

•  lister le Xième

paragraphe (ou la Xième

figure) de tel document,

•  imprimer tout le document de tel nom,

•  lister les titres (ou les résumés) des documents écrits par tel auteur,

•  liste des dessins employés par tel auteur,

•  liste des images correspondant à telle description…

Question:  Dessinez un diagramme ODMG pour cette base de données. Précisez les cardinalités

(0:1, 1:1, 0:n, 1:n), et les contraintes d'intégrité.

7.  Traduction du relationnel en orienté objets

On veut traduire en orienté objets une ancienne base de données relationnelle qui décrit les prêts

bancaires faits à des clients (qui peuvent être des personnes, des entreprises ou des banques) pour

des achats de voitures. Le schéma de cette base de données est décrit ci-dessous:

Personne ( n°AVS , nom , age , employeur1 , employeur2 , adresse , téléphone )

Voiture ( n°Propriétaire , n°Voiture , type.propriétaire , modèle , année )

Prêt ( n°Voiture , n°Client , type.client , banque , n°prêt , taux , montant )

Entreprise ( nom , n°Entreprise )

Banque ( nom , n°Banque )

Question: Proposer un diagramme orienté objets de type ODMG pour cette base de données. Lors

de la traduction, on supprimera tous les identifiants qui étaient nécessaires en relationnel, mais quisont inutiles en orienté objets.

8.  Gestion de pièces

Dans une entreprise, on gère deux types de pièces: les pièces de base qui sont achetées à l'extérieur,et les pièces composites obtenues par assemblages d'autres pièces (composites ou non). On veut

constituer une base de données décrivant les différents modèles de pièces. Pour cela on stockerapour un modèle de pièce composite, son nom, son coût d'assemblage, la liste et la quantité des

pièces entrant dans sa fabrication. Pour un modèle de pièce de base on stockera son nom et son prix

unitaire.

On veut pouvoir calculer le prix de revient d'une pièce composite dont on connaît le nom. On veut

pouvoir commander le nombre exact de pièces de base entrant dans la fabrication d'une pièce

composite.

Question 1: Dessiner le diagramme de la base de données orientée objets de type ODMG nécessaire

à cette application.

Question 2: Spécifier une méthode calculant le prix de revient d'une pièce quelconque qu'elle soit

de base ou composite: signature de la méthode et spécification de la procédure associée en pseudo-

code.

Question 3: Pour une pièce composite donnée, spécifier une méthode permettant d'afficher les

noms des pièces utilisées dans sa fabrication.

9.  Domaine Date

Page 6: Exe08_ModelisationObjet

5/11/2018 Exe08_ModelisationObjet - slidepdf.com

http://slidepdf.com/reader/full/exe08modelisationobjet 6/6

 

 

6

De même que certains SGBDs orientés objets ou relationnels objets offrent des domainesparticuliers pour gérer les valeurs géographiques, d'autres systèmes offrent des domaines pour gérer

des valeurs temporelles, notamment les dates.

Question: Proposer un ensemble de méthodes standard pour le domaine Date (pour chaqueméthode: signature et définition en français de sa fonction).