2. Transformation des attributs
dérivés et méthodes
On ne représente pas en général les
attributs dérivés ni les méthodes dans le modèle
relationnel, ils seront calculés dynamiquement soit par des
procédures internes à la BD (procédures stockées),
soit par des procédures au niveau applicatif.
On peut décider (pour des raisons de performance
essentiellement) de représenter l'attribut dérivé ou la
méthode comme s'il s'agissait d'un attribut simple, mais il sera
nécessaire dans ce cas d'ajouter des mécanismes de validation de
contraintes dynamiques (avec des par exemple) pour assurer que triggers la
valeur stockée évolue en même temps que les attributs sur
lesquels le calcul dérivé porte.
Notons qu'introduire un attribut dérivé ou un
résultat de méthode dans le modèle relationnel
équivaut à introduire de la redondance, ce qui est en
général déconseillé, et ce qui doit être dans
tous les cas contrôlé.
3. Transformation des associations
- Pour chaque association binaire de type 1..* : on ajoute
à la relation côté * une clé étrangère
vers la relation côté 1.
- Pour chaque association binaire de type M..* : on
crée une nouvelle relation, composée de clés
étrangères vers chaque relation associée, et dont la
clé primaire est la concaténation de ces clés
étrangères.
- La solution la plus simple et la plus générale
pour transformer une association 1..1 consiste à traiter cette
association 1...1 comme une association 1..*, puis à ajouter une
contrainte UNIQUE sur la clé étrangère pour limiter la
cardinalité maximale à 1.
- Les attributs de la classe d'association sont ajoutés
à la relation issue de l'association *...M.
- Les attributs de la classe d'association sont ajoutés
à la relation issue de la classe côté *. Les attributs de
la classe d'association sont ajoutés à la relation qui a
été choisie pour recevoir la clé
étrangère.
Si les deux classes ont été fusionnées en
une seule relation, les attributs sont ajoutés à celle-ci.
|