Hi,

> For decades, people have debated in comp.databases.theory and elsewhere
how
> a 'relational database' should be defined.
>
> Codd's original 1970 paper sketches the relational algebra as a query
> language of a relational database, though Codd is not very precise about
> what the query language exactly should be. The paper also mentions
integrity
> constraints. Relations in the 1970 paper are defined as mathematical sets,
> that is, no duplicate rows in tables or any query results are allowed.
>
> Thus, no SQL database is Codd-1970-relational, because SQL allows
duplicate
> rows.
>
> Codd's 12 rules, from about 1987, demand that a 'relational database' must
> satisfy several strict conditions. For example, any view 'theoretically
> updateable should be updateable with the data manipulation language'.

Mainly because "views" and "tables" are pretty much the same in the theory.

> No existing database is even close to being Codd-12-relational.

Indeed.

> On the other hand, for example, Elmasri and Navathe in their university
> textbook define a 'relational database' less strictly, and mention
Microsoft
> Access and Oracle as examples of an 'RDBMS'.
>
> Thus, MySQL apparently is Elmasri-Navathe-relational, but not
> Codd-1970-relational. The same holds for DB2, Oracle, and MS SQL Server.

I guess it also comes down to what you're used to work with. If you're used
to using domains, check constraints etc, you might consider any database
engine that doesn't have these, a "lesser" database engine.

Luckily - as said before - things are improving.


With regards,

Martijn Tonies
Database Workbench - developer tool for InterBase, Firebird & MS SQL Server.
Upscene Productions
http://www.upscene.com


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to