The mapping between UML and Relational is done according to the following:
|Table||Class (stereotype <<Table>> is optional)|
|Primary/Foreign key||Attribute of special stereotype (<<PK>>, <<FK>>)|
|Attribute properties||Attribute properties, special stereotypes (see below)|
For modelling foreign keys it is not enough to just let an attribute be of the stereotype <<FK>>. It must also be specified what table and what column this foreign key refers to. This might be done using tagged values whereas source column and association name should be used. The association a foreign key belongs to needs to be specified because if there exist more than one relationship between two tables it cannot be determined which foreign key belongs to which relationship.
Special attribute properties will be mapped this way:
|NULL / NOT NULL||If an attribute should be NOT NULL, let the attribute be of stereotype <<NOT NULL>>. The stereotype <<NULL>> is not needed on every attribute that is nullable, so the attribute is nullable if it is not <<NOT NULL>>.|
The 'default value' property is supported directly.