第3章关系数据库语言SQLppt课件.ppt
《第3章关系数据库语言SQLppt课件.ppt》由会员分享,可在线阅读,更多相关《第3章关系数据库语言SQLppt课件.ppt(52页珍藏版)》请在三一办公上搜索。
1、第3章 关系数据库语言SQL,本章重要概念,(1)SQL数据库的体系结构,SQL的组成。(2)SQL的数据定义:SQL模式、基本表和索引的创建和撤销。(3)SQL的数据查询;SELECT语句的句法,SELECT语句的三种形式及各种限定,基本表的联接操作,SQL3中的递归查询。(4)SQL的数据更新:插入、删除和修改语句。(5)视图的创建和撤销,对视图更新操作的限制。,本章概述,SQL是关系数据库的标准语言,对关系模型的发展和商用DBMS的研制起着重要的作用。SQL语言是介乎于关系代数和元组演算之间的一种语言。本章详细介绍SQL的核心部分内容:数据定义、数据查询、数据更新和嵌入式SQL。,关系数
2、据库语言SQL,3.1 SQL的体系结构 3.2 SQL的数据定义 3.3 SQL的数据查询3.4 数据更新 3.5 视图的定义和对视图的操作 3.6 嵌入式SQL,3.1 SQL的体系结构,3.1.1 SQL的产生与发展 3.1.2 SQL数据库的体系结构 3.1.3 SQL的组成,返回,SQL的产生与发展,1970年,美国IBM研究中心的E.F.Codd连续发表多篇论文,提出关系模型。1972年,IBM公司开始研制实验型关系数据库管理系统SYSTEM R,配制的查询语言称为SQUARE(Specifying Queries As Relational Expression)语言,在语言中使
3、用了较多的数学符号。1974年,Boyce和Chamberlin把SQUARE修改为SEQUEL(Structured English QUEry Language)语言。后来SEQUEL简称为SQL(Structured Query Language),即“结构式查询语言”,SQL的发音仍为“sequel”。现在SQL已经成为一个标准。,SQL数据库的体系结构,SQL的组成,核心SQL主要有四个部分:(1)数据定义语言,即SQL DDL,用于定义SQL模式、基本表、视图、索引等结构。(2)数据操纵语言,即SQL DML。数据操纵分成数据查询和数据更新两类。其中数据更新又分成插入、删除和修改三
4、种操作。(3)嵌入式SQL语言的使用规定。这一部分内容涉及到SQL语句嵌入在宿主语言程序中的规则。(4)数据控制语言,即SQL DCL,这一部分包括对基本表和视图的授权、完整性规则的描述、事务控制等内容。,返回,3.2 SQL的数据定义,3.2.1 SQL模式的创建和撤销 3.2.2 基本数据类型 3.2.3 基本表的创建、修改和撤销 3.2.4 索引的创建和撤销,返回,SQL模式的创建和撤销,SQL模式的创建可用CREATE SCHEMA语句定义,其基本句法如下:CREATE SCHEMA模式名AUTHORIZATION用户名 DROP语句的句法如下:DROP SCHEMA模式名CASCAD
5、ERESTRICT其方式有两种:CASCADE(级联式)方式。RESTRICT(约束式)方式。,SQL Server2008的schema,Schma 也称为架构,是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。以往 SQL Server 内的对象命名是“服务器.数据库.用户名.对象”,但新版的对象命名改为“服务器.数据库.Schema.对象”。完全限定的对象名称现在包含四部分:server.database.schema.objectSQL Server 2005 以后,架构独立于创建它们的数据库用户而存在。可以在不更改架构名称的情况下转让架构的所有权
6、,基本数据类型,SQL提供的主要数据类型(也称为“域类型”)有:(1)数值型(2)字符串型(3)位串型(4)时间型,返回,An Introduction to Database System,SQL Server支持的数据类型,请参见SQL Server 实用教程表2.3(P38),或参见联机帮助。,基本表的创建、修改和撤销(1),基本表的创建 例3.1 基本表SS(S#,SNAME,AGE,SEX)可用下列语句创建:CREATE TABLE S(S#CHAR(4)NOT NULL,SNAME CHAR(8)NOT NULL,AGECHAR(1),SEX CHAR(1),PRIMARY KEY
7、(S#);,基本表的创建、修改和撤销(2),基本表结构的修改增加新的列用“ALTER ADD”语句,其句法如下:ALTER TABLE ADD 删除原有的列用“ALTER DROP”语句,句法如下:ALTER TABLE DROP CASCADERESTRICT 此处CASCADE方式表示:在基本表中删除某列时,所有引用到该列的视图和约束也要一起自动地被删除。而RESTRICT方式表示在没有视图或约束引用该属性时,才能在基本表中删除该列,否则拒绝删除操作。,基本表的创建、修改和撤销(3),例3.2 在基本表S中增加一个地址(ADDRESS)列,可用下列语句:ALTER TABLE S ADD
8、ADDRESS VARCHAR(30);应注意,新增加的列不能定义为“NOT NULL”。基本表在增加一 列后,原有元组在新增加的列上的值都被定义为空值(NULL)。例3.3 在基本表S中删除年龄(AGE)列,并且把引用该列的所有视图和约束也一起删除,可用下列语句:ALTER TABLE S DROP AGE CASCADE;例3.4 在基本表S中S#的长度修改为6,可用下列语句:ALTER TABLE S MODIFY S#CHAR(6);,基本表的创建、修改和撤销(4),基本表的撤销撤销语句的句法如下:DROP TABLE CASCADERESTRICT 此处的CASCADE、RESTRI
9、CT的语义同前面句法中的语义一样。,返回,索引的创建和撤销,索引的创建创建索引可用“CREATE INDEX”语句实现。句法如下:CREATE UNIQUE INDEX ON(列名表)索引的撤销当索引不需要时,可以用“DROP INDEX”语句撤销,其句法如下:DROP INDEX,返回,3.3 SQL的数据查询,3.3.1 SELECT查询语句 3.3.2 SELECT语句完整的句法 3.3.3 SELECT语句中的限定 3.3.4 基本表的联接操作 3.3.5 SQL3中的递归查询,返回,SELECT查询语句(1),SELECTFROMWHERE句型在关系代数中最常用的式子是下列表达式:A
10、1,An(F(R1Rm)这里R1、Rm为关系,F是公式,A1、An为属性。针对上述表达式,SQL为此设计了SELECTFROMWHERE句型:SELECT A1,AnFROM R1,RmWHERE F 这个句型是从关系代数表达式演变来的,但WHERE子句中的条件表达式F要比关系代数中公式更灵活。,SELECT语句完整的句法(1),SELECT语句完整的句法如下:SELECT 目标表的列名或列表达式序列 FROM 基本表名和(或)视图序列 WHERE 行条件表达式 GROUP BY 列名序列 HAVING 组条件表达式 ORDER BY 列名 ASC|DESC,,SELECT语句完整的句法(2)
11、,整个语句的执行过程如下:(1)读取FROM子句中基本表、视图的数据,执行笛卡尔积操作。(2)选取满足WHERE子句中给出的条件表达式的元组。(3)按GROUP子句中指定列的值分组,同时提取满足HAVING子句中组条件表达式的那些组。(4)按SELECT子句中给出的列名或列表达式求值输出。(5)ORDER子句对输出的目标表进行排序,按附加说明ASC升序排列,或按DESC降序排列。,SELECT查询语句(2),SELECT句型使用实例例3.8 教学数据中有三个基本表(关系):S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)下面用SELEC
12、T查询语句表达每个查询。检索学习课程号为C2的学生学号与成绩。检索学习课程号为C2的学生学号与姓名。检索选修课程名为MATHS的学生学号与姓名。检索选修课程号为C2或C4的学生学号。检索不学课程的学生学号。()检索至少选修课程号为C2和C4的学生学号。()检索学习了全部课程的学生姓名。,SELECT查询语句(4),聚合函数 COUNT(*)计算元组的个数COUNT(列名)对一列中的值计算个数SUM(列名)求某一列值的总和(此列的值必须是数值型)AVG(列名)求某一列值的平均值(此列的值必须是数值型)MAX(列名)求某一列值的最大值MIN(列名)求某一列值的最小值,返回,SELECT语句完整的句
13、法(3),例3.11 对教学数据库的基本表S、SC、C中数据进行查询和计算。统计每一年龄选修课程的学生人数 SELECT AGE,COUNT(DISTINCT S.S#)FROM S,SC WHERE S.S#=SC.S#GROUP BY AGE;由于要统计每一个年龄的学生人数,因此要把满足WHERE子句中条件的查询结果按年龄分组,在每一组中的学生年龄相同。此时的SELECT子句应对每一组分开进行操作,在每一组中,年龄只有一个值,统计的人数是这一组中的学生人数。,SELECT语句完整的句法(4),求基本表S中男同学的每一年龄组(超过50人)有多少人?要求查询结果按人数升序排列,人数相同按年龄降
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 语言 SQLppt 课件

链接地址:https://www.31ppt.com/p-2133361.html