关系数据库第4章 结构化查询语言SQL

上传人:飞*** 文档编号:51685824 上传时间:2018-08-15 格式:PPT 页数:109 大小:1.07MB
返回 下载 相关 举报
关系数据库第4章 结构化查询语言SQL_第1页
第1页 / 共109页
关系数据库第4章 结构化查询语言SQL_第2页
第2页 / 共109页
关系数据库第4章 结构化查询语言SQL_第3页
第3页 / 共109页
关系数据库第4章 结构化查询语言SQL_第4页
第4页 / 共109页
关系数据库第4章 结构化查询语言SQL_第5页
第5页 / 共109页
点击查看更多>>
资源描述

《关系数据库第4章 结构化查询语言SQL》由会员分享,可在线阅读,更多相关《关系数据库第4章 结构化查询语言SQL(109页珍藏版)》请在金锄头文库上搜索。

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

2、表、视图。(2)使用SELECT语句表达式查询(联结、嵌套、存在量词方式书写查 询语句)。(3)使用INSERT、DELETE、UPDATE语句更新操作。(4)正确叙述SQL语句(定义、查询和更新)。(5)正确理解嵌入式SQL语句所表示的意义。Date3本章难点(1)对SELECT查询语句的理解。(2)对视图更新操作的限制。(3)涉及游标的SQL DML的使用方式。Date4本章概述v 结构化查询语言SQL(Structured Query Language)是关系数据库 的标准语言,对关系模型的发展和商用DBMS的研制起着重要的作用。 SQL语 言是介乎于关系代数和元组演算之间的一种语言。本

