Re: A searchable datastructure for represeting attributes?
Date: 1 Mar 2002 10:10:00 -0800
nsouto_at_optushome.com.au.nospam (Nuno Souto) wrote in message news:<3c7f80f1.626089_at_news-vip.optusnet.com.au>...
> In the absence of proper domain support - something that the
> relational model required but was never implemented - triggers are one
> of the easiest ways of providing precisely this type of functionality.
News may not have filtered out to the darker corners of the Internet but some RDBMS products have supported domains within an R framework for some time (since at least 1993). For example, PostgresSQL supports the idea of user-defined types and a group of encapsulated behavior/functions which integrate into the relational framework. (Why wasn't the term "domain" used to describe all of this? That was probably a mistake. . .)
INFORMIX's IDS product pushed the envelope about as far as it could be taken in this direction. You can create interfaces to new storage structures, new aggregates, and so on. In an example like the bar code ISO number, the method/function used to create a new instance of the domain/type/class enforces the integrity rules, rather than the SQL. This is done so that the type/class/domain can be used to declare variables in stored procedures. In fact, it need not be used in queries at all!
Standards now exist allowing these new domains/types/classes to be implemented in Java. Different products provide a variety of proprietery mechanisms for other languages (C, C++, stored procedure languages). I'm told SQL Server's next version (Yukon) will have very tight bindings between C# and the SQL type/domain system. Oracle claims to have a lot of these features, although I believe that their implementation is still a little immature. (Where as IFMX & DB2 both used the public interfaces to implement extenders/datablades like spatial and text, Oracle's own engineers implemented their spatial & text cartridges. This is not really a criticism, BTW. There are quite reasonable engineering and marketing reasons to do it this way. Of course, it's not how I would do it, but . . .)
There are a number of books that describe the technology (Component Databases, Object-Relational Databases, extensible databases) and methodologies for analysis and design for such systems.
Hope this sheds a little more light.
Pb Received on Fri Mar 01 2002 - 19:10:00 CET