[工学]关系数据库查询语言SQL1.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]关系数据库查询语言SQL1

An Introduction to Database System 厦门大学计算机科学系 关系数据库标准语言SQL 1 SQL概述 2 数据定义 3 查询 4 数据更新 5 视图 1 SQL概述 SQL的特点 1. 综合统一 2. 高度非过程化 3. 面向集合的操作方式 4. 以同一种语法结构提供两种使用方法 5. 语言简洁,易学易用 综合统一(操纵三级模式) 5. 语言简捷,易学易用 第三章 关系数据库标准语言SQL 1 SQL概述 2 数据定义 3 查询 4 数据更新 5 视图 2 数 据 定 义 2.1 定义语句格式 表名:所要定义的基本表的名字 列名:组成该表的各个属性(列) 列级完整性约束条件:涉及相应属性列的完整性约束条件 表级完整性约束条件:涉及一个或多个属性列的完整性约束条件 例题 [例1] 建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号是主键,并且姓名取值也唯一。 例题 (续) 定义基本表(续) 常用完整性约束 主码约束: PRIMARY KEY 唯一性约束:UNIQUE 非空值约束:NOT NULL 参照完整性约束 PRIMARY KEY与 UNIQUE的区别? 例题 (续) [例2] 建立一个“学生选课”表SC,它由学号Sno、课程号Cno,修课成绩Grade组成,其中(Sno, Cno)为主码。 三、删除基本表 DROP TABLE 表名; ? 基本表删除 数据、表上的索引 自动都删除 例题 [例5] 删除SC表 DROP TABLE SC; 二、修改基本表 ALTER TABLE 表名 [ ADD 新列名 数据类型 [ 完整性约束 ] ] [ DROP 完整性约束名 ] [ALTER COLUMN 列名 数据类型 ] [DROP COLUMN 列名 数据类型 ]; 例题 [例2] 向Student表增加“入学时间”列,其数据类型为日期型。 [例3] 将入学日期的数据类型改为字符型。 语句格式(续) 删除属性列 2.2 建立与删除索引 建立索引是加快查询速度的有效手段 建立索引 DBA或表的属主(即建立表的人)根据需要建立 有些DBMS自动建立以下列上的索引 PRIMARY KEY UNIQUE 维护索引 DBMS自动完成? 使用索引 DBMS自动选择是否使用索引以及使用哪些索引 一、建立索引 语句格式 CREATE [UNIQUE] [CLUSTER] INDEX 索引名 ON 表名(列名[次序][,列名[次序] ]…); 建立索引 (续) 唯一值索引 对于已含重复值的属性列不能建UNIQUE索引 对某个列建立UNIQUE索引后,插入新记录时DBMS会自动检查新记录在该列上是否取了重复值。这相当于增加了一个UNIQUE约束 建立索引 (续) 聚簇索引 建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放。也即聚簇索引的索引项顺序与表中记录的物理顺序一致 例: CREATE CLUSTER INDEX Stusname ON Student(Sname); 在Student表的Sname(姓名)列上建立一个聚簇索引,而 且Student表中的记录将按照Sname值的升序存放 建立索引 (续) 在一个基本表上最多只能建立一个聚簇索引 聚簇索引的用途:对于某些类型的查询,可以提高查询效率 聚簇索引的适用范围 很少对基表进行增删操作 很少对其中的变长列进行修改操作 例题 [例6] 为学生-课程数据库中的Student,Course,SC三个表建立索引。其中Student表按学号升序建唯一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引。 CREATE UNIQUE INDEX Stusno ON Student(Sno); CREATE UNIQUE INDEX Coucno ON Course(Cno); CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC); 二、删除索引 DROP INDEX 索引名; 删除索引时,系统会从数据字典中删去有关该索引的描述。 [例7] 删除Student表的Stusname索引。 DROP INDEX Student.Stusname; 3 查 询 3.1 概述 3.2 单表查询 3.3 连接查询 3.4 嵌套查询 3.5 集合查询 3.6 小结 3.1 概述 语句格式 SELECT [ALL|DISTINCT] 目标列表达式

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档