标准语言SQL.ppt

上传人:b****2 文档编号:2120076 上传时间:2022-10-27 格式:PPT 页数:105 大小:1.20MB
下载 相关 举报
标准语言SQL.ppt_第1页
第1页 / 共105页
标准语言SQL.ppt_第2页
第2页 / 共105页
标准语言SQL.ppt_第3页
第3页 / 共105页
标准语言SQL.ppt_第4页
第4页 / 共105页
标准语言SQL.ppt_第5页
第5页 / 共105页
点击查看更多>>
下载资源
资源描述

标准语言SQL.ppt

《标准语言SQL.ppt》由会员分享,可在线阅读,更多相关《标准语言SQL.ppt(105页珍藏版)》请在冰豆网上搜索。

标准语言SQL.ppt

3.1SQL概述(了解)概述(了解)3.2SQL数据定义(掌握)数据定义(掌握)3.3SQL数据查询(掌握数据查询(掌握重点)重点)3.4SQL数据更新(掌握)数据更新(掌握)3.5SQL视图(掌握)视图(掌握)第三章关系数据库标准语言SQL1一、一、SQL的发展的发展SQL是是StructuredQueryLanguage的缩写,即的缩写,即结构化查询语言,是关系数据库的标准语言。

结构化查询语言,是关系数据库的标准语言。

1974年年Boyce&Chambarlin提出,在提出,在IBM的的SystemR上上首先实现首先实现1979年年Oracle1982年年IBM的的DB21984年年Sybase采用采用SQL作为数据库语言作为数据库语言3.1SQL概述概述21986年年10月月成为美国国家标准成为美国国家标准1987年年国际标准化组织(国际标准化组织(ISO)采纳为国际标准)采纳为国际标准1989年年ISO推出推出SQL891992年年ISO推出推出SQL2目前正制定目前正制定SQL3标准标准3.1SQL概述概述3

(1)综合统一综合统一

(2)高度非过程化高度非过程化(3)面向集合的操作方式面向集合的操作方式(4)以同一种语法结构提供两种使用方法以同一种语法结构提供两种使用方法(5)语言简洁,易学易用语言简洁,易学易用二、二、SQL的主要特点的主要特点3.1SQL概述概述4

(1)SQL

(1)SQL综合统一综合统一n非关系模型实现模型的三要素以及三级非关系模型实现模型的三要素以及三级模式结构需要:

数据定义语言模式结构需要:

数据定义语言DDL;数;数据操作语言据操作语言DML;外模式定义语言;外模式定义语言SDDL;数据存储语言;数据存储语言DSDL等不同语言。

等不同语言。

n关系模式中只需要关系模式中只需要SQL语言就可以了,语言就可以了,而且并没有增加而且并没有增加SQL语言的复杂度,反语言的复杂度,反而很简单。

而很简单。

5

(2)

(2)高度非过程化高度非过程化n非关系数据模型采用的是非关系数据模型采用的是“面向过程面向过程”的的语言,用户必须指明做什么、如何做等。

语言,用户必须指明做什么、如何做等。

n关系模型中的语言是非过程化的语关系模型中的语言是非过程化的语言,只需用户提出言,只需用户提出“做什么做什么”就可以了,就可以了,无须指明无须指明“怎么做怎么做”。

系统会根据用户的。

系统会根据用户的需求自动选择数据操作方法。

需求自动选择数据操作方法。

6(33)面向集合的操作方式)面向集合的操作方式n非关系模型如层次模型、网状模型中采非关系模型如层次模型、网状模型中采用的是面向记录的操作方式,即实体是用的是面向记录的操作方式,即实体是用数据结构中的结点来描述的,定义数用数据结构中的结点来描述的,定义数据、操作数据都是面向结点的。

据、操作数据都是面向结点的。

n关系模型中数据定义和操作都是关系;关系模型中数据定义和操作都是关系;关系的运算对象和运算结果也都是关系。

关系的运算对象和运算结果也都是关系。

也就是说运算是面向集合的。

也就是说运算是面向集合的。

7(4)(4)以同一种语法结构提供两种使用方以同一种语法结构提供两种使用方法法n独立语言:

独立的运行于联机终端,用独立语言:

独立的运行于联机终端,用户可以在终端直接敲入户可以在终端直接敲入SQL语言提交执语言提交执行。

行。

n嵌入式语言:

嵌入式语言:

