# Thread: Theory question: how to work out Active Domain?

1. ## Theory question: how to work out Active Domain?

Hi, I've got some theory questions regarding database and haven't been able to figure them out, hope someone here can help me out.

How do I work out the Active Domain of a relation?

Example:

Code:
``` dom(A) = {a1, a2}
dom(B) = {b1, b2, b3}
dom(C) = (c1, c2}
R = ABC

r(R)
A  B  C
--------
a1 b1 c1
a1 b2 c1
a2 b1 c2

dom(R)
A  B  C
--------
a1 b1 c1
a1 b1 c2
a1 b2 c1
a1 b2 c2
a1 b3 c1
a1 b3 c2
a2 b1 c1
a2 b1 c2
a2 b2 c1
a2 b2 c2
a2 b3 c1
a2 b3 c2```
In this example, I THINK the active domain ends up being all the tuples in dom(R) without b3 in it, but I have no idea why.

Also, if ~r is dom(R) - r, and active complement is adom(R) - r, what's meant by "if |~r| > |r| then the active complement can be used as a storage compression device"?

2. Someone should move this thread to the .NET forum...

4. Heh, I've solved it already anyway.

6. Active Domain's basically the same as domain (dom(R) in the diagram), but using only values in r. In this case, using all the values except for b3, because that didn't appear in r(R).

That means while dom(R) has 12 rows, adom(R) only has 8 rows i.e., all the ones in dom(R) that doesn't contain b3.

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•