结构化查询语言sql讲义

上传人:aa****6 文档编号:54182726 上传时间:2018-09-09 格式:PPT 页数:110 大小:730KB
返回 下载 相关 举报
结构化查询语言sql讲义_第1页
第1页 / 共110页
结构化查询语言sql讲义_第2页
第2页 / 共110页
结构化查询语言sql讲义_第3页
第3页 / 共110页
结构化查询语言sql讲义_第4页
第4页 / 共110页
结构化查询语言sql讲义_第5页
第5页 / 共110页
点击查看更多>>
资源描述

《结构化查询语言sql讲义》由会员分享,可在线阅读,更多相关《结构化查询语言sql讲义(110页珍藏版)》请在金锄头文库上搜索。

1、2018/9/9,1,第4章 结构化查询语言SQL,主要内容 SQL概述 SQL的数据定义 SQL的数据查询 数据更新 嵌入式SQL Transact SQL语言概述,2018/9/9,2,本章主要概念,(1) SQL的数据定义:SQL模式、基本表和索引的创建和撤销。(2) SQL的数据更新:插入、删除和修改语句。(3) SQL的数据查询;SELECT语句的句法,SELECT语句的三种形式及各种限定,基本表的联接操作。(4) 视图的创建和撤销,对视图更新操作的限制。(5) 嵌入式SQL:预处理方式,使用规定,使用技术,游标,动态SQL语句。,2018/9/9,3,本章重点,(1)使用CREAT

2、E语句和DROP语句创建或撤消数据库、基本表、视图。(2)使用SELECT语句表达式查询(联结、嵌套、存在量词方式书写查询语句)。(3)使用INSERT、DELETE、UPDATE语句更新操作。(4)正确叙述SQL语句(定义、查询和更新)。(5)正确理解嵌入式SQL语句所表示的意义。,2018/9/9,4,本章难点,(1)对SELECT查询语句的理解。 (2)对视图更新操作的限制。 (3)涉及游标的SQL DML的使用方式。,2018/9/9,5,本章概述,结构化查询语言SQL(Structured Query Language)是关系数据库 的标准语言,对关系模型的发展和商用DBMS的研制起

3、着重要的作用。SQL语 言是介乎于关系代数和元组演算之间的一种语言。本章详细介绍SQL的核心 部分内容:数据定义、数据查询、数据更新和嵌入式SQL。,2018/9/9,6,4.1 SQL概述,主要内容 SQL的产生与发展 SQL的组成及特点,2018/9/9,7,SQL的产生与发展,1970年,美国IBM研究中心的E.F.Codd连续发表多篇论文,提出关系模 型。1972年,IBM公司开始研制实验型关系数据库管理系统SYSTEM R,配 制的查询语言称为SQUARE (Specifying Queries As Relational Expression )语言,在语言中使用了较多的数学符号。

4、1974年,Boyce和 Chamberlin把SQUARE修改为SEQUEL (Structured English QUEry Language )语言。后来SEQUEL简称为SQL (Structured Query Language ),即“结构式查询语言”,SQL的发音仍为“sequel”。现在 SQL已经成为一个标准 。SQL有两个标准:ANSI SQL和1992年通过的修改版本SQL-92(简称 SQL2)。还有一个新的标准SQL3,它扩充了SQL2,引入了递归、触发器和 对象等概念和机制。,2018/9/9,8,SQL的组成及特点,SQL语言从功能上可以分为四部分:数据查(Da

5、ta Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)。 核心SQL主要有四个部分:(1) 数据定义语言,即SQL DDL,用于定义SQL模式、基本表、视图、索引等结构。(2) 数据操纵语言,即SQL DML。数据操纵分成数据查询和数据更新两类。其中数据更新又分成插入、删除和修改三种操作。(3) 嵌入式SQL语言的使用规定。这一部分内容涉及到SQL语句嵌入在宿主语言程序中的规则。(4) 数据控制语言,即SQL DCL,这一部分包括对基本表和视图的授 权、完整性规则的描述、事务控制等内容。,2018/9

6、/9,9,SQL的核心动词, SQL有两种使用方式:一是联机交互使用,另一种是嵌入到某种高级语言程序设计语言中去使用。 SQL是一种第四代语言(4GL),用户只需提出“干什么”,无需具体指明“怎么干”,像存取路径选择和具体处理操作等,均有系统自动完成。,2018/9/9,10,4.2 SQL的数据定义,主要内容数据库的创建与撤销定义、修改与删除基本表建立与删除索引创建与删除视图,2018/9/9,11,SQL的数据定义(1),SQL的数据定义功能包括数据库定义、表定义、视图和索引的定义。,2018/9/9,12,SQL的数据定义(2),例4.1 定义一个教务管理数据库JWGL,它包含3个表:

7、学生表:S(SNO,SNAME,SEX,AGE,SDEPT) 课程表:C(CNO,CNAME,CPNO,CCREDIT) 学生选课表:SC(SNO,CNO,GRADE),学生表 实例,学生表选课表 实例,2018/9/9,13,SQL的数据定义(3),表程表实例,2018/9/9,14,数据库的创建与撤销 (1),数据库的创建 在SQL2中,一个数据库模式被定义为基本表的集合。 对数据库的创建可用CREATE语句实现,其句法如下: CREATE DATABASE AUTHORIZATION 其中AUTHORIZATION 是指该用户获得授予创建和使用数据库的权限。 例如,下面语句定义了教务管理

