Transformation des attributs
Méthode : Attributs simples
Pour chaque attribut élémentaire et monovalué d'une classe,
on crée un attribut correspondant.

Classe1(#a,b)
Méthode : Attributs composites
Pour chaque attribut composite comprenant N sous-attributs d'une classe,
on crée N attributs correspondants,
dont les noms sont la concaténation du nom de l'attribut composite avec celui du sous-attribut.

Classe1(#a,b_b1,b_b2)
Méthode : Attributs multivalués
Pour chaque attribut multivalué b d'une classe C,
on crée une nouvelle relation RB,
qui comprend un attribut monovalué correspondant à b,
plus la clé de la relation représentant C ;
la clé de RB est la concaténation des deux attributs.

Classe1(#a)
RB(#b,#a=>Classe1)
Méthode : Attributs multivalués (méthode alternative)
Dans le cas où le nombre maximum de b
est fini, et petit, on peut également adopter la transformation suivante : Classe1(#a,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10)
.
Si le nombre d'attributs est infini (b[1..*]
) c'est impossible, s'il est trop grand ce n'est pas souhaitable.
Méthode : Attributs composés multivalués
On combine les règles énoncées pour les attributs composés et pour les attributs multivalués.

Classe1(#a)
RB(#b_b1,#b_b2,#a=>Classe1)