SQL虽然称结构化查询语言,而实际上SQL作为一种标准数据库语言,从对数据库的随机操作到数据库的管理,几乎无所不能。SQL语言集多种功能于一体,是一个综合的、通用的、功能级强,同时又简洁易学的语言。
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,充分体现了关系数据语言的特点和优点。
SQL的功能可以分为3类
数据定义功能
SQL的数据定义功能通过DDL(Data Definition Language,数据定义语言)实现,它用来定义关系数据库的模式、外模式和内模式,以实现对基本表、视图以及索引文件的定义、修改和删除等操作。
数据操纵功能
SQL的数据操纵功能通过DML(Data Manipulation Language,数据操纵语言)实现。SQL的数据操纵语言中包括数据查询和数据更新两种数据操作语句。其中,数据查询指对数据库中的数据查询、统计、分组、排序、检索等操作,数据更新指数据的插入、删除、修改等数据维护操作。
数据控制功能
数据库的控制指数据的安全性和完整控制。SQL的数据控制通过DCL(Data Control Language,数据控制语言)实现。
SQL通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。
SQL还提供了数据完整性约束条件的定义和检查机制,以保障数据库的完整性。
特点
- 综合统一
- 高度非过程化
- 面向集合的操作方式
- 同一种语法结构提供两种使用方式
- 语言简捷,易学易用
1、综合统一
数据库的主要功能是通过数据库支持的数据语言来实现的。
非关系模型的数据语言一般分为:
- 模式数据定义语言(模式DDL)
- 外模式数据定义语言(外模式DDL或子模式DDL)
- 与数据存储有关的描述语言(DSDL)
- 数据操纵语言(DML)
SQL语言则集数据定义语言、数据操纵语言、数据控制语言的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括:
- 定义关系模式、录入数据以建立数据库;
- 对数据库中的数据进行查询和更新;
- 数据库重构和维护;
- 数据库安全性、完整性控制等一系列操作要求
在关系模型中,实体和实体间的联系均用关系表示,这种数据结构的单一性带来了数据操作符的统一性,查找、插入、删除、更新等每一种操作都只需要一种操作符,从而克服了非关系系统由于信息表示方式的多样性带来的操作复杂性。
例如,在网状数据模型(DBTG)中需要两种插入操作符:STORE用来把记录存入数据库,CONNECT用来把记录插入系值(网状数据库中记录之间的一种联系方式)以建立数据之间的联系。
2、高度非过程化
非关系数据模型的数据操纵语言是面向过程的语言,完成某项请求必须指定存取路径。
用SQL语言进行数据操作,用户只需提出“做什么”,而不必指明“怎么做”
存取路径的选择以及SQL语句的操作过程由系统自动完成。大大减轻了用户负担,而且有利于提高数据独立性。
3、面向集合的操作方式
SQL语言采用集合操作方式
- 操作对象、查找结果可以是元组的集合
- 一次插入、删除、更新操作的对象可以是元组的集合
非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录。
4、同一种语法结构提供多种使用方式
自含式语言
能够独立地用于联机交互的使用方式
嵌入式语言
能够嵌入到高级语言(例如C,COBOL,FORTRAN,PL/1)程序中,供程序员设计程序时使用。
两种不同使用方式下,SQL语言的语法结构基本一致
5、语言简捷,易学易用
SQL语言吸取了关系代数、关系演算语言两者的特点和长处,语言功能极强,但由于设计巧妙,语言又十分简洁。
现在所有的关系DBMS产品都支持SQL,而其他模型的DBMS也都有相应的SQL接口,所以用SQL编写的程序是可移植的,它已成为所有数据库的公共语言。
还没有评论,来说两句吧...