概述¶
SQL¶
SQL(Structured Query Language 的简写),称为“结构化查询语言”。它利用一些简单的句子来存取数据库的内容,使用户只关心需要的结果,而不用关心取得结果的过程。由于SQL语言结构简洁、功能强大、简单易学等特性,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。
在70年代初,E.E.Codd首先提出了关系模型。
70年代中期,IBM公司在研制 SYSTEM R关系数据库管理系统中研制了SQL语言,最早的SQL语言(叫SEQUEL2)是在1976 年 11 月的IBM Journal of R&D上公布的。
1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2 和SQL/DS数据库系统中也实现了SQL。
1986年10月,美国ANSI采用SQL作为关系数据库管理系统的标准语言(ANSI X3. 135-1986),后为国际标准化组织(ISO)采纳为国际标准。
1989年,美国ANSI采纳在ANSI X3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSI SQL 89,该标准替代ANSI X3.135-1986版本。该标准为下列组织所采纳:
国际标准化组织(ISO),为ISO 9075-1989报告“Database Language SQL With Integrity Enhancement”
美国联邦政府,发布在The Federal Information Processing Standard Publication(FIPS PUB)127
1992年,ISO 和 ANSI 委员会完成了International Standard ISO/IEC 9075:1992(ANSI X3.135-1992),SQL/92标准对SQL 89的一些定义进行了完善,并且增加了许多新的功能,成为现行的国际标准。
目前,所有主要的关系数据库管理系统都支持某些形式的SQL语言。神通数据库SQL基本支持SQL92的入门级和过渡级标准,并联系实际应用进行了大量扩展。
嵌入式SQL¶
嵌入式SQL指在某种过程化语言(称为宿主语言,如C语言)中嵌入SQL语言,嵌入的SQL语言一般使用特定的标记(如EXEC SQL)和宿主语言分开,数据库服务器提供预编译器把嵌入式SQL程序转换成相应的宿主语言程序,然后使用宿主语言的编译器生成可执行程序,直接调用数据库服务器提供的编程接口进行数据访问。一般说来使用嵌入式SQL开发的应用程序效率要高于使用ODBC或JDBC开发的应用程序,但是嵌入式SQL开发的应用程序可移植性差,很难把它从一个数据库服务器移植到另一个数据库服务器。
神通数据库提供了在C语言中嵌入SQL语言的支持,它的预编译器Esql能方便地把嵌入式SQL程序转换为C程序。 有关这方面的内容请参考 ESQL嵌入式SQL语言开发手册 。