You get a bonus - 1 coin for daily activity. Now you have 1 coin

13.3. SQL standardization

Lecture



The standardization of the SQL language began almost simultaneously with the advent of its first commercial implementations. The first of the documents available to the author is dated October 1985 and is already another draft ANSI / ISO standard.

It is clear that it was impossible to use SQL System R as a standard. Firstly, this version of the language was not properly technically worked out. Secondly, it would be too difficult to implement (who knows how the further history of SQL would have been if all the ideas of System R had been fully implemented). On the other hand, the first commercial implementations of the language were so different that none of the implemented dialects had a chance to be accepted as a standard.

An analysis of the available documents shows that the process was very difficult using far from only scientific arguments. As a result, the International Standard SQL adopted in 1989 is extremely general in many parts and allows for a very broad interpretation. In this standard, such important sections as the manipulation of the database schema and dynamic SQL are completely absent. Many important aspects of a language in accordance with the standard are defined in the implementation.

Perhaps the most important achievements of the SQL standard are a clear standardization of the syntax and semantics of sampling operators and data manipulation and fixing the means of restricting the integrity of the database, including the ability to determine the primary and foreign keys of relationships and the so-called verification integrity constraints, which are the first SQL System R integrity constraints class. Tools for determining foreign keys make it easy to formulate the requirements of the so-called database integrity by reference. This requirement common in the database can also be formulated on the basis of the general integrity constraint mechanism of SQL System R, but the formulation based on the concept of a foreign key is simpler and easier to understand.

Realizing the incompleteness of the SQL standard, against the background of the completion of the development of this standard, specialists from various companies began work on the SQL2 standard. This work also lasted for several years, many draft standards were issued, until finally, in March 1992, the final draft of the standard was developed. This standard is much more comprehensive and covers almost all aspects necessary for implementation: manipulation of the database schema, transaction management (save points again appear) and sessions (a session is a sequence of transactions, within which temporary relationships are maintained), connection to the database, dynamic SQL. Finally, the relational database directories are standardized, which is generally not directly related to the language, but has a very strong effect on the implementation.

Surprised by the lack of standard index management tools. Of course, these tools are usually away from the basic SQL statements, but the author is not aware of any implementation in which they were not.

Finally, simultaneously with the completion of work on the definition of the SQL2 standard, the development of the SQL3 standard began. It is assumed that SQL3 will contain a trigger mechanism and the ability to use abstract data types. The adoption of the standard is planned only in 1995, let's hope that this time it will be possible to at least follow its development.

Summing up this short insight into the history of standardization of SQL, we note that in many ways (of course, not all) the standardization process boils down to an accurate technical processing of the ideas of SQL System R, which once again underlines the uniqueness of this project (12 years have passed since its completion! ).


Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

IBM System R — реляционная СУБД

Terms: IBM System R — реляционная СУБД