3、章详细介绍SQL的 核心 部分内容:数据定义、数据查询、数据更新和嵌入式SQL。 Date54.1 SQL概述 主要内容vSQL的产生与发展vSQL的组成及特点Date6SQL的产生与发展 v 1970年,美国IBM研究中心的E.F.Codd连续发表多篇论文,提出关系 模 型。1972年,IBM公司开始研制实验型关系数据库管理系统SYSTEM R ,配 制的查询语言称为SQUARE (Specifying Queries As Relational Expression )语言,在语言中使用了较多的数学符号。1974年,Boyce 和 Chamberlin把SQUARE修改为SEQUEL (S

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

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

6、OP 数据操纵INSERT,UPDATE, DELECT 数据控制GRANT,REVOKE SQL有两种使用方式:一是联机交互使用,另一种是嵌入到某种 高级语言程序设计语言中去使用。 SQL是一种第四代语言(4GL),用户只需提出“干什么”,无需具 体指明“怎么干”,像存取路径选择和具体处理操作等,均有系统自动 完成。Date94.2 SQL的数据定义 主要内容v 数据库的创建与撤销v 定义、修改与删除基本表v 建立与删除索引v 创建与删除视图Date10SQL的数据定义(1) 操作对 象操 作 方 式创 建删 除修 改数据库CREATE DATABASEDROP DATABASE表CREAT

7、E TABLEDROP TABLEALTER TABLE索 引CREATE INDEXDROP INDEX视 图CREATE VIEWDROP VIEWSQL的数据定义功能包括数据库定义、表定义、视图和索引的定义。 Date11SQL的数据定义(2)学号SNO姓名SNAME性别SEX年龄AGE所在系SDEPT200915121 200915122 200915123 200915125李小勇 刘 晨 王洪敏 张 力M F F M20 19 18 19CS CS MA IS例4.1 定义一个教务管理数据库JWGL,它包含3个表: 学生表:S(SNO,SNAME,SEX,AGE,SDEPT) 课程

8、表:C(CNO,CNAME,CPNO,CCREDIT) 学生选课表:SC(SNO,CNO,GRADE) 学生表实例学生表选课表实例学号SNO课程号CNO成绩GRADE200915121 200915121 200915121 200915122 2009151221 2 3 2 392 85 88 90 80Date12SQL的数据定义(3)课程号CNO课程名CNAME先修课CPNO学分CCREDIT1 2 3 4 5 6 7数据库 数学 信息系统 操作系统 数据结构 数据处理 C语言51 6 764 2 4 3 4 2 4表程表实例Date13数据库的创建与撤销 (1)v数据库的创建 在SQ

9、L2中,一个数据库模式被定义为基本表的集合。 对数据库的创建可用CREATE语句实现,其句法如下: CREATE DATABASE AUTHORIZATION 其中AUTHORIZATION 是指该用户获得授予创建和使用数据库的权限。 例如,下面语句定义了教务管理数据库的模式: CREATE DATABASE JWGL AUTHORIZATION张铭 创建的数据库名为JWGL,拥有者为张铭。Date14数据库的创建与撤销 (2)v 数据库的撤消 当一个数据库及其所属的基本表、视图等元素都不需要时,可以用 DROP语句撤消这个数据库。DROP语句的句法如下: DROP DATABASE CASC

10、ADE | RESTRICT 撤消的方式有以下两种: CASCADE(连锁式)方式:执行DROP语句时,把数据库及其下属的基本表、视图、索引等所有元素全部撤消。 RESTRICT(约束式)方式:执行DROP语句时,只有当数据库中没有 任何下属元素时,才能撤消数据库,否则拒绝执行DROP语句。 例如,要撤消数据库JWGL及其下属所有的元素,可用下列语句实现: DROP DATABASE JWGL CASCADE Date15定义、修改与删除基本表(1) v 数据类型 一个属性选用哪种数据类型要根据实际情况来决定,一般要从两个方 面来考虑,一是取值范围,二是要做哪些运算。 数据类型含 义CHAR(

11、n) VARCHAR(n) INT SMALLINT NUMERIC(p,d)REAL DOUBLE PRECISION FLOAT(n) DATE TIME度为n的定长字符串 最大长度为n的变长 字符串 长整数(也可以写作INTEGER) 短整数 定点数,由P位数字(不包括符号、小数点)组成,小 数后面有d位数字 取决于机器精度的浮点数 取决于机器精度的双精度浮点数 浮点数,精度至少为n位数字 日期,包含年、月、日,格式为YYYY-MM-DD 时间 ,包含一日的时、分、秒,格式为HH:MM:SS不同的RDBMS中支持的数据类型不完全相同 Date16定义、修改与删除基本表(2) v 定义基本

12、表 定义基本表,就是创建基本表的结构。其一般格式为: CREATE TABLE ( 列级完整性约束条件, 列级完整性约束条件 ,); 建表的同时通常还可以定义与该表有关的完整性约束条件,这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由 RDBMS自动检查该操作是否违背这些完整性约束条件。 Date17定义、修改与删除基本表(3)例4.2 建立一个“学生”表S。CREATE TABLE S (SNO CHAR(9) PRIMARY KEY, /* 列级完整性约束条件,SNO 是主码 */ SNAME CHAR(20) UNIQUE, /* SNAME取唯一值 */ SEX CHA

13、R(1), AGE SMALLINT, SDEPT CHAR(20) ); 系统执行上面的CREATE TABLE语句后,就在数据库中建立一个新 的空的“学生”表S,并将有关“学生”表的定义及有关约束条件存放在数据字典中。 Date18例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是外码,

14、被参照表是S */ FOREIGN KEY(CNO) REFERENCES C(CNO) /* 表级完整性约束条件,CNO是外码,被参照表是C */); 定义、修改与删除基本表(4)Date19定义、修改与删除基本表(5)v 修改基本表 SQL语言用ALTER TABLE语句修改基本结构表,其一般格式为: ALTER TABLE ADD 完整性约束 DROP ALTER COLUMN ; 其中是要修改的基本表。ADD子句用于增加新列和新的完整性约束条件;DROP子句用于删除指定的完整性约束条件;ALTER COLUMN子句用于修改原有的列定义。包括修改列名和数据类型。 例4.5 向S表增加“入

15、学时间”列,其数据类型为日期型。 ALTER TABLE S ADD S_ENTRANCE DATE; 不论基本表中原来是否已有数据,新增加的列一律为空值。Date20v删除基本表 用DROP TABLE语句删除基本表。其一般格式为: DROP TABLE RESTRICT | CASCADE; 若选择RESTRICT:则该表的删除是有限制条件的。 欲删除的基本表不能被其他表的约束所引用(如CHECK,FOREIGN KEY等约束),不能有视图,不能有触发器(trigger),不能有存储过程或函数等。如果存在这些依赖该表的对象,则此表不能被删除。 若选择CASCADE:则该表的删除没有限制条件。在删除基本表的同时,相关的依赖对象,例如视图,都将被一起删除。 缺省情况是RESTRICT。 例4.8 删除S表。 DROP

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

当前位置:首页 > 行业资料 > 其它行业文档

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