UML Diagrams are frequently used to document relational databases, which makes sense since many classes get mapped more or less directly to database tables.
At least some of the UML tools support this kind of usage.
I don't know if the UML specification says anything about it ... but if not ... maybe we should just wait for the next version ;)
regards
Spieler
UML Diagrams are frequently used to document relational databases.
Wrongly. UML could be used to document a DBMS but not a database its self. Relational Database and OO are a different paradigms. The following link shows the diagrams type supported by UML, not one supports relational database modelling.
http://www.smartdraw.com/resources/centers/uml/uml.htm
Alternatively you can consult the UML specifications at the following links
http://www.omg.org/technology/documents/modeling_spec_catalog.htm
http://www.omg.org/uml/
many classes get mapped more or less directly to database tables.
I did not dispute they are complementatry however that they must be 'mapped' underlines their individual distictiveness and that they cannot be used interchanagedly. In fact the relationships are a logical inversion so any diagram is one will be automatically incorrect in the other unless corrected by using the proper notation and subsequent semantics.
At least some of the UML tools support this kind of usage.
That some CASE tools that support UML also support E/R Diagrams is a separate issue, my post does not even suggest that. It provides suitable links to clarify the distictions I've outlined. Some CASE Tools also support JSD or SSADM that does not mean they should be used to document Object models, name spaces or other OO concepts.
Hi Martin,
after your post I checked in specs (the current version 1.4), and it actually suggests using UML for database schemas.
In the forword:
"The UML offers a standard way to write system's blueprints,
including conceptual things such as business prcesses
and system functions as well as concrete things such as
programming language statements, database schemas,
and reusable software commponents."
In section 2.5.2.2 it mentiones the stereotype <<table>> as a standard stereotype.
UML was developed with an object oriented software development in mind, but that doesn't mean other paradigms can't use UML.
It's just as with natural languages ... they where developed with things like hunting and gathering in mind, but you can use them to talk about quarks, atoms, stars and computers.
regards
Spieler
PS: If you are refering to documents make sure they contain the information you are suggesting they contain.