> For decades, people have debated in comp.databases.theory and elsewhere
> 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
> 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
> 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.
> On the other hand, for example, Elmasri and Navathe in their university
> textbook define a 'relational database' less strictly, and mention
> 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.
Database Workbench - developer tool for InterBase, Firebird & MS SQL Server.