当前位置:七道奇文章资讯编程技术Delphi编程
日期:2011-03-20 17:55:00  来源:本站整理

第十七章 SQL编程(一)[Delphi编程]

赞助商链接



  本文“第十七章 SQL编程(一)[Delphi编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

SQL语言作为关系数据库管理系统中的一种通用的构造查询语言,已经被众多的数据库管理系统所采取,如ORACLE、Sybase、Informix等数据库管理系统,它们都支持SQL 语言.Delphi与利用SQL语言的数据库管理系统兼容,在利用Delphi开辟数据库利用程序时,我们可以利用SQL语言编程,支持SQL编程是Delphi的一个重要特点,这也是表现Delphi作为一个强盛的数据库利用开辟工具的一个重要标志. 

17.1 SQL语言简介 

17.1.1 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

目前,全部主要的关系数据库管理系统支持某些情势的SQL语言,大部份数据库打算服从ANSI SQL89尺度. 

17.1.2 SQL的长处

SQL遍及地被采取正阐明了它的长处.它使全部用户,包含利用程序员、DBA管理员和终端用户受益非浅.

(1) 非历程化语言

SQL是一个非历程化的语言,因为它一次处理一个记录,对数据供应自动导航.SQL答应用户在高层的数据构造上工作,而不对单个记录举行操作,可操作记录集.全部SQL 语句承受集合作为输入,返回集合作为输出.SQL的调集特点答应一条SQL语句的后果作为另一条SQL语句的输入.

SQL不要求用户指定对数据的存放办法.这种特点利用户更易集合精神于要得到的后果.全部SQL语句利用查询优化器,它是RDBMS的一部份,由它决意对指定数据存取的最快速度的手段.查询优化器知道存在什么索引,哪儿利用符合,而用户从不需求知道表能否有索引,表有什么范例的索引.

(2) 统一的语言

SQL可用于全部用户的DB活动模子,包含系统管理员、数据库管理员、利用程序员、抉择支持系统人员及很多别的范例的终端用户.基本的SQL 号令只需很少时间就可以学会,最高级的号令在几天内便可掌握.

SQL为很多任务供应了号令,包含:

● 查询数据

● 在表中插入、改正和删除记录

● 成立、改正和删除数据对象

● 掌握对数据和数据对象的存取

● 保证数据库一致性和完好性

 

从前的数据库管理系统为上述各类操作供应单独的语言,而SQL 将全部任务统一在一种语言中.

(3) 是全部关系数据库的大众语言

由于全部主要的关系数据库管理系统都支持SQL语言,用户可将利用SQL的技术从一个RDBMS转到另一个.全部用SQL编写的程序都是可以移植的.

 

17.2 TQuery部件在SQL编程中的应用

 

在Delphi中是通过TQuery部件来实现对SQL语言支持的,也就是说用Delphi 开辟数据库利用程序时,利用SQL语言操作数据库中的数据的唯一途径是经过TQuery部件. TQuery部件在Delphi中利用SQL语言编程时占居着绝对重要的地位.在利用Delphi 开辟的数据库利用中,可以利用SQL语言拜候下列三个方面的数据库:

● Paradox或dBASE数据库中的表

在拜候这些桌面数据库系统中的数据时,只能利用ANSI尺度的SQL语言中的部份SQL 语句,它们主要包含:Select、Insert、Update和Delete语句;即本地SQL语句.有关具体情形请拜见附录"部分SQL语句的利用".

本地InterBase数据库服务器中的数据库

在InterBase数据库中支持的SQL语句, 在Delphi中都可以利用.有关InterBase中SQL语句的语法和限制,请参看"InterBase的语言参考".

● 远程数据库服务器中的数据库

当然这要求在Delphi中必须安装呼应的SQL Link.只如果数据库服务器上的DBMS支持的SQL语句,在Delphi中都可以利用.有关语法及限制请参看相关的数据库管理 系统的文档.

 

值得一提的是,Delphi还支持异构查询,便可以同时查询多个数据库服务器中相同的或差别范例的数据库表,比方查询的数据可以是来自ORACLE数据库中的表和Sybase数据库中的表大概别的多个数据库中的表.

 

17.2.1 TQuery部件的利用

 

TQuery部件是一个数据集部件,它在Delphi部件挑选板上的数据拜候页(Data Access)上,它与TTable部件具有很多共同的特点,我们在第十五章"数据拜候部件的利用及编程"中较具体地举行了介绍. TQuery 部件在 SQL 编程中占居了非常重要的地位. 它实现了Delphi对SQL语言的支持,在Delphi开辟的数据库利用中,SQL语句是通过TQuery部件传送到要拜候的数据库系统的数据库引擎中,由数据库引擎具体履行SQL语句,以实现对数据的操作,而不是传送给Delphi中的BDE,由BDE实施具体的SQL行动.

 

我们已经知道了TTable部件在拜候数据库时已经具有很强盛的功效.TTable部件通过Delphi内置的BDE可以实现对各种数据库系统的拜候,但是TQuery部件供应了一些 TTable部件不具有的功效,它们是:

●多表联接查询

●复杂的嵌套查询(Select中包含着Select子查询)

●明确需求按SQL语言举行的操作

 

因为TTabel部件不能利用SQL语言,而在TQuery部件可以利用SQL语言,因而TQuery部件也就具有了强盛的关系查询本领.当然这也使数据库利用程序本身变得更复杂了.


  以上是“第十七章 SQL编程(一)[Delphi编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>第十七章 SQL编程(二)</b>
  • 第十七章 SQL编程(一)
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .