Re: the relational model of data objects *and* program objects

From: Bernard Peek <bap_at_shrdlu.com>
Date: Mon, 18 Apr 2005 22:41:16 +0100
Message-ID: <LS4jfnH8lCZCFw73_at_shrdlu.com>


In message <4263d82f$1_at_news.fhg.de>, Alexandr Savinov <savinov_at_host.com> writes
>erk schrieb:
>> Alexandr Savinov wrote:
>>
>>>Having "One True Data Dictionary" means binding the whole system to
>> one
>>
>>>layer - it is absolutism, i.e., precisely what should be avoided.
>> Since when did this become comp.databases.politics.totalitatianism?
>>
>> have only a vague idea what you mean by "absolutism" in the context of
>> computer systems, but it seems like a desirable property, given that we
>> have to define and then reason about them.
>>
>>>We need a layered system of dictionaries (if we are talking about
>>>dictionaries) where one layer defines a dictionary which is used in
>>>another layer and so on.
>> Why do we need this?
>>
>>>Any one dictionary is not absolute and is based
>>>on some more fundamental layers (just like its functionality, data
>>>structure, relationships and all other things).
>> So the lower layer is absolute? You seem to confuse "absolute" with
>> "atomic," though I'm not quite sure what you're getting at.
>
>I mean that it is not good idea to have anything centralized including
>data dictionary or some functionality if it is not a really small piece
>of data/function.

No, that's wrong. It really is a good idea to have some things centralised. The data dictionary is probably one of those things. The essence of normalisation is that you store data in one and only one place. There are limited arguments for storing multiple copies of the data, denormalisation for better performance. This is something you do when forced to, and not before.

> The centralized approach could be called absolutism, monumentalism,
>totalitarism, centralism or whatever other term you like but the idea
>is that your system has a single center of the universe. Suppose that
>all requests to resolve computer names go to one DNS server. This
>solution is easier to implement, it is more reliable and efficient
>but... only untill you rich some size. After that you need to
>decentralize the system.

No. The DNS system has a handful of root name servers and is not decentralised. There are cached copies of their data elsewhere but the slave servers defer to the root servers which have definitive copies of the data.

>The same situation is in any large system including data management
>systems. It is already the next question how it can be implemented.

Or avoided. The problem here is that your basic assumptions are incorrect, so any work derived from them is not going to be useful.

-- 
Bernard Peek
London, UK. DBA, Manager, Trainer & Author.
Received on Mon Apr 18 2005 - 23:41:16 CEST

Original text of this message