Fabian Pascal and RDBMS deficiencies in fully implementing the relational model

Started by dananrg@yahoo.comalmost 20 years ago51 messageshackersgeneral
Jump to latest
#1dananrg@yahoo.com
dananrg@yahoo.com
hackersgeneral

I'm reading, and enjoying immensely, Fabial Pascal's book "Practical
Issues in Database Management."

Though I've just gotten started with the book, he seems to be saying
that modern RDBMSs aren't as faithful to relational theory as they
ought to be, and that this has many *practical* consequences, e.g. lack
of functionality.

Given that PostgreSQL is open source, it seems a more likely candidate
for addressing Pascal's concerns. At least the potential is there.

Some questions:

1) Is PostgreSQL more faithful to relational theory? If so, do you find
yourself using the additional functionality afforded by this? e.g. does
it really matter to what you do in your daily work.

2) If PostgreSQL is *not* significantly more faithful to relational
theory than commercial RDBMSs, is it at least on the road to becoming
more faithful?

3) If PostgreSQL is not on the road to becoming more faithful to
relational theory and purity, why not? Is it due to the fact that
various SQL standards are themselves not fully faithful to relational
theory, and most RDBMSs have as a primary design goal to be faithful to
standards (which Pascal implies *are* relationally deficient)?

4) Which database, commercial or non-commercial, is most faithful to
relational theory itself, or is headed in that direction the quickest?

Dana

#2Roy Souther
roy@silicontao.com
In reply to: dananrg@yahoo.com (#1)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully

In what way could a database like PostgreSQL not be "faithful to
relational theory"? Does he give any explanation as to what that means?

Some people mistake the word relational for the meaning of
normalization, but they do not have the same meaning. If Fabial is
mistaking relational for normalization then that would make sense
because there is nothing to force the use of normalization.

On Thu, 2006-06-08 at 05:21 -0700, dananrg@yahoo.com wrote:

I'm reading, and enjoying immensely, Fabial Pascal's book "Practical
Issues in Database Management."

Though I've just gotten started with the book, he seems to be saying
that modern RDBMSs aren't as faithful to relational theory as they
ought to be, and that this has many *practical* consequences, e.g. lack
of functionality.

Given that PostgreSQL is open source, it seems a more likely candidate
for addressing Pascal's concerns. At least the potential is there.

Some questions:

1) Is PostgreSQL more faithful to relational theory? If so, do you find
yourself using the additional functionality afforded by this? e.g. does
it really matter to what you do in your daily work.

2) If PostgreSQL is *not* significantly more faithful to relational
theory than commercial RDBMSs, is it at least on the road to becoming
more faithful?

3) If PostgreSQL is not on the road to becoming more faithful to
relational theory and purity, why not? Is it due to the fact that
various SQL standards are themselves not fully faithful to relational
theory, and most RDBMSs have as a primary design goal to be faithful to
standards (which Pascal implies *are* relationally deficient)?

4) Which database, commercial or non-commercial, is most faithful to
relational theory itself, or is headed in that direction the quickest?

Dana

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Royce Souther
www.SiliconTao.com
Let Open Source help your business move beyond.

For security this message is digitally authenticated by GnuPG.

