Re: MultiValue Databases
Date: 10 Jun 2005 13:36:01 -0700
> Not all constraints can be enforced in the Database, but the
> fundamental ones are best done there (data types, foreign keys, not null).
I agree completely. Currently xrdb implements the most basic one (referential integrity) better than RM. And xrdb model has no NULLs (the presense of a NULL in a modelling system is indicative of a flaw/limitation). Currently other higher level constriants, such as those available in RMDBs, need to be implemented in the application layer. With time, basic/common constraints will be integrated within xrdb implementation. Note, that RM tends think certain things have a uniform set of attributes while xrdb doesn't preassume that.
The most fundamental/important constraint in a db is referential integrity. In this area xrdb implementation exceeds RM implementation. For example, look thru all the xrdb scripts posted in this thread to see that one doesn't find a single underlying reference to things. User has no access and thus little opportunity to corrupt them. On the contrary, looking thru the RM scripts, one sees underlying IDs and reference fields exposed thru out the scripts. In RMDBs, referential integrity is dependent on user and his skill level. For instance, he has to enter the right IDs in the script and he should enable the proper constraints. Ensuring referential integrity is automated in xrdb. Also as shown in the simple examples, RM solutions are more likely to requires schema updates and/or data transfers which increases the chances of corruption. The chances of finding a broken reference or redundant data not synchronized by constraints is much higher in RMDBs than xrdb.
While constraints are important, the ability to model anything in a systematic manner is even more important (for some scope of applications such as AI). In that area, xrdb excels over RM, as can been in this thread. Notice that RM has to keep changing its schema/queries to handle new data and RM still hasn't posted script for some of the original queries rendered invalid by schema changes. Also note that in an attempt to be as flexible as xrdb, RM has to use generic tables/columns and constraint become more difficult.
Ed, you stated you wouldn't have updated the RM schema as Johh did. Could you post your schema/script to store "John likes Mary", "John likes 111-1111", "Mary likes Fido" where Fido is a dog, "Fido hates Bob", phone#s with ext#s, specified queries, etc. Received on Fri Jun 10 2005 - 22:36:01 CEST