Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

dbdebunk.com - comments?

Status
Not open for further replies.

psemianonymous

Programmer
Dec 2, 2002
1,877
US
When I'm idle, I tend to read. My recent forays include the excellent Joel On Software articles ( go visit it, the most interesting/excellent general software design articles I have ever read: ) and the antagonistic dbdebunk.com ( ). I want to discuss dbdebunk's principle(s):

All modern SQL DBMS's are not relational; this may be stated by the contrapositive "NO modern SQL DBMS's are relational". The term 'relational' database is apparently a misnomer, because certain fundamental concepts of relational math are not supported by the DBMS's. By DBMS, I mean *all* DBMS's, from your DB/2 to your Oracle to your SQL Server to your MySQL and PostgreSQL and your wimpy Access databases as well. None truly relational.

Why aren't they relational? I don't know, and I've been browsing over the web site attempting to find some sort of concrete example. I don't disagree with their content; if anything, I can only disagree with their conclusion--that modern DBMS's are missing out on huge performance boosts because they are not truly relational. I say that it doesn't matter if modern DBMS's are truly relational--if you can create a relational database with SQL-based DBMS's, and can leverage the benefits of a relational system, what does it matter if your DBMS is truly relational or not? But I am curious as to the benefits.


Further (humongous) reading:

(I am mostly an Access dev so the following is particularly interesting)
Is Access a relational database system? newsgroup thread:

Is MySQL a RDBMS?
 
the guys at dbdebunk may be right, but they are so strident, so in-your-face, so arrogant, that they piss me off completely, and i cannot stomach what they write -- i just frankly cannot stand it

and besides, so what if no dbms is relational?

let's all quit our jobs and refuse to work with any of the "non-relational" databases until the vendors come up with "true relational" products?

yeah, and pigs will fly

dream on, dbdebunk

and have a nice life


rudy


p.s. i've worked with a raft of different dbms products, and microsoft access is truly underrated
 
From the excellent article by Paul Litwin - Fundamentals of Relational Database Design:


The Relational Model
The relational database model was conceived by E. F. Codd in 1969, then a researcher at IBM. The model is based on branches of mathematics called set theory and predicate logic. The basic idea behind the relational model is that a database consists of a series of unordered tables (or relations) that can be manipulated using non-procedural operations that return tables. This model was in vast contrast to the more traditional database theories of the time that were much more complicated, less flexible and dependent on the physical storage methods of the data.

Note It is commonly thought that the word relational in the relational model comes from the fact that you relate together tables in a relational database. Although this is a convenient way to think of the term, it's not accurate. Instead, the word relational has its roots in the terminology that Codd used to define the relational model. The table in Codd's writings was actually referred to as a relation (a related set of information). In fact, Codd (and other relational database theorists) use the terms relations, attributes and tuples where most of us use the more common terms tables, columns and rows, respectively (or the more physical—and thus less preferable for discussions of database design theory—files, fields and records).

The relational model can be applied to both databases and database management systems (DBMS) themselves. The relational fidelity of database programs can be compared using Codd's 12 rules (since Codd's seminal paper on the relational model, the number of rules has been expanded to 300) for determining how DBMS products conform to the relational model. When compared with other database management programs, Microsoft Access fares quite well in terms of relational fidelity. Still, it has a long way to go before it meets all twelve rules completely.

Just my (or actually someone else's) 2¢


Leslie
 
what a riot!! it is so amazing that you should quote that particular article!!

paul has given me permission to mirror it on my site --


you're right, leslie, it's a superb article


rudy
 
I hate these discussions ... but I also love them. I hate them because I find that I agree with at least something that everybody has to say and I love them ... well ... for the same reason I guess.

The "... strident, so in-your-face, so arrogant ..." experts (as Rudy calls them) are probably right. There ain't no such thing as a Truly relational DBMS that's fully compliant at all levels with Codd's predicate calculus and/or his 12 rules. That said, again to quote Rudy, so what?

It may be a better world if such a DBMS existed but how would it be better? What could we do as down-in-the-trenches programmers with that system that we cannot now do with the imperfect real-world systems that we use daily? I'm hard-pressed to come up with an answer that would justify the cost of that development ... and it is about economics in the end. "Relational Compliance" (unlike virtue) is not its own reward. If the Oracles and Microsofts of the world don't see a buck in it (or several million of them) then they're not going to do it ... and they'll take the risk of being accused of being impure in the compliance department.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top