Re: Is mysql a RDBMS ?

From: Mikito Harakiri <mikharakiri_at_ywho.com>
Date: Mon, 25 Aug 2003 10:48:30 -0700
Message-ID: <%5s2b.9$V06.199_at_news.oracle.com>


"Anith Sen" <anith_at_bizdatasolutions.com> wrote in message news:Ptq2b.113362$0v4.8085264_at_bgtnsc04-news.ops.worldnet.att.net...

> -* SQL tables are not relations. A relation can be defined only by its
named
> & typed attributes (done by domains) which follows that,
> -* SQL does not support relational domains.

What that Object Relational noise is all about, then?

> -* SQL associates positional value to columns and this violates the base
> definition of a relation itself.

AFAIK, SQL allows to refer to column position in order by clause only. Even so, it's rarely used that way. ANSI should really consider deprecating that ugly feature ASAP. Why on earth would

order by 1+1

mean something completely different from

order by 2

? This action would eliminate this strawman argument against SQL as well.

> -* SQL allows duplicates which imply that keys are optional. This violates
> every possible and applicable concept of a relation including data
> independence and key based identification.

Why "key based identification" is so important? Does key based identification apply to base relations only, or to the views as well?

> Simply adding keys to an SQL
> table or using DISTINCT everywhere does not make it a relation because,
> -* SQL operations violate relational closure. SQL operations create result
> sets that can contain duplicates, nulls etc.

SQL transforms an input as a bag of nullable tuples into a bag of nullable tuples. SQL is perfectly closed under operations it admits in the space of bags of nullable tuples.

> -* SQL Views are not relations and do not always provide logical data
> independence (View updates etc. are still being explored & lack of sound
> theoretical basis causes rampant confusion)

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

> -* SQL has Nulls & anything which lack values cannot be in a relation and
> thus Nulls invalidate relations.

True, an operation upon a table containing null usually produces a surprising result. But there are "not null" constraints as well. Purist database designer still have an option declaring absolutely all the columns as "not null".

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.

It's a common practice, when universities run research projects that support technologies alternative to the industry. Is there an RDBMS with relational algebra and calculus supported? Datalog? (XSB is more logic programming oriented than database). D4? OK, there is one implementation for that one - Alphora - but usually if the concept is really good, then competitors would spring around in no time. Received on Mon Aug 25 2003 - 19:48:30 CEST

Original text of this message