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
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.
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.
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),
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
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).
Recommended