SQL语句可以嵌入到高级语句可以嵌入到高级语言(如语言(如C、Java、Pascal)程序中。

)程序中。

这两种结构下,这两种结构下,SQL的语法基本上是一的语法基本上是一致的。

致的。

8(5)语言简捷,易学易用)语言简捷,易学易用9SQL视图视图2视图视图1基本表基本表2基本表基本表1基本表基本表3基本表基本表4存储文件存储文件2存储文件存储文件1外模式外模式模模式式内模式内模式SQL支持关系数据库三级模式结构支持关系数据库三级模式结构10说明:

说明:

基本表是独立存在的表。

一个关系对应一个表。

一个基本表是独立存在的表。

一个关系对应一个表。

一个(或多个)表对应一个存储文件,每个表可有若干索引,(或多个)表对应一个存储文件,每个表可有若干索引,这些索引也可放在存储文件中。

这些索引也可放在存储文件中。

对内模式,只需定义索引,其余的一切均由对内模式,只需定义索引,其余的一切均由DBMS自动自动完成。

完成。

视图是从一个或几个基本表中导出的表,概念上同基视图是从一个或几个基本表中导出的表,概念上同基本表。

但它并不真正存储数据,也不独立存在,它依赖本表。

但它并不真正存储数据,也不独立存在,它依赖于导出它的基本表,数据也存放在原来的基本表中。

于导出它的基本表,数据也存放在原来的基本表中。

11说明:

视图是从基本表导出的虚表,索引依赖于基本表,说明:

视图是从基本表导出的虚表,索引依赖于基本表,SQL没有修改视图和索引的操作,可通过先删除,再创建没有修改视图和索引的操作,可通过先删除,再创建达此目的。

达此目的。

3.2SQL数据定义数据定义12一、基本表的定义和修改一、基本表的定义和修改1、定义基本表、定义基本表CREATETABLE表名(列名表名(列名1类型类型列级完整性约束列级完整性约束,列名,列名2类型类型列级完整性约束列级完整性约束),););:

所要定义的基本表的名字:

所要定义的基本表的名字:

组成该表的各个属性(列):

组成该表的各个属性(列):

涉及相应属性列的完整性约束条件:

涉及相应属性列的完整性约束条件:

涉及一个或多个属性列的完整性约:

涉及一个或多个属性列的完整性约束条件束条件13例例:

建建立立一一个个“学学生生”表表Student,它它由由学学号号Sno、姓姓名名Sname、性性别别Ssex、年年龄龄Sage、所所在在系系Sdept五五个个属属性性组组成成。

其其中中学学号号不不能能为为空空,值值是是唯唯一一的的,并并且姓名取值也唯一。

且姓名取值也唯一。

