![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
At times I come into contact with very large database schema's and within long start to get headaches from all the detail and complexity, much of it irrelevant to my cause. This bothers me a great deal, as I find it horrible to navigate and manage a database with 150 tables, some of which with 50+ columns. In most other branches of software engineering, we deal with complexity by means of divide-and-conquer and raising the abstraction bar through various means. However, it occurs to me this is rarely done with physical database design. Database often seem to be be these huge buckets with a myriad of unknown entry points from the layer above, or at best, only separated into separate schema's for authorization reasons. Having smaller interconnected domain schema's, perhaps revolving around a central core, but factor out (denormalize into 1:1) domain specific information into several smaller tables would seem like a solution. Is physical database design somehow different, perhaps for performance reasons? Or have I just been exposed to careless (some would say pragmatic) design? There does not seem to be much best-practice material on this topic. Thanks, Casper |
#3
| |||
| |||
|
|
First off, most of your comment addresses logical database design, not physical database design. |
|
There are plenty of real world subject matters where 150 tables and a total of say about 700 columns is entirely appropriate to capture the inherent complexity of the data itself. * |
#4
| |||
| |||
|
|
On Jan 26, 4:54 pm, "Walter Mitty" <wami... (AT) verizon (DOT) net> wrote: First off, most of your comment addresses logical database design, not physical database design. Right, the two becomes interchangeable over time in large enterprise systems, where one is considering implicit to the other in an ad-hoc work flow. If I may rephrase then: Doesn't logical design sometimes leak into typical physical design and void normalization etc. in the interest of managability? |
![]() |
| Thread Tools | |
| Display Modes | |
| |