Database Design for Smarties: Using UML for Data Modeling

This has been a long chapter, and it is impossible to summarize it in a couple of paragraphs. The real trick to transforming your UML data model into a relational database is being very, very systematic about your approach. If you understand how each UML concept maps into a relational concept, you can easily represent most aspects of your model. The biggest decision you must make is whether to conform to ANSI SQL for portability or to make use of the capabilities of your target DBMS that go beyond the standard. Taking the latter approach lets you get much closer to a real OO implementation of your system.
For convenience, Table 11-4 summarizes the process. FOREIGN KEY and PRIMARY KEY mean either a table constraint or a REFERENCES column constraint depending on whether the key is multivalued.
The standard approach is thus very limiting but very safe in terms of interacting with the relational database. With the next two kinds of database manager, you don't have the issue. While there are nascent standards for OR and OO databases, in practice you must adapt to the target DBMS implementations, which largely do not conform to any standards.