CREATETABLEStudent(SnoCHAR(5)NOTNULLUNIQUE,SnameCHAR(20)UNIQUE,SsexCHAR

(1),SageINT,SdeptCHAR(15);取值唯一取值唯一不允许取空值不允许取空值142、修改基本表、修改基本表

(1)增加增加列:

列:

ALTERTABLE表名表名ADD列名列名类型类型完整性约束完整性约束;

(2)修改修改列类型:

列类型:

ALTERTABLE表名表名ALTERCOLUMN列名列名类型;类型;(3)删除删除完整性约束:

完整性约束:

ALTERTABLE表名表名DROP完整性约束名;完整性约束名;如如ALTERTABLESALTERCOLUMNSDCHAR(20)如如ALTERTABLESADDSDINT/UNIQUE(SN)UNIQUE(SN);不支持不支持NOTNULL选择选择在定义基本表时要考虑充分在定义基本表时要考虑充分153、删除基本表删除基本表DROPTABLE表名表名CASCADE|RESTRICT;注意:

删除基本表时,表中的数据、建立在表上的注意:

删除基本表时,表中的数据、建立在表上的索引和视图将一并被删除,因此应格外小心。

索引和视图将一并被删除,因此应格外小心。

二、索引的建立和删除二、索引的建立和删除由由DBA或表的属主进行,存取数据时由系统自动选或表的属主进行,存取数据时由系统自动选取合适的索引作为存取路径,用户不必也不能选择索引。

取合适的索引作为存取路径,用户不必也不能选择索引。

161、建立索引、建立索引CREATEUNIQUECLUSTERINDEX索引名索引名ON表名(列名表名(列名升序或降序升序或降序缺省为升序缺省为升序2、删除索引、删除索引DROPINDEX索引名;索引名;ASCDESC,列名,列名ASCDESC););一个索引项值仅对应唯一的数据记录一个索引项值仅对应唯一的数据记录改变记录的物理顺序使之与索引项值的排列顺序改变记录的物理顺序使之与索引项值的排列顺序相同,称为聚簇索引。

显然一个表只能建立一个相同,称为聚簇索引。

显然一个表只能建立一个聚簇索引。

可通过在经常查询而改动小的表上建聚簇索引。

可通过在经常查询而改动小的表上建立这种索引来提高查询效率。

立这种索引来提高查询效率。

17例例:

为为学学生生-课课程程数数据据库库中中的的Student,Course,SC三三个个表表建建立立索索引引。

其其中中Student表表按按学学号号升升序序建建唯唯一一索索引引,Course表表按按课课程程号号升升序序建建唯唯一一索索引引,SC表表按按学学号升序和课程号降序建唯一索引。

号升序和课程号降序建唯一索引。

例:

在例:

在Student表的表的Sname(姓名)列上建立一个(姓名)列上建立一个聚簇索引,而且聚簇索引,而且Student表中的记录将按照表中的记录将按照Sname值的升序存放。

值的升序存放。

CREATEUNIQUEINDEXStusnoONStudent(Sno);CREATEUNIQUEINDEXCoucnoONCourse(Cno);CREATEUNIQUEINDEXSCnoONSC(SnoASC,CnoDESC);CREATECLUSTERINDEXStusnameONStudent(Sname);18查询是数据库的核心操作。

查询是数据库的核心操作。

SQL仅提仅提供了唯一的语句供了唯一的语句SELECT,其使用方式灵,其使用方式灵活,功能非常丰富。

活,功能非常丰富。

3.3SQL数据查询数据查询单表查询单表查询连接查询连接查询嵌套查询嵌套查询集合查询集合查询19一般格式一般格式SELECTALL|DISTINCT*|目标列目标列FROM基本表(或视图)基本表(或视图)WHERE条件表达式条件表达式GROUPBY列名列名1HAVING内部函数表达式内部函数表达式ORDERBY列名列名2;ASCDESC相当于投相当于投影影相当于选择或连接相当于选择或连接被查询的关系被查询的关系对查询结果排序对查询结果排序分组分组统计统计3.3SQL数据查询数据查询满足条件的组才输出满足条件的组才输出20nSELECT子句子句:

指定要显示的属性列:

指定要显示的属性列nFROM子句子句:

指定查询对象:

指定查询对象(基本表或视图基本表或视图)nWHERE子句子句:

指定查询条件:

指定查询条件nGROUPBY子子句句:

对对查查询询结结果果按按指指定定列列的的值值分分组组,该该属属性性列列值值相相等等的的元元组组为为一一个个组组。

通通常常会会在每组中作用集函数。

在每组中作用集函数。

nHAVING短语短语:

筛选出只有满足指定条件的组:

筛选出只有满足指定条件的组nORDERBY子子句句:

对对查查询询结结果果表表按按指指定定列列值值的的升序或降序排序升序或降序排序21单单表表查查询询仅仅涉涉及及一一个个表表,是是一一种种最最简简单单的的查查询询操操作,有以下五种形式:

作,有以下五种形式:

1、选择表中的若干列(相当于投影运算)、选择表中的若干列(相当于投影运算)2、选择表中的若干元组(相当于选择运算)、选择表中的若干元组(相当于选择运算)3、对查询结果排序(运算结果的处理)、对查询结果排序(运算结果的处理)4、使用集函数(运算结果的处理)、使用集函数(运算结果的处理)5、对查询结果分组、对查询结果分组(运算结果的处理)(运算结果的处理)一、单表查询一、单表查询221、选择表中的若干列、选择表中的若干列查询单列查询单列查询多列、全部列查询多列、全部列查询经过计算的值查询经过计算的值23n查询指定列(投影)查询指定列(投影)例:

例:

查询全体学生的姓名、学号、所在系。

查询全体学生的姓名、学号、所在系。

SELECTSname,Sno,SdeptFROMStudent;n查询全部列查询全部列例:

例:

查询全体学生的详细记录。

查询全体学生的详细记录。

SELECTSno,Sname,Ssex,Sage,SdeptFROMStudent;或或SELECT*FROMStudent;24n查询经过计算的值查询经过计算的值SELECT子句的子句的可以为算术表达

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1