#3Scott Marlowe
smarlowe@g2switchworks.com
In reply to: dananrg@yahoo.com (#1)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully

On Thu, 2006-06-08 at 07:21, dananrg@yahoo.com wrote:

I'm reading, and enjoying immensely, Fabial Pascal's book "Practical
Issues in Database Management."

Though I've just gotten started with the book, he seems to be saying
that modern RDBMSs aren't as faithful to relational theory as they
ought to be, and that this has many *practical* consequences, e.g. lack
of functionality.

I generally find the arguments that modern RDBMSes aren't faithful to
relational theory to be much like the old arguments about how many
angels could dance on the head of a pin.

The single most commonly trotted out one is that in relational and set
theory, duplicates are not allowed, but modern RDBMS systems allow
duplicates, unless you design your schema to reject duplicates on
purpose.

While it would sometimes be useful to have my database automatically
declare all tables to have a unique index across every field in a table,
I know that performance wise this could be a disaster for some data
sets, and often it would have no real value. Not that they don't have a
valid argument, I just think it's a kind of petty argument.

The other arguments that show up generally have to do with having the
ability to get the same data results in more than one way (i.e. a
non-deterministic methodology) which other query languages seemed to
have solved in the past. OTOH, PostgreSQL descended from a database
that used the QUEL query language, and it seems a bit hard to find other
QUEL databases. SQL may not be perfect, but it is fairly ubiquitous,
and that makes porting to or from one SQL db to another moderately easy.

To me, the real argument is, "Is SQL so lacking that it should be
replaced". In what REAL measurable ways is SQL lacking so badly we
should toss it and start over? It's not perfect, that's for sure. But
what's the investment on starting over, and the possible traction of a
non-SQL database in a largely SQL driven market?

#4Chris Browne
cbbrowne@acm.org
In reply to: dananrg@yahoo.com (#1)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing the relational model

In the last exciting episode, dananrg@yahoo.com wrote:

I'm reading, and enjoying immensely, Fabial Pascal's book "Practical
Issues in Database Management."

Though I've just gotten started with the book, he seems to be saying
that modern RDBMSs aren't as faithful to relational theory as they
ought to be, and that this has many *practical* consequences, e.g. lack
of functionality.

Given that PostgreSQL is open source, it seems a more likely candidate
for addressing Pascal's concerns. At least the potential is there.

Some questions:

1) Is PostgreSQL more faithful to relational theory? If so, do you find
yourself using the additional functionality afforded by this? e.g. does
it really matter to what you do in your daily work.

PostgreSQL's fidelity is more to the SQL standards than to relational
theory, per se, but there are places where it does "play better" than
some of its competitors with regard to relational behaviour.

Oracle, for instance, has the trouble that it does not generally
perceive NULL as being distinct from empty strings.

2) If PostgreSQL is *not* significantly more faithful to relational
theory than commercial RDBMSs, is it at least on the road to
becoming more faithful?

It's probably fairer to say that it isn't on any road to become "less
faithful."

The tendancy for products like Oracle and DB2 has been to hearken down
roads with XML on the signs, and to lose rational behaviour on that
basis.

3) If PostgreSQL is not on the road to becoming more faithful to
relational theory and purity, why not? Is it due to the fact that
various SQL standards are themselves not fully faithful to relational
theory, and most RDBMSs have as a primary design goal to be faithful to
standards (which Pascal implies *are* relationally deficient)?

There are two big bits of trouble to SQL:

