Hi there
I am trying to accomodate our data modeller's desire to model at the conceptual, logical and physical levels.
However, when I look at the languages proposed by Sparx for achieving this, I run into problems.
At the physical level:
=============
Sparx recommends tables which has primary keys, foreign keys, constraints, etc. and so all is well (no problem here).
At the conceptual level:
===============
Sparx recommends either class diagrams or ERD diagrams.
The ERD diagram is adequate although it does allow for specification of primary keys which I would normally not expect to occur at a conceptual level.
Rather, I would expect to see "natural keys" being modelled which in most cases would be modelled as unique constraints.
The class diagram is the preferred method because it captures sub-typing, generalisation, etc.
However, there seems to be no way whatsoever to specify natural keys (using unique constraints or any other method).
So, I can use ERD's at the conceptual level, but seem to be prevented from using Class diagrams which is the preferred method.
At the logical level:
============
Here is where I come unstuck, because at this level I MUST be able to specify natural keys (presumably using unique constraints), but cannot find any way to do this using classes.
I could try to use tables for logical modelling, but this has its own problems.
If I use tables, I am locked into specifying which DBMS I am modelling for and must therefore also specify DBMS specific attribute types rather than generic ones.
So, the question is: What am I missing?
It makes no sense to me to not to be able to specify basic constraints in the logical or conceptual layers, and yet I don't seem to be able to.
Any help gratefully received.
Jays :-)
Btw, I am using version 9.3.