[dba-SQLServer] Design first without Id column - was Arthurs thread

Arthur Fuller fuller.artful at gmail.com
Wed Mar 12 10:06:14 CDT 2014


Mark et. al.

In terms of data-modeling, this describes the difference between Logical
and Physical data models. Logical describes a database in terms closer to
human than to machine. Physical describes the actual implementation, taking
into account such features as Sequences (Oracle for example). Logical
describes the domain without regard for which RDMS one ultimately chooses.

Tools such as ERWin, PowerDesigner, etc. exist because of this division. At
the Logical level, the focus is on the problem or challenge or domain, and
good tools free you from commitment to any particular RDMS. We do our
design at the LDM level, and only when that level is satisfied (i.e. fully
descriptive) do we move to the PDM level, whose choice of RDMS may have
absolutely nothing to do with the particular problem (i.e. "We're an Oracle
shop and that's that.").

I've been in the db game for 3+ decades, and I deem data-modeling tools
absolutely vital, even for relatively small apps consisting of say 20
tables or fewer. I've also, in  fact more frequently, been on the farther
end of the spectrum, designing systems involving 500+ tables; in those
situations, you'd have to be either insane or masochistic or some
combination of both to try it by hand.

A.


More information about the dba-SQLServer mailing list