# Re: Domain

Date: Mon, 29 Dec 2003 14:20:39 -0500

Message-ID: <YeWdnX71jtUA422iRVn-ug_at_golden.net>

"portroe" <bob_at_sleigh.com> wrote in message
news:bspj1d$m3r$01$1_at_news.t-online.com...

> Hi all,

*>
**> can anybody give me a definition of domain as applied to DB theory,
**>
**> my elmasri et al book tells me 'A domain D is a set of atomic values'
**>
**> and then digresses, without really convincing me where this fits to DB
**> theory. I am of course assuming it is me not seeing the definition in
**> front of my face..
*

Think back to highschool algebra. Domain means the same in the relational model as it does in mathematics, which amounts to data type in computing.

If you remember seeing anything like:

1 = (x-1)/(x-1) such that x in Complex, x != 0

The "x in Complex, x !=0" defines the domain of x in the relation.

The whole expression defines a unary relation with an attribute x, and the data type of x is any non-zero complex number.

Highschool math deals mostly with numbers. Sets, and hence domains, can actually contain any kind of value.

As long as the dbms treats values strictly as values at the logical level, all values are atomic. A dbms would violate atomicity if it exposes internal structure with concepts such as a current position within the value, for instance.

As Date and Darwen have observed, domains are to nouns as relations are to sentences. Domains define the things we can make statements about, and relations make statements about them. Received on Mon Dec 29 2003 - 20:20:39 CET