Generic data models - academic questions [message #359920] |
Tue, 18 November 2008 17:27 |
nmcsw98
Messages: 1 Registered: November 2008
|
Junior Member |
|
|
I'd like to ask some academic questions about generic database models, in light of what has already been published about them, such as:
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:60671366973236
and:
http://discuss.fogcreek.com/joelonsoftware2/default.asp?cmd=show&ixPost=53902&ixReplies=6
If we accept (and don't debate) that most usages of generic database models is "bad", then we must also accept that there are some uses for which a generic database model is acceptable. Thus, the questions:
* what possible uses of a generic db model would be considered acceptable? Are there any examples?
* are there any published examples of successful generic models being implemented?
* what kind of recordcount would be acceptable for a generic database model in terms of performance? Has there been any published benchmarks or server load calculations made of a generic db model vs. a normalized model? Would the system fall down at 1,000 records, 10,000 records, 100,000 records, or ?
* if you took one of the basic draws of the generic db model - the ability to store arbitrary data entities - and assumed it were the core requirement for a project, what other conceptual models would fulfill this need other than the generic db model?
* if there were a litmus test to determine when a generic DB model were acceptable, what would it be?
|
|
|
Re: Generic data models - academic questions [message #359931 is a reply to message #359920] |
Tue, 18 November 2008 21:00 |
rleishman
Messages: 3728 Registered: October 2005 Location: Melbourne, Australia
|
Senior Member |
|
|
The ERwin data modelling tool can store data models in a file or in a database (Model Manager). When stored in a database, the underlying ERwin data model is stored in generic tables. The main ones are:
- M7CLASS
- M7OBJECT
- M7OBJECTPROPERTY
- M7PROPERTY
I would say that ERwin has implemented this fairly effectively. I have reverse-engineered the model so that I can port my model information from Model Manager to other tools, but it makes for some pretty tough coding.
It works best when you have methods (stored procs) handling the interface.
Ross Leishman
|
|
|
Re: Generic data models - academic questions [message #359981 is a reply to message #359931] |
Wed, 19 November 2008 01:41 |
rleishman
Messages: 3728 Registered: October 2005 Location: Melbourne, Australia
|
Senior Member |
|
|
When might you consider using this:
The ERwin example is a good one - highly distributed multi-platform system. There would be a big advantage in version upgrades - no database implications.
Also, if the database interface is stored in the client rather than in the database, it would be highly tolerant to backwards and even forwards compatibility.
Ross Leishman
|
|
|
Re: Generic data models - academic questions [message #360411 is a reply to message #359981] |
Thu, 20 November 2008 21:56 |
|
Kevin Meade
Messages: 2103 Registered: December 1999 Location: Connecticut USA
|
Senior Member |
|
|
There are those who believe heavily in the viability of generic data models in specific situations. Some of them even see generic models as the inescapable future of database design. They are a new breed of database designer. There is even a company that is researching the theory (at least so they say though so far they seem to be more of a THINK TANK left over from the B2B craze rather than a company ready to put out workable solutions for business).
I make the following observation for whatever it is worth.
The overwhelming preponderance of people doing non-academic work with generic data models are vendors who are building "portable" repositories. These vendors create (or dream up if you are negative on any of them) "industry specific" data models and then sell them to businesses in the industry as "configurable" solutions for their data.
Like anything new, there is a lot of HYPE that goes along with it and adopting such a model is a good deal of work, I can tell you that personally.
Maybe it might give perspective to understand the difference between a GENERIC data model, and a UNIVERSAL data model. I always thought UNIVERSAL models were a great thing, and GENERIC models were simply not usuable 99% of the time.
I am not sure I am helping, but I am done.
Good luck Kevin
|
|
|