MediaTek III

[15 min]

L'association MediaTek souhaite réaliser la base de données correspondant au schéma UML ci-après en utilisant un modèle relationnel-objet ne mobilisant que les tables objets (OID).

Question

Réaliser le passage vers un modèle RO, en utilisant les OID.

Solution

1
Adresse (#num:integer, #rue:string, #cp:integer, #ville:string, #client => Client)
2
3
Type TClient <num:integer, nom:string, prenom:string, ddn:date, tel:string, genre:{'m','f'}>
4
Client de TClient (#num) 
5
6
Type TProduit <num:integer, designation:string, prix:float, stock:integer>
7
Produit de TProduit (#num)
8
9
Facture (#num:integer, #client =>o Client, #produit =>o Produit, qte:integer)
Remarque
  • Adresse n'est pas gérée comme un table-objet ici, car elle n'est jamais référencée (donc c'est inutile).

  • Idem, Facture n'est pas une table objet ici, elle n'est pas référencée.

Remarque

On ne référence pas Client en RO (=>o) mais bien en R (=>) car on ne saura pas modéliser la dépendance entre Adresse et Client en RO (le clé de Adresse ne pourra pas intégrer la clé étrangère vers Client).

La meilleure solution ici serait de gérer la composition par une table imbriquée en RO (mais l'énoncé nous l'interdit, donc on reste en R).

Donc la composition se gère en R ou en table-imbriquée, mais pas en table-objet.