Do SQL ISO standards matter?

No, the SQL ANSI/ISO standards do not matter to me because of two reasons:

The first reason is that they frequently change. There was SQL89 ISO standard, then SQL92, then SQL99 and now SQL2003. Not only that, there are sub-standards within a standard. For example, SQL92 had four levels of standards: entry, transitional, intermediate and full. SQL99 had two: Core and enhanced.

The second and the main reason is that there is not a single database vendor that follows the standard 100%. Oracle, MSSQL, MySQL, DB2 and others, each partially conforms to a standard (and which standard version?)

So, why bother with SQL standards. During my career as an Oracle developer, I have never had the need to know whether this SQL feature follows a certain standard or not, I simply did not care. all what I cared about was to know, as much as I can, about what I use and specialize in, namely the Oracle database. However, as I said before, it is always good to know about the other databases.

Finally, I strongly agree with Tom Kyte who says in his latest book that database developers should make use of all the database features available to them even if a feature is vendor specific. They should fully exploit the database they are using, squeezing every bit of functionality out of it.

In other words, should a MSSQL developer not use the BIT datatype because Oracle does not support it or because it is not a “standard”? Should an Oracle developer not use the emp.deptno = dep.deptno type of join for example because it is not a standard? What is the use of a standard then?


Possibly related:


Tagged , | Post a Comment