dananrg@xxxxxxxxx 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
--------------------------------------------------------------------