SQL for Smarties | SQL Programming Style | Trees and Hierarchies in SQL | SQL Puzzles and Answers | Data and Databases


Monday, May 22, 2006

Infinity and indefinite extensibility

SQL Apprentice Question
There is probably some standard terminolgy for what you are about to read.
I don't know what that standard terminology is. Sorry about that.

I think it's worthwhile, in the discussion of infinite domains and finite
state implementations, to distinguish between "infinite" and "indefinitely
extensible".


For example, the familiar decimal place value notation system for natural
numbers is indefinitely extensible. That is, there is no such thing as the
largest natural number that the scheme can represent. If a number can be
represented in decimal, its successor can be represented as well. And so
on.


However, every number that can be written in decimal is finite. And every
set of natural that has been formed by listing the elements is a finite
set. And this will remain true until the twelth of never. (yuk, yuk).


You can't represent "infinity" with natural numbers, but there is no upper
bound to the range of natural numbers.


It seems to me that this distinction would be revelant over in the
"impossible database design" topic.



Celko Answers

>> There is probably some standard terminolgy for what you are about to read.<<


Most of it comes from Cantor and set theory. Before Cantor, infinite
was a process and hence the "tipped over" 8 notation. It is the
programmer's endless loop written with a symbol to show there is no
upper bound. This is why you see it in limits and summation of a
series.

After Cantor, we got the aleph notation. The numbers are put into a
set and the set is treated as a completed whole thing and not a process
-- the SQL model. It gets a bit tricky when you do summation over a
set instead of looping over a sequence.


If you have a test for set membership that meets certain conditions,
then you do not need to mateiralize the whole set.

No comments: