Re: Normalisation

From: Jan Hidders <>
Date: Mon, 04 Jul 2005 19:11:16 GMT
Message-ID: <oRfye.137238$>

Jon Heggland wrote:
> In article <ZaSxe.136291$>,
> says...

>>>How do you define atomicity?
>>Roughly, I would say that it means that all your data manipulation can 
>>be expressed as operations over a signature that consists only of (1) 
>>domains described by an abstract data type and (2) relations that 
>>contain in their fields only values from these domains.

> I can't make heads or tails of this. Operations over a signature?

Yes, that means that they can be described in a programming language in which your access to the database is restriced to the functions in the signature. These operations would be the (1) the operations that are associated with the domains and (2) operations that retrieve the current instance of a relvar.

>>An unnest operation, for example, cannot be described in that way.

> What if I define an unnest operator that "unnests" strings in a
> corresponding manner?

It does not satisfy the definition.

> Anyway, let me rephrase my initial question.
> What is an atomic datatype/domain?

The problem with that question is that it makes an incorrect assumption. Atomicity is not a property of a domain per se, but rather a property of how it is treated by certain operations. The more correct question is: "When does the DBMS treat a certain domain as atomic?". You can derive the answer to that question from what I said above.

  • Jan Hidders
Received on Mon Jul 04 2005 - 21:11:16 CEST

Original text of this message