Talk:Relational database management system

From Wikipedia, the free encyclopedia

This article is within the scope of WikiProject Databases.
??? This article has not yet received a rating on the assessment scale.
High rated as high-importance on the assessment scale

The page should be merged with relational database, and this page should be a redirect to that. Or the other way round. Both articles talk the same thing. Jay 15:46, 2 Jan 2004 (UTC)

I beg to differ. As the page on "relational database" already explains there is a difference, and that page is the right spot to explain that. -- Jan Hidders 22:56, 16 Feb 2004 (UTC)

Contents

[edit] Truly versus Pseudo-Relational

There are a number of (well, lets just say all, IIRC) DBMSs listed that are not RDBMSs. I've a lot to say on the matter of RDBMSs, and I will be very strict to Codds writings. Some might say that the changes I'm planning on implementing might have POV problems, so if anyone would like to turn this into a discussion beforehand, post here, and I'll hold off making the major changes until I give people a little time to think about it.

Whether it's really POV depends upon the exact wording, so it's a bit hard to say in advance if what you plan to write is NPOV or not. I suggest you just go ahead and then you'll find out if there are any complaints about NPOVness or not. Personally I would say that if you are going to present Codd's opinion on the matter then that is how you should present it, as Codd's opinion, if only because we are talking about engineering principles here and not so much about scientific facts. The biggest potential problem is probably the strict use of the term "RDBMS" in the sense that Codd defines it, but if you announce that in the beginning of the article I don't see a problem with that. What I would have a problem with is the claim that SQL databases cannot be called relational or their banning from this article. This is not how the term is understood and used by most practicioners and researchers in the field of databases and therefore not how it should be used in an encyclopedia article about the subject. -- Jan Hidders 11:34, 2 Aug 2004 (UTC)
The relational model was codd's idea. He created it. His definitions of relational technically *are* the definitions of relational. Codd's 12 rules technically are the rules for the definition of a relational database. No one has proposed a different set. The argument that there exists no such DBMS is both irrelevant and incorrect. All of the listed databases could be considered pseudo-relational. I may branch this, and create an article Truly-Relational Database Management System, but this article could still use some clarificaiton.McKay 00:18, 11 Aug 2004 (UTC)
Okay, I made a major overhaul. Tell me what you think.McKay 00:25, 11 Aug 2004 (UTC)
More minor changes. I removed Firebird. I've never even heard of firebird besides this reference. Should I make a list of why the databases fail to follow the relational model? I think it would be informative. Also I added (earlier) Alphora to the list. I know the guys making it, so it's kinda a plug. But this is a serious DBMS. They know what they're doing. It is recognized (and applauded), by the database experts. It does stand as the only commercially available DBMS that meets Codd's Rules. Anyone think it should be removed?

Hello McKay. First let me say I'm happy with your improvements. The only remark I have is that I would prefer the phrase "are called Pseudo-Relational" to be "are called by them Pseudo-Relational". I will respond to you reaction on this page point by point and do this by repeating your remark and following it with my comment:

yes, you are correct, I should have made that line more NPOV, I missed that one.
The relational model was codd's idea. He created it. His definitions of relational technically *are* the definitions of relational.
The meaning of a term is never decided by a single individual, no matter how authorative, but always by the (scientific) community that uses it. If the individual is authorative enough then he or she willl convince the community, but Codd apparently didn't. But that is not even the most important consideration here; according to Wikipedia policy the article should deal with the subject that most writers think of when they create a link like with [[RDBMS]]. Since that includes the pseudo-relational DBMSs, as you call them, those should be discussed here. Of course it should also be explained why these are not truly relational, why that matters, what the arguments are, who presented these arguments, et cetera.
No one can (truthfully) claim that Oracle, SQL Server, etc. faithfully implement the relational model. They append the adj, and that is common usage, but they themselves know that it isn't a complete implementation of the relational model. Yes the term relational today does apply to SQL DBMSs, because that is common usage, but no, it isn't technically correct.
The argument that there exists no such DBMS is both irrelevant and incorrect.
Where did I use that argument? In fact I would argue that the claim that the article makes that " Because there weren't any DBMSs for so long that satisfied all of the rules, and people were calling the the DBMSs based on some of the principles Relational, though they were not in fact relational, the term has stuck " is an oversimplification of the truth. What also played an important role is that most people in the database community thought that these rules were either not that important or too hard to implement or both. It's actually a POV statement, but for me it is close enough to the truth.
Sorry, I don't know who it was, but before I changed the article, it said that there was no commercially available DBMS that faithfully implemented the relational model. This is an incorrect statement (and technically irrelevant, because back before there was such a DBMS, they still didn't follow the relational model. Existence of something doesn't mean the term is invalid [example, there are no perfect circles in the world, but that doesn't mean that the concept of a perfect circle is false]).
I may branch this, and create an article Truly-Relational Database Management System, but this article could still use some clarificaiton.
Sure. I have no problem with that, including the clarification, but as always it should be given from a NPOV.
how do you think it should look/split?
I removed Firebird.
I would like to ask you to put it back. It is a very well known and popular open source RDBMS. See for example: [1]
Sure, sounds good. I asked some of my database friends, and none of them had even heard of it. That google directory is good enough for me tho.
Should I make a list of why the databases fail to follow the relational model? I think it would be informative.
Absolutely.
Where should I put it?
DBMSs that violate each rule.
Codd's 12 Rules.
0 (See Relaitonal below)
1
2
3 Oracle ""=null, Also, in many SQL systems the is null has serious problems as well.
4 MySQL nor Access have a catalog
5 MySQL nor Access have transactions
6 Serious problems here across the board. Partially a SQL problem. Access is mostly immune.
7 
8
9
10
11
12