8、数据库的模式: CREATE DATABASE JWGL AUTHORIZATION张铭 创建的数据库名为JWGL,拥有者为张铭。,2018/9/9,15,数据库的创建与撤销 (2),数据库的撤消 当一个数据库及其所属的基本表、视图等元素都不需要时,可以用DROP语句撤消这个数据库。DROP语句的句法如下: DROP DATABASE CASCADE | RESTRICT 撤消的方式有以下两种: CASCADE(连锁式)方式:执行DROP语句时,把数据库及其下属的基本表、视图、索引等所有元素全部撤消。 RESTRICT(约束式)方式:执行DROP语句时,只有当数据库中没有任何下属元素时,才能撤

9、消数据库,否则拒绝执行DROP语句。 例如,要撤消数据库JWGL及其下属所有的元素,可用下列语句实现: DROP DATABASE JWGL CASCADE,2018/9/9,16,定义、修改与删除基本表(1),数据类型 一个属性选用哪种数据类型要根据实际情况来决定,一般要从两个方面来考虑,一是取值范围,二是要做哪些运算。,不同的RDBMS中支持的数据类型不完全相同,2018/9/9,17,定义、修改与删除基本表(2),定义基本表 定义基本表,就是创建基本表的结构。其一般格式为: CREATE TABLE ( 列级完整性约束条件, 列级完整性约束条件 ,); 建表的同时通常还可以定义与该表有关

10、的完整性约束条件,这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由RDBMS自动检查该操作是否违背这些完整性约束条件。,2018/9/9,18,定义、修改与删除基本表(3),例4.2 建立一个“学生”表S。CREATE TABLE S (SNO CHAR(9) PRIMARY KEY, /* 列级完整性约束条件,SNO 是主码 */ SNAME CHAR(20) UNIQUE, /* SNAME取唯一值 */ SEX CHAR(1), AGE SMALLINT, SDEPT CHAR(20) ); 系统执行上面的CREATE TABLE语句后,就在数据库中建立一个新的空的“学生

11、”表S,并将有关“学生”表的定义及有关约束条件存放在数据字典中。,2018/9/9,19,例4.4 建立学生选课表SC。CREATE TABLE SC (SNO CHAR(9), CNO CHAR(4), GRADE SMALLINT, PRIMARY KEY(SNO,CNO), /* 主码由两个属性构成,必须作为表级完整性进行定义 */ FOREIGN KEY(SNO) REFERENCES S(SNO), /* 表级完整性约束条件,SNO是外码,被参照表是S */ FOREIGN KEY(CNO) REFERENCES C(CNO) /* 表级完整性约束条件,CNO是外码,被参照表是C *

12、/);,定义、修改与删除基本表(4),2018/9/9,20,定义、修改与删除基本表(5),修改基本表 SQL语言用ALTER TABLE语句修改基本结构表,其一般格式为: ALTER TABLE ADD 完整性约束 DROP ALTER COLUMN ; 其中是要修改的基本表。ADD子句用于增加新列和新的完整性约束条件;DROP子句用于删除指定的完整性约束条件;ALTER COLUMN子句用于修改原有的列定义。包括修改列名和数据类型。 例4.5 向S表增加“入学时间”列,其数据类型为日期型。 ALTER TABLE S ADD S_ENTRANCE DATE; 不论基本表中原来是否已有数据,

13、新增加的列一律为空值。,2018/9/9,21,删除基本表 用DROP TABLE语句删除基本表。其一般格式为: DROP TABLE RESTRICT | CASCADE; 若选择RESTRICT:则该表的删除是有限制条件的。 欲删除的基本表不能被其他表的约束所引用(如CHECK,FOREIGN KEY等约束),不能有视图,不能有触发器(trigger),不能有存储过程或函数等。如果存在这些依赖该表的对象,则此表不能被删除。 若选择CASCADE:则该表的删除没有限制条件。在删除基本表的同时,相关的依赖对象,例如视图,都将被一起删除。 缺省情况是RESTRICT。 例4.8 删除S表。 DR

14、OP TABLE S CASCADE;,定义、修改与删除基本表(6),2018/9/9,22,建立索引 在SQL语言中,建立索引使用CREATE INDEX语句,其一般格式为: CREATE UNIQUECLUSTER INDEX ON (,); 其中,是要建索引的基本表的名字。索引可以建立在该表的一列或多列上,各列名之间用逗号分隔。每个后面还可以用指定索引值的排列次序,可选ASC(升序)或DESC(降序),缺省值为ASC。 UNIQUE表明此索引的每一个索引值只对应唯一的数据记录。 CLUSTER表示要建立的索引是聚簇索引。所谓聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。 例

15、4.10 CREATE CLUSTER INDEX STUSNAME ON S(SNAME); 将会在S表的SNAME(姓名)列上建立一个聚簇索引,而且S表中的记录将按照SNAME值的升序存放。,建立与删除索引(1),2018/9/9,23,删除索引 索引一经建立,就由系统使用和维护它,不需用户干预。建立索引是为了减少查询操作的时间,但如果数据增删改频繁,系统会花费许多时间来维护索引,从而降低了查询效率。这时,可以删除一些不必要的索引。 在SQL中,删除索引使用DROP INDEX语句,其一般格式为 DROP INDEX ; 例4.12 删除S表的STUSNAME索引。 DROP INDEX STUSNAME; 删除索引时,系统会同时从数据字典中删去有关该索引的描述。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号