1. NULL is a problem (where there isn't any choice of implementation
strategies that *won't* lead to considerable pain), which is why the
would-be relational successor, Tutorial D, rejects having NULL
altogether.

2. Features get added to SQL standards without much regard to
fidelity to a relational model. Often, features get added because
they seem cool, and because Microsoft or IBM figure the features can
get them some sales. That doesn't guarantee fidelity to much of
anything :-(.

4) Which database, commercial or non-commercial, is most faithful to
relational theory itself, or is headed in that direction the
quickest?

The product that appears to have greatest fidelity to SQL standards is
Mimer SQL. That's not quite the same thing as fidelity to relational
theory, of course.

One of the interesting edges, with PostgreSQL, is the whole
"object/relational" side of it. Darwen and Date were highly critical
of O/R; they felt that "doing relational right" was generally a better
thing.

I'd argue that with the extensible type system, PostgreSQL does parts
of this quite right.

The place where there is controversy is in how PostgreSQL should deal
with things like inheritance, when inheriting attributes from a table,
and the lack of agreement seems to me to demonstrate that there's not
any particular will to continue down the "O/R dogma" road...
--
let name="cbbrowne" and tld="gmail.com" in name ^ "@" ^ tld;;
http://linuxdatabases.info/info/nonrdbms.html
"I will not send lard through the mail" ^ 100 -- Bart Simpson

#5Chris Browne
cbbrowne@acm.org
In reply to: dananrg@yahoo.com (#1)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully

smarlowe@g2switchworks.com (Scott Marlowe) writes:

To me, the real argument is, "Is SQL so lacking that it should be
replaced". In what REAL measurable ways is SQL lacking so badly we
should toss it and start over? It's not perfect, that's for sure.
But what's the investment on starting over, and the possible
traction of a non-SQL database in a largely SQL driven market?

The only visible alternative, at this point, is Tutorial D, and it
doesn't particularly excite me...
--
"cbbrowne","@","ntlug.org"
http://www3.sympatico.ca/cbbrowne/languages.html
A mathematician is a machine for converting caffeine into theorems.

#6Scott Marlowe
smarlowe@g2switchworks.com
In reply to: Chris Browne (#5)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully

On Thu, 2006-06-08 at 16:17, Chris Browne wrote:

smarlowe@g2switchworks.com (Scott Marlowe) writes:

To me, the real argument is, "Is SQL so lacking that it should be
replaced". In what REAL measurable ways is SQL lacking so badly we
should toss it and start over? It's not perfect, that's for sure.
But what's the investment on starting over, and the possible
traction of a non-SQL database in a largely SQL driven market?

The only visible alternative, at this point, is Tutorial D, and it
doesn't particularly excite me...

On the other hand, it's nice to know it's dragged down by a moniker even
more awkward than PostgreSQL's!

Honestly, Tutorial D does not make me think database. It makes me think
Calculus help line.

#7David Fetter
david@fetter.org
In reply to: dananrg@yahoo.com (#1)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing the relational model

On Thu, Jun 08, 2006 at 05:21:07AM -0700, dananrg@yahoo.com wrote:

I'm reading, and enjoying immensely, Fabial Pascal's book "Practical
Issues in Database Management."

Be aware that Pascal, along with Date and Darwen, are...how do I put
this gently...cranks. They've been getting more strident and
irrational as the decades go by.

Pascal, Date, and Darwen have been alleging for years, with increasing
shrillness, that DBMSs should be based on set theory and 2-value
logic. I say "alleging" because they have not backed up this idea
with any actual software that others could test. SQL DBMSs are based
on bag theory[1]Basically set theory with repetition of elements allowed. This in turn makes aggregates easy and natural to implement. and 3-value logic[2]A boolean value can take the values true, false and unknown.. Until they come up with a
testable system, or Hell freezes over, whichever comes first, Pascal's
book will make a good companion on your shelf to books on
Phlogiston[3]http://en.wikipedia.org/wiki/Phlogiston theory, or a decent doorstop, whichever you prefer.

Cheers,
D

[1]: Basically set theory with repetition of elements allowed. This in turn makes aggregates easy and natural to implement.
turn makes aggregates easy and natural to implement.

[2]: A boolean value can take the values true, false and unknown.

[3]: http://en.wikipedia.org/wiki/Phlogiston

--
David Fetter <david@fetter.org> http://fetter.org/
phone: +1 415 235 3778 AIM: dfetter666
Skype: davidfetter

Remember to vote!

#8Scott Marlowe
smarlowe@g2switchworks.com
In reply to: David Fetter (#7)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully

On Thu, 2006-06-08 at 17:14, David Fetter wrote:

Pascal, Date, and Darwen have been alleging for years, with increasing
shrillness, that DBMSs should be based on set theory and 2-value
logic. I say "alleging" because they have not backed up this idea
with any actual software that others could test. SQL DBMSs are based
on bag theory[1] and 3-value logic[2]. Until they come up with a
testable system, or Hell freezes over, whichever comes first, Pascal's
book will make a good companion on your shelf to books on
Phlogiston[3] theory, or a decent doorstop, whichever you prefer.

Now you're just being ridiculous.

Most of those books are nowhere near heavy enough to be a good door
stop.

And I don't know what your problem with Phlogiston is, it's a perfectly
cromulent thoery. (see
http://en.wikipedia.org/wiki/Cromulent#Cromulent)

#9David Fetter
david@fetter.org
In reply to: Scott Marlowe (#8)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing the relational model

On Thu, Jun 08, 2006 at 05:22:46PM -0500, Scott Marlowe wrote:

On Thu, 2006-06-08 at 17:14, David Fetter wrote:

Pascal, Date, and Darwen have been alleging for years, with
increasing shrillness, that DBMSs should be based on set theory
and 2-value logic. I say "alleging" because they have not backed
up this idea with any actual software that others could test. SQL
DBMSs are based on bag theory[1] and 3-value logic[2]. Until they
come up with a testable system, or Hell freezes over, whichever
comes first, Pascal's book will make a good companion on your
shelf to books on Phlogiston[3] theory, or a decent doorstop,
whichever you prefer.

Now you're just being ridiculous.

Most of those books are nowhere near heavy enough to be a good door
stop.

I'm sorry I exaggerated here. You're right, of course. Most of them
would make only half-way decent doorstops. Date's latest from
O'Reilly isn't even that.

And I don't know what your problem with Phlogiston is, it's a
perfectly cromulent thoery. (see
http://en.wikipedia.org/wiki/Cromulent#Cromulent)

The Simpsons is almost enough to make me get a working TV and watch
Fox on it, but not quite :)

Cheers,
D
--
David Fetter <david@fetter.org> http://fetter.org/
phone: +1 415 235 3778 AIM: dfetter666
Skype: davidfetter

Remember to vote!

#10A.M.
agentm@themactionfaction.com
In reply to: David Fetter (#7)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing the relational model

To balance the discussion, I would like to say that I thoroughly
enjoyed Date's latest "Database In Depth". It gave me a strong
foundation in relational theory and I can say that I think more about
my schema designs thanks to the advice in the text. Just because SQL
may allow something, doesn't make it good. If you don't use NULL, then
you don't come across 3-valued logic--problem solved.

Some Tutorial D notions really make sense; I would love to be able to
rely on every function returning a relation.

Everything is OK until he starts peddling TransRelational™ software...

On Jun 8, 2006, at 6:14 PM, David Fetter wrote:

On Thu, Jun 08, 2006 at 05:21:07AM -0700, dananrg@yahoo.com wrote:

I'm reading, and enjoying immensely, Fabial Pascal's book "Practical
Issues in Database Management."

Be aware that Pascal, along with Date and Darwen, are...how do I put
this gently...cranks. They've been getting more strident and
irrational as the decades go by.

Pascal, Date, and Darwen have been alleging for years, with increasing
shrillness, that DBMSs should be based on set theory and 2-value
logic. I say "alleging" because they have not backed up this idea
with any actual software that others could test. SQL DBMSs are based
on bag theory[1] and 3-value logic[2]. Until they come up with a
testable system, or Hell freezes over, whichever comes first, Pascal's
book will make a good companion on your shelf to books on
Phlogiston[3] theory, or a decent doorstop, whichever you prefer.

Cheers,
D

¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬

AgentM
agentm@themactionfaction.com
¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬

#11Trent Shipley
tshipley@deru.com
In reply to: David Fetter (#7)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing the relational model

On Thursday 2006-06-08 15:14, David Fetter wrote:

On Thu, Jun 08, 2006 at 05:21:07AM -0700, dananrg@yahoo.com wrote:

on bag theory[1] and 3-value logic[2]. Until they come up with a
testable system, or Hell freezes over, whichever comes first, Pascal's
book will make a good companion on your shelf to books on
Phlogiston[3] theory, or a decent doorstop, whichever you prefer.

I have encountered at least two commercial database products that declared
every column "NOT NULL". I have always assumed that this was defensive,
preventing stupid programmer mistakes.

I recall reading somewhere that Codd proposed multiple flavors of nullity.
Are there theoretical proposals for databases with logical systems having
more than three values?

#12David Fetter
david@fetter.org
In reply to: Trent Shipley (#11)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing the relational model

On Thu, Jun 08, 2006 at 06:09:21PM -0700, Trent Shipley wrote:

On Thursday 2006-06-08 15:14, David Fetter wrote:

On Thu, Jun 08, 2006 at 05:21:07AM -0700, dananrg@yahoo.com wrote:

on bag theory[1] and 3-value logic[2]. Until they come up with a
testable system, or Hell freezes over, whichever comes first,
Pascal's book will make a good companion on your shelf to books on
Phlogiston[3] theory, or a decent doorstop, whichever you prefer.

I have encountered at least two commercial database products that
declared every column "NOT NULL". I have always assumed that this
was defensive, preventing stupid programmer mistakes.

It's not that simple. If there are no NULLs allowed anywhere, that
means that you can't even have them as the output of a SELECT
statement, which means no OUTER JOINs. No repetitions means none
anywhere, which means that they can't be the output of a query either,
and makes it complicated at best to do aggregates. The whole thing is
just ridiculous on its face.

I recall reading somewhere that Codd proposed multiple flavors of
nullity. Are there theoretical proposals for databases with logical
systems having more than three values?

Codd proposed two different NULLs, if I recall right, and some people
have come up with tens of different meanings that NULL might have,
which leads to some major silliness wherein your "truth table" is a
grid that doesn't legibly fit on a piece of A4 paper.

Cheers,
D
--
David Fetter <david@fetter.org> http://fetter.org/
phone: +1 415 235 3778 AIM: dfetter666
Skype: davidfetter

Remember to vote!

#13Chris Browne
cbbrowne@acm.org
In reply to: dananrg@yahoo.com (#1)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing the relational model

A long time ago, in a galaxy far, far away, tshipley@deru.com (Trent Shipley) wrote:

On Thursday 2006-06-08 15:14, David Fetter wrote:

On Thu, Jun 08, 2006 at 05:21:07AM -0700, dananrg@yahoo.com wrote:

on bag theory[1] and 3-value logic[2]. Until they come up with a
testable system, or Hell freezes over, whichever comes first,
Pascal's book will make a good companion on your shelf to books on
Phlogiston[3] theory, or a decent doorstop, whichever you prefer.

I have encountered at least two commercial database products that
declared every column "NOT NULL". I have always assumed that this
was defensive, preventing stupid programmer mistakes.

I recall reading somewhere that Codd proposed multiple flavors of
nullity. Are there theoretical proposals for databases with logical
systems having more than three values?

Darwen did a paper where he described how you'd cope with not having
any nulls. It amounted to having a whole bunch of views that would
have a whole host of special indicator values to replace the multiple
meanings of NULL...
--
let name="cbbrowne" and tld="gmail.com" in String.concat "@" [name;tld];;
http://linuxdatabases.info/info/lisp.html
Including a destination in the CC list that will cause the recipients'
mailer to blow out is a good way to stifle dissent.
-- from the Symbolics Guidelines for Sending Mail

#14Nis Jørgensen
nis@superlativ.dk
In reply to: A.M. (#10)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing

Agent M wrote:

If you don't use NULL, then you don't
come across 3-valued logic--problem solved.

So was does "SELECT sum(1) FROM dual WHERE false" return?

/Nis

#15A.M.
agentm@themactionfaction.com
In reply to: Chris Browne (#13)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing the relational model

Well, the Date argument against NULLs (and he never endorsed them, or
so he claims) is that they are not data- they represent the absence of
data- so why put non-data in a _data_base.

If you are asking yourself the question how you can have support
multiple meanings in a column, normalize. Then, baldness is just
another value and you don't have to guess if the hair color is unknown,
undefined, or missing.

On Jun 8, 2006, at 10:10 PM, Christopher Browne wrote:

A long time ago, in a galaxy far, far away, tshipley@deru.com (Trent
Shipley) wrote:

On Thursday 2006-06-08 15:14, David Fetter wrote:

On Thu, Jun 08, 2006 at 05:21:07AM -0700, dananrg@yahoo.com wrote:

on bag theory[1] and 3-value logic[2]. Until they come up with a
testable system, or Hell freezes over, whichever comes first,
Pascal's book will make a good companion on your shelf to books on
Phlogiston[3] theory, or a decent doorstop, whichever you prefer.

I have encountered at least two commercial database products that
declared every column "NOT NULL". I have always assumed that this
was defensive, preventing stupid programmer mistakes.

I recall reading somewhere that Codd proposed multiple flavors of
nullity. Are there theoretical proposals for databases with logical
systems having more than three values?

Darwen did a paper where he described how you'd cope with not having
any nulls. It amounted to having a whole bunch of views that would
have a whole host of special indicator values to replace the multiple
meanings of NULL...
--
let name="cbbrowne" and tld="gmail.com" in String.concat "@"
[name;tld];;
http://linuxdatabases.info/info/lisp.html
Including a destination in the CC list that will cause the recipients'
mailer to blow out is a good way to stifle dissent.
-- from the Symbolics Guidelines for Sending Mail

---------------------------(end of
broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that
your
message can get through to the mailing list cleanly

¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬
AgentM
agentm@themactionfaction.com
¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬

#16A.M.
agentm@themactionfaction.com
In reply to: David Fetter (#12)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing the relational model

On Jun 8, 2006, at 9:32 PM, David Fetter wrote:

On Thu, Jun 08, 2006 at 06:09:21PM -0700, Trent Shipley wrote:

On Thursday 2006-06-08 15:14, David Fetter wrote:

On Thu, Jun 08, 2006 at 05:21:07AM -0700, dananrg@yahoo.com wrote:

on bag theory[1] and 3-value logic[2]. Until they come up with a
testable system, or Hell freezes over, whichever comes first,
Pascal's book will make a good companion on your shelf to books on
Phlogiston[3] theory, or a decent doorstop, whichever you prefer.

I have encountered at least two commercial database products that
declared every column "NOT NULL". I have always assumed that this
was defensive, preventing stupid programmer mistakes.

It's not that simple. If there are no NULLs allowed anywhere, that
means that you can't even have them as the output of a SELECT
statement, which means no OUTER JOINs. No repetitions means none
anywhere, which means that they can't be the output of a query either,
and makes it complicated at best to do aggregates. The whole thing is
just ridiculous on its face.

Yes, no repetition. The point is that all functions should return
actual relations, so no ordering either. This makes it trivial to chain
the operations which is painful to do in SQL because you have to pay
attention to return types *and* whether or not the subquery returns one
or more rows or just one "value".

The OUTER JOIN stuff is a limitation of SQL. In the relational model,
there is no reason a column type cannot be a relation itself, however
SQL can't cope well with that. Aggregates can return relations as
header types so all the applicable tuples are returned. I have to do
that in PostgreSQL with arrays but there is no trivial way to convert
between arrays and a fake view or table or a VALUES() construct :-(

¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬
AgentM
agentm@themactionfaction.com
¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬

#17Roman Neuhauser
neuhauser@sigpipe.cz
In reply to: Nis Jørgensen (#14)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing

# nis@superlativ.dk / 2006-06-09 10:12:21 +0200:

Agent M wrote:

If you don't use NULL, then you don't
come across 3-valued logic--problem solved.

So was does "SELECT sum(1) FROM dual WHERE false" return?

You stripped this:

Some Tutorial D notions really make sense; I would love to be able
to rely on every function returning a relation.

So your query would prolly return a table with one (INT) column,
but no rows.

--
How many Vietnam vets does it take to screw in a light bulb?
You don't know, man. You don't KNOW.
Cause you weren't THERE. http://bash.org/?255991

#18Aaron Bingham
bingham@cenix-bioscience.com
In reply to: dananrg@yahoo.com (#1)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing

dananrg@yahoo.com wrote:

I'm reading, and enjoying immensely, Fabial Pascal's book "Practical
Issues in Database Management."

I also found this book very useful when I first started doing serious
database work. For a more thorough treatment of many of these issues,
see An Introduction to Database Systems by Chris Date. The latter book
is so full of detail that it is sometimes hard to follow, but it's worth
the effort.

Though I've just gotten started with the book, he seems to be saying
that modern RDBMSs aren't as faithful to relational theory as they
ought to be, and that this has many *practical* consequences, e.g. lack
of functionality.

Given that PostgreSQL is open source, it seems a more likely candidate
for addressing Pascal's concerns. At least the potential is there.

Although some DBMSs have invented new ways to break the relational
model, the fundamental problems are in SQL. No DBMS based on SQL is
going to be able to support RM correctly.

Some questions:

1) Is PostgreSQL more faithful to relational theory? If so, do you find
yourself using the additional functionality afforded by this? e.g. does
it really matter to what you do in your daily work.

Within the limitations imposed by the SQL standard, PostgreSQL seems to
do about as well as could be expected, but falls short as all SQL DBMSs
must. For example, PostgreSQL allows NULLs and duplicate rows (there
are preventive measures against both of these but you have to be careful
to avoid them, and sometimes you can't). One feature of RM PostgreSQL
lacks are nested relations (a bad idea for base table design but useful
in query results).

Regards,

--
--------------------------------------------------------------------
Aaron Bingham
Senior Software Engineer
Cenix BioScience GmbH
--------------------------------------------------------------------

#19Nis Jørgensen
nis@superlativ.dk
In reply to: Roman Neuhauser (#17)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully implementing

Roman Neuhauser wrote:

# nis@superlativ.dk / 2006-06-09 10:12:21 +0200:

Agent M wrote:

If you don't use NULL, then you don't
come across 3-valued logic--problem solved.

So was does "SELECT sum(1) FROM dual WHERE false" return?

You stripped this:

Some Tutorial D notions really make sense; I would love to be able
to rely on every function returning a relation.

Yes. I didn't see its relevance to the claim that "if you don't use
null, you will not come across 3-valued logic". My point being that you
need to make sure that your queries don't generate them behind your back
either.

So your query would prolly return a table with one (INT) column,
but no rows.

Well, if you are not bound by the SQL standard and its mistakes, the
"obvious" return value would be one row, one column, containing 0.

/Nis

#20A.M.
agentm@themactionfaction.com
In reply to: Aaron Bingham (#18)
hackersgeneral
Re: Fabian Pascal and RDBMS deficiencies in fully

Also, Date mentions the notion that tables don't have to be mapped to
individual files. For example, if the types of queries are known in
advance, it could be possible to rearrange the data to be optimal for
those queries. Currently, tables are just big serialized arrays.

Show quoted text

On Fri, June 9, 2006 9:55 am, Aaron Bingham wrote:

dananrg@yahoo.com wrote:

I'm reading, and enjoying immensely, Fabial Pascal's book "Practical
Issues in Database Management."

I also found this book very useful when I first started doing serious
database work. For a more thorough treatment of many of these issues, see
An Introduction to Database Systems by Chris Date. The latter book
is so full of detail that it is sometimes hard to follow, but it's worth
the effort.

Though I've just gotten started with the book, he seems to be saying
that modern RDBMSs aren't as faithful to relational theory as they ought
to be, and that this has many *practical* consequences, e.g. lack of
functionality.

Given that PostgreSQL is open source, it seems a more likely candidate
for addressing Pascal's concerns. At least the potential is there.

Although some DBMSs have invented new ways to break the relational
model, the fundamental problems are in SQL. No DBMS based on SQL is going
to be able to support RM correctly.

Some questions:

1) Is PostgreSQL more faithful to relational theory? If so, do you find
yourself using the additional functionality afforded by this? e.g.
does it really matter to what you do in your daily work.

Within the limitations imposed by the SQL standard, PostgreSQL seems to
do about as well as could be expected, but falls short as all SQL DBMSs
must. For example, PostgreSQL allows NULLs and duplicate rows (there are
preventive measures against both of these but you have to be careful to
avoid them, and sometimes you can't). One feature of RM PostgreSQL lacks
are nested relations (a bad idea for base table design but useful in query
results).

Regards,

--
--------------------------------------------------------------------
Aaron Bingham
Senior Software Engineer
Cenix BioScience GmbH
--------------------------------------------------------------------

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

#21Martijn van Oosterhout
kleptog@svana.org
In reply to: A.M. (#15)
hackersgeneral
#22David Fetter
david@fetter.org
In reply to: Aaron Bingham (#18)
hackersgeneral
#23David Fetter
david@fetter.org
In reply to: Martijn van Oosterhout (#21)
hackersgeneral
#24A.M.
agentm@themactionfaction.com
In reply to: David Fetter (#23)
hackersgeneral
#25A.M.
agentm@themactionfaction.com
In reply to: dananrg@yahoo.com (#1)
hackersgeneral
#26David Fetter
david@fetter.org
In reply to: A.M. (#25)
hackersgeneral
#27Martijn van Oosterhout
kleptog@svana.org
In reply to: A.M. (#24)
hackersgeneral
#28dananrg@yahoo.com
dananrg@yahoo.com
In reply to: A.M. (#24)
hackersgeneral
#29Robert Treat
xzilla@users.sourceforge.net
In reply to: David Fetter (#26)
hackersgeneral
#30David Fetter
david@fetter.org
In reply to: Robert Treat (#29)
hackersgeneral
#31Trent Shipley
tshipley@deru.com
In reply to: Martijn van Oosterhout (#27)
hackersgeneral
#32Merlin Moncure
mmoncure@gmail.com
In reply to: Chris Browne (#5)
hackersgeneral
#33Merlin Moncure
mmoncure@gmail.com
In reply to: dananrg@yahoo.com (#1)
hackersgeneral
#34David Fetter
david@fetter.org
In reply to: Merlin Moncure (#32)
hackersgeneral
#35David Fetter
david@fetter.org
In reply to: dananrg@yahoo.com (#28)
hackersgeneral
#36Aaron Bingham
bingham@cenix-bioscience.com
In reply to: David Fetter (#22)
hackersgeneral
#37Aaron Bingham
bingham@cenix-bioscience.com
In reply to: Aaron Bingham (#36)
hackersgeneral
In reply to: A.M. (#24)
hackersgeneral
#39Florian Weimer
fw@deneb.enyo.de
In reply to: Roy Souther (#2)
hackersgeneral
#40Scott Ribe
scott_ribe@killerbytes.com
In reply to: Aaron Bingham (#36)
hackersgeneral
#41A.M.
agentm@themactionfaction.com
In reply to: Aaron Bingham (#36)
hackersgeneral
#42Merlin Moncure
mmoncure@gmail.com
In reply to: Aaron Bingham (#36)
hackersgeneral
#43David Fetter
david@fetter.org
In reply to: Merlin Moncure (#42)
hackersgeneral
#44brian
brian@zijn-digital.com
In reply to: A.M. (#41)
hackersgeneral
#45Ron Mayer
rm_pg@cheapcomplexdevices.com
In reply to: David Fetter (#43)
hackersgeneral
#46Chris Browne
cbbrowne@acm.org
In reply to: Aaron Bingham (#36)
hackersgeneral
#47Trent Shipley
tshipley@deru.com
In reply to: Aaron Bingham (#36)
hackersgeneral
#48Martijn van Oosterhout
kleptog@svana.org
In reply to: Chris Browne (#46)
hackersgeneral
#49Chris Browne
cbbrowne@acm.org
In reply to: Aaron Bingham (#36)
hackersgeneral
#50Simon Riggs
simon@2ndQuadrant.com
In reply to: Chris Browne (#49)
hackersgeneral
#51Florian Pflug
fgp@phlo.org
In reply to: Trent Shipley (#47)
hackersgeneral