Codd's definition of relational.

An array which represents an n-ary relation R has the following properties:
1 Each row represents an n-tuple of R.
2 The ordering of rows is immaterial.
3 All rows are distinct.
4 The ordering of columns is significant - it corresponds to the ordering S1, S1, ···, Sn of the domains on which R is defined (see, however, remarks below on domain-ordered and domain-unordered relations ).
5 The significance of each column is partially conveyed by labeling it with the name of the corresponding domain.

1 Serious problems here. Most have problems. 'select Count(*) from Pubs' What is the name of the column? the value of the name in the name-value pair?
2 Serious problems here across the board, mostly SQLs fault. eg. RETURN clause. What if 2 have the same "rank" which one goes first. Apparently, order matters.
3 Serious problems here across the board, mostly SQLs fault. the need for a DISTINCT proves this.
4 
5
Also I added (earlier) Alphora to the list. I know the guys making it, so it's kinda a plug. But this is a serious DBMS. They know what they're doing. It is recognized (and applauded), by the database experts. It does stand as the only commercially available DBMS that meets Codd's Rules. Anyone think it should be removed?
Not me. Althought it should perhaps be pointed out that it is not really a DBMS since it doesn't come with its own storage engine. It is more a shell around existing DBMSs. I wouldn't claim it is recognized by *the* database experts. As far as I know it is only recognized as such by Chris Date et al. and that is but a small fringe group in the database community at best. -- Jan Hidders 10:11, 11 Aug 2004 (UTC)
No it is a DBMS. First of all, is a storage engine required for a DBMS? Maybe, this is a discussion of its own. But that is besides the point, because not only does it come with a storage engine, it comes with 2. Okay, so maybe I shouldn't have used the word 'the' when referring to chris date et al, but they are experts nonetheless. The DB theory professors at the university here have books by him.
I added more stuff to this little table. Mainly that SQL doesn't use Relations, therefore it isn't relational. A relation is a set of tuples. While SQL DBMLSs are called relational

[edit] Using SQL makes a DB NOT Truly Relational ??

This "thread" was removed each by their respective writers. A relatively pointless argument.

Entry posted by Keystroke was removed by Keystroke.

Entry posted by McKay was removed by McKay.
Entry posted by Keystroke was removed by Keystroke.
Entry posted by McKay was removed by McKay.
Entry posted by Keystroke was removed by Keystroke.
Entry posted by McKay was removed by McKay.
Entry posted by Keystroke was removed by Keystroke.
Entry posted by McKay was removed by McKay.
Entry posted by Jan Hidders was removed by Jan hidders.
I think the point is that there are two distinct and valid schools of thought on what a "relational" database really is. The first school (represented by Date, Codd, and so on) have a very strict and formal definition of the term that excludes many popular database systems. The second school (represented by much of the database industry, a lot of DBAs and application developers, and so on -- not the theorists) defines the term more loosely and therefore includes a wider set of products under the label "relational database". Wikipedia is not the place to grandstand about which side of the debate you happen to agree with: when the article says that "strictly speaking" a database must follow Codd's twelve rules to be an RDBMS, it is endorsing the first school's definition over the second's. IMHO that's not NPOV; just because the first school's adherents happen to include Codd doesn't necessarily mean they are right. I'd like to see the article present the topic by making it more clear that there is legitimate disagreement over what an RDBMS entails, and then presents the two main schools of thought on the topic. Let me know what you think (I'm happy to do the grunt work if we agree on what the article needs to look like.) Neilc 22:43, 11 Aug 2004 (UTC)
Yes, the "strictly speaking" comment does side with the "true relationists" (coining a term?) I think that it should be seperated in such a manner. -McKay
The "strictly speaking" comment was mine, and I still stand by it, even though I'm certainly not in the "true relationalists" camp, but I can live with it's removal. -- Jan Hidders 22:47, 12 Aug 2004 (UTC) (PS. Sorry for not replying to all your other comments, but I'm a bit busy at the moment.)

[edit] Modifications to current (hopefully NPOV) version

Uhh, are those other discussions mostly behind us? If anyone still has something to say regarding those topics, please feel free to do so.

[edit] Stuff missing

I've comments about neilc's revision at 1725 on 12 August 2004. I'm very much pleased with neilc's revisions. He's a much better writer than I. I noticed that 2 portions were missing from the current revision.

1. The "history" of how the term evolved was removed. I rather liked that information presented (though it could probably be rewritten better). 2. The common "r"dbms's got removed. While I would happily have them removed from an article. They are what people expect when referencing RDBMS, and should be present for NPOV.

I removed this information on the grounds that it is available in several other places (Category:Database management systems, database management system, and elsewhere). That said, I can understand it being useful, so I don't mind it being re-added. Neilc 22:53, 16 Aug 2004 (UTC)

[edit] Definition of Pseudo-Relational

I also noticed he changed my definition of relational (as per what KeyStroke said as his definition), to a much better definition. Today, I was reading through some articles about relational databases, and one of the articles I read was an article by Codd and Date Inc. in 1991. Yeah, I know you don't like their definitions so much, but it was written back in 1991 and they were writing to a more general populace, and I think it fits nicely with the commmon usage today:

"we define a relational database management system to be a system in which, as a minimum:

  • The database is perceived by the user as a colleciton of tables (and notheing but tables); and
  • The operators available to the user are operators that operate on tables, and those opeartors include at least SELECT (also known as RESTRICT), PROJECT, and JOIN."

does this sound like a good definition of what relation means to you?

I like this definition -- I've added a version of it into the article (as well as a little more historical info), but please feel free to modify it as you see fit (I'm not quite happy with the phrasing myself...). This might serve as a basic definition that everyone agrees upon -- more specific or elaborate descriptions of what an RDBMS "must" or "should" implement being a subject of debate. Neilc 22:53, 16 Aug 2004 (UTC)

[edit] Necessity of SQL

The current revison of the article references the indispensibility of SQL. It is used by many DB admins all over the world. I agree that it currently is indispensable. I also think that it is seriously flawed. There have been movements to create new langauges. Chris Date and Hugh Darwen, have proposed a list of criteria for such an improved language (and a "tutorial d" on such a beast)

(from Hugh Darwen's notes on The Askew Wall) " The Dream Database Language 1 will faithfully embrace the Relational Model of Data. - NO EXTENSION - NO PERVERSIONS - NO SUBSUMPTIONS 2 - will support user-defined domains and userdefined functions of arbitrary complexity. (3 will allow SQL to be implemented in it for temporary use ( until SQL finally expires).) 4 will provide unprecedented chivalry. ..."(sic)

Note that number three says that such a language will support SQL until it expires. Current languages allow SQL (or at least most of it) queries to be executed, even though it doesn't require it.

So the statement in the page that references being able to manipulate and retrieve data in SQL isn't entirely correct.McKay 17:01, 16 Aug 2004 (UTC)

Entry posted by Keystroke was removed by Keystroke.

I removed that sentence because it is redundant with the previous sentence, not because I have any objection to its content (the previous sentence being "Today, all RDBMSs with any degree of popularity employ SQL as their query language.") Neilc 23:41, 16 Aug 2004 (UTC)

OK, I think we are getting to an entry that both sides can support. Therefore, I am going to delete out of the talk page my own entries. Hopefully, those who responded to my entries, here, will do the same and we will wind up with a much abbreviated talk page, erasing the embarrasing mud-slinging that went on before. Shall we "bury the hatchet" ? KeyStroke

[edit] "This is both unfortunate and ironic...." is hardly NPOV

This is both unfortunate and ironic as meeting the proper relational criteria would provide products of greater reliability and consistency, higher productivity and higher performance thus providing a great contribution to total cost of ownership.

That sentence is hardly NPOV, and is left completely unsupported to boot. 207.188.193.82 00:43, 21 August 2005 (UTC)

[edit] "SQL is not relational"

Given that this very article points out that there is widespread disagreement over what exactly constitutes a RDBMS, it seems POV to change a bunch of pages (such as the list of RDBMS that this page points to) due to (as the edit summaries say) "SQL is not relational". There are lots of wikipedia pages that link here from pages that assume that the "looser" interpretation of RDBMS is being used here. We now have a disconnect: for example, the Oracle page links here, but Oracle is no longer listed on the "List of relational databases" page. Rather than change many, many Wikipedia pages to reflect this sudden change in direction and go against 99% of the world that does consider Oracle and others to fit inside of some definition of "RDBMS", I'd like to suggest we change the pages back the way they were before, and make a small note on pages where appropriate as to the "techincal" definition of RDBMS. Turnstep 01:13, 6 October 2005 (UTC)

[edit] Dynamic

Dynamic Relational means nothing from a theoretical implementaiton. It is merely the physical layer, something that doesn't need to be discussed here, if it isn't actually a Frindle. —The preceding unsigned comment was added by Mckaysalisbury (talkcontribs) . (doh McKay)

The section you killed was also inappropriate because Wikipedia is not a crystal ball. Discussion of "Speculation is starting to build on the Internet about..." is not appropriate for any Wikipedia article. --Craig Stuntz 20:25, 21 April 2006 (UTC)

[edit] Criticism section is very weasely

This really needs a complete rewrite. Examples:

  • "criticisms and complaints that can be found"
  • "Vendors don't explore" (what vendors? all of them?)
  • "Many feel..."
  • "Some feel..."
  • "most developers will pick one..."

Afabbro 04:41, 27 May 2007 (UTC)

Or we could always just delete it, and re-add it if someone comes up with something better. Pianohacker 6:36, 25 July 2007 (MDT)