Re: Is mysql a RDBMS ?

From: Anith Sen <anith_at_bizdatasolutions.com>
Date: Mon, 25 Aug 2003 18:55:13 GMT
Message-ID: <lYs2b.113530$0v4.8097266_at_bgtnsc04-news.ops.worldnet.att.net>


My response to Morton was regarding the specifics of SQL standard not being in line with the relational data model. Not to argue whether SQL is the best data management language out there or not.

>> What that Object Relational noise is all about, then? <<

I am not sure how this is relevant to showing SQL supports relations or not.

>> AFAIK, SQL allows to refer to column position in order by clause only.
<<

Read my post again, I said SQL associates positional value to columns, not about the usage of numeric column positions in the ORDER BY clause. I was referring to the significance of the left-to-right order of columns in an SQL table. For example, please explain, even with explicit data type specifications, why a statement like the following fails..

SELECT id, name
  FROM tbl
 UNION
SELECT name, id
  FROM tbl ;

Another example of duplicate columns with a SELF JOIN:

SELECT t1.name, t2.name
  FROM tbl t1
 INNER JOIN tbl2 t2

    ON t1.id = t2.id

How do you distinguish the two columns in the result set? By ordinal position only. By allowing duplicate column names in a SQL result set simply violates the fundamental definition itself. Similarly SQL allows missing column names in result sets too. Well, you can use an alias, but see, it is optional, just like the case of keys. You can see similar implications with an INSERT statement too.

For any further clarifications on the issue, I would direct you to Date's concise article, A Sweet Disconnect.

>> Does key based identification apply to base relations only, or to the
views as well? <<

Both. Why should they be any different?

>> SQL is perfectly closed under operations it admits in the space of bags
of nullable tuples. <<

Not perfectly, though. SQL operations on tables without duplicate tuples, can generate result sets which contains duplicates. Similarly, operations on tables with duplicates, can generate result sets which contain unique tuples. So how do you define this, set closure, bag closure or some arbitrary SQL closure? How do you apply nesting of relations in this case?

>> As if view updates problem is solved in the pure relational theory. <<

Who said so? This is exactly what I mentioned as being explored & lack of well-defined theoretical basis.

>> In general, SQL proved to be a very sucessfull mix of relational calculus
and algebra. None of the competiors came even close in the acceptance level. <<

No disagreement there. Again, this is not about if SQL is the best out there or not. My post was intended to clear up Morton's confusion about SQL standards and its alleged documentation of relational model.

-- 
- Anith
( Please reply to newsgroups only )
Received on Mon Aug 25 2003 - 20:55:13 CEST

Original text of this message