下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

T-SQL、Jet SQL、PL-SQL 有什么含义?

作者:课课家教育     来源: http://www.kokojia.com点击数:891发布时间: 2017-08-16 08:00:49

标签: 数据库OracleMySQL

  本篇文章主要介绍了"T-SQL、JET SQL、PL-SQL ",主要涉及到T-SQL、JET SQL、PL-SQL 方面的内容,对于T-SQL、JET SQL、PL-SQL 感兴趣的同学可以参考一下。

      数据库分为网状、层状、关系、对象四种类型,目前的数据库一般都是属于关系数据库(如SQLServer、OracleMySQL等),网状、层状基本上已成历史,对象类型尚未普及。

  SQL语言是有ANSI标准的。但各个厂商实现的SQL语言,都没有完全遵循标准。并对标准SQL进行了诸如if之类的控制语句的扩展,就有了T-SQL,JetSQL、PL-SQL等,具体要依据你的数据库管理系统而定,SQLServer当然是使用T-SQL、Oracle使用PL-SQL,Access使用JetSQL。

T-SQL、Jet SQL、PL-SQL 有什么含义?_数据库_Oracle_MySQL_课课家教育

  SQL是结构化查询语言的缩写,是一种标准。现在一般将标准的SQL语言规范称为ANSISQLXX,后面的XX表示版本,比如ANSISQL92规范。很多公司的数据库软件都使用SQL语句来进行数据库操作,但是各大公司都对标准的SQL语言规范进行了扩展,因此SQL很多分支,各种分支都有其特殊且与其他分支不兼容的地方。JETSQL与T-SQL都是微软所特有的SQL分支,JetSQL用于ACCESS数据库软件,T-SQL用于SQLServer数据库软件。Access没有存储过程,没有触发器。Jet-SQL不支持fulljoin。二者在语句上也有差别。

  SQL语句基本上是以ANSISQL为标准,用标准SQL书写的程序在各类数据库上都可以执行。不同的数据库都对SQL有所扩展,增加自己的特色功能。但是程序员应该养成好的习惯,尽量避免使用扩展SQL,这样的程序可以方便的换数据库。

  SQLServer是企业级的大型数据库,适用于海量数据的存储和访问,有更高的安全性。Access是个人桌面数据库,适于数据量不大的一般应用。当然后者更简单一些,一般小型的应用程序中可以很容易调用。前者需要额外的设备支持,需要安装在服务器版的操作系统中。

  T-SQL即Transact-SQL,是标准SQL程式设计语言的增强版,它是用来让应用程式与SQLServer沟通的主要语言。T-SQL提供标准SQL的DDL和DML功能,加上延伸的函数、系统预存程序以及程式设计结构(例如IF和WHILE)让程式设计更有弹性。T-SQL的功能随著新版的SQLServer而持续成长,让我们来看一下T-SQL最新增加的特色。TransactStructuredQueryLanguage它是ANSI和ISOSQL标准的MicrosoftSQLServer方言或扩展,中文理解为:SQLSERVER专用标准结构化查询语言增强版。在MicrosoftSQLServer7.0中T-SQL有着为数不少的新增功能,包括新的预存程序、系统资料表、函数、资料型别、陈述式以及现存陈述式中的选项。这些都被保留在SQLServer2000中。

  系统预存程序

  系统预存程序是SQLServer提供来执行管理与其他工作,包括了系统资料表更新以及从系统资料表中检索资料等。系统预存程序是和SQLServer一起安装,名称以sp_(系统预存程序)或xp_(延伸的预存程序)开头。这些预存程序储存在master资料库中,权限归系统管理者所有。不过,许多程序可以从使用者自订的资料库执行,用来在特定资料库中从系统资料表检索资讯。当您执行一个系统预存程序,它是在目前资料库的系统资料表中展开作业。

  系统资料表

  系统资料表用来储存SQLServer中所有资料库的设定资讯,以及物件、使用者和使用者存取权限的定义。每个使用者资料库有各自的系统资料表,其中保存资料库的资讯。只有在master资料库的系统资料表才握有伺服器层级的设定资讯。您应该利用系统预存程序来存取系统资料表而不是直接存取系统资料表。

  注:请永远使用系统预存程序来存取系统资料表,系统预存程序提供一层隔离以确保您不会更动到不可更改的资料。如果您以手动方式存取系统资料表,可能会有变更重要系统资讯的风险。

  函数

  SQLServer内建的函数提供了一个快速、简单的方法来完成某些特定的工作。SQLServer7.0新增了几个有用的函数,并且也包含在SQLServer2000中。了解哪些函数是可用的,SQLServer应用程式的设计工作可以变得稍为简单。

  陈述式

  SQLServer7.0包括了许多新的T-SQL陈述式和已经存在陈述式的新选项。同样的,这些也保留在SQL2000之中。这些陈述式对应SQLServer7.0的一些新功能。例如,ALTERDATABASE陈述式包含了下列一些针对档案与档案群组的新选项:MODIFYFILE、ADDFILEGROUP、MODIFYFILEGROUP、REMOVEFILE以及REMOVEFILEGROUP。特别是档案群组,新的DBCCCHECKFILEGROUP陈述式会检查档案群组中所有资料表的分配和结构的完整性。

  Oracle中的查询语言叫PL-SQL。PL/SQL也是一种程序语言,叫做过程化SQL语言(ProceduralLanguage/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。

  SQLServer在SQL上的扩展是TransactSQL,即T-SQL。

  SQLServer、MySQL、Oracle等都是数据库管理系统。所谓的数据库是一个文件,比如Acess数据库是*.mdb。

  操作系统给用户提供良好的应用接口,而数据库管理系统是运行在操作系统之上的支撑程序,是数据库系统的核心。

  PL/SQL的作用

  使用PL/SQL可以编写具有很多高级功能的程序,虽然通过多个SQL语句可能也能实现同样的功能,但是相比而言,PL/SQL具有更为明显的一些优点:

  ⒈能够使一组SQL语句的功能更具模块化程序特点;

  ⒉采用了过程性语言控制程序的结构;

  ⒊可以对程序中的错误进行自动处理,使程序能够在遇到错误的时候不会被中断;

  ⒋具有较好的可移植性,可以移植到另一个Oracle数据库中;

  ⒌集成在数据库中,调用更快;

  ⒍减少了网络的交互,有助于提高程序性能。

  通过多条SQL语句实现功能时,每条语句都需要在客户端和服务端传递,而且每条语句的执行结果也需要在网络中进行交互,占用了大量的网络带宽,消耗了大量网络传递的时间,而在网络中传输的那些结果,往往都是中间结果,而不是我们所关心的。

  而使用PL/SQL程序是因为程序代码存储在数据库中,程序的分析和执行完全在数据库内部进行,用户所需要做的就是在客户端发出调用PL/SQL的执行命令,数据库接收到执行命令后,在数据库内部完成整个PL/SQL程序的执行,并将最终的执行结果反馈给用户。在整个过程中网络里只传输了很少的数据,减少了网络传输占用的时间,所以整体程序的执行性能会有明显的提高。

  备注:

  Oracle//用于大型系统

  Sybase、SQLServer//用于中型系统

  IBMDb2,MySQL//用于中小型系统

  Access//用于小型系统

  小编结语:

  更多内容尽在课课家教育!

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程