数据库系统概论第3章课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据库系统概论第3章课件.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论第3章课件.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 关系数据库标准语言关系数据库标准语言SQLSQL3.1 SQL概述概述3.2 数据定义数据定义3.3 数据查询数据查询3.4 数据更新数据更新3.5 视图视图3.1 SQL3.1 SQL概述概述SQL(Structured Query Language) 结构化查询语言,是关系数据库的标准语言数据查询数据定义数据操纵数据控制SQL视图视图2视图视图1基本表基本表2基本表基本表1基本表基本表3基本表基本表4存储文件存储文件2存储文件存储文件1外模式外模式模模 式式内模式内模式SQL支持关系数据库三级模式结构支持关系数据库三级模式结构3.2 3.2 数据定义数据定义 SQL的数据定义
2、功能的数据定义功能: 3.2.1 3.2.1 模式的定义与删除模式的定义与删除CREATE SCHEMA AUTHORIZATION | CREATE SCHEMA StuCourse AUTHORIZATION WANG; DROP SCHEMA DROP SCHEMA StuCourse RESTRICT 3.2.2 3.2.2 基本表的定义、删除与修改(基本表的定义、删除与修改(1 1)基本表的定义基本表的定义CREATE TABLE ( , , );课程表课程表CourseCourse 例 建立一个“课程”表Course CREATE TABLE Course ( Cno CHAR(4
3、) PRIMARY KEY, Cname CHAR(40), Cpno CHAR(4) , Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Course(Cno) ); 先修课先修课 Cpno是外码是外码 被参照表是被参照表是Course被参照列是被参照列是Cno问题问题下面建立一个下面建立一个“学生选课学生选课”表表SCSC方法是否正确?方法是否正确?CREATE SC (Sno CHAR(9) PRIMARY KEY null, Cno CHAR(4) PRIMARY KEY , Grade SMALLINT null, FOREIGN KE
4、Y (Sno) REFERENCES Student(Sno), FOREIGN KEY (Cno) REFERENCES Course(Cno),); Sql server Sql server 主要数据类型主要数据类型数数 据据 类类 型型符符 号号 标标 识识数数 据据 类类 型型符符 号号 标标 识识整数型bigint, int, smallint, tinyintUnicode字符型nchar, nvarchar、精确数值型decimal, numeric文本型text, ntext浮点型float, real二进制型binary, varbinary货币型money, smallm
5、oney日期时间类型datetime, smalldatetime, date, time位型bit时间戳型timestamp字符型char, varchar图像型image其他cursor, sql_variant, table, uniqueidentifier, xml3.2.2 3.2.2 基本表的定义、删除与修改(基本表的定义、删除与修改(2 2)修改基本表ALTER TABLE ADD 完整性约束 DROP ALTER COLUMN ;例:向Student表增加“入学时间”列,其数据类型为日期型。ALTER TABLE Student ADD S_entrance DATE;3.2
6、.2 3.2.2 基本表的定义、删除与修改(基本表的定义、删除与修改(3 3)删除基本表 DROP TABLE RESTRICT| CASCADE;例:删除Student表,同时删除表上定义的索引等其他对象 DROP TABLE Student CASCADE ;3.2.3 3.2.3 索引的建立与删除索引的建立与删除索引的建立CREATE UNIQUE CLUSTER INDEX ON (, );CREATE CLUSTER INDEX Stusname ON Student(Sname);索引的删除DROP INDEX Stusname;3.33.3数据查询数据查询SELECT ALL|D
7、ISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC ; 3.3 3.3 数据查询数据查询 3.3.1 单表查询单表查询3.3.2 连接查询连接查询3.3.3 嵌套查询嵌套查询3.3.4 集合查询集合查询3.3.5 Select语句的一般形式语句的一般形式 3.3.1 3.3.1 单表查询单表查询 查询仅涉及一个表:n选择表中的若干列n选择表中的若干元组nORDER BY子句n聚集函数nGROUP BY子句nHaving 子句选择表中的若干列选择表中的若干列例1 选择部分列SELECT Sno,Sname FROM Student;
8、例选择所有列SELECT * FROM Student例获得经过计算的列SELECT Sname,2012-Sage FROM Student;例使用列别名SELECT Sname,2012-Sage year-of-birthFROM Student; 选择表中的若干元组(选择表中的若干元组(1 1)消除取值重复的行:DISTINCT SELECT DISTINCT Sno FROM SC;选择表中的若干元组(选择表中的若干元组(2 2)查查 询询 条条 件件谓谓 词词比 较=,=,=,!=,!,!;NOT+上述比较运算符确定范围BETWEEN AND,NOT BETWEEN AND确定集合
9、IN,NOT IN字符匹配LIKE,NOT LIKE空 值IS NULL,IS NOT NULL多重条件(逻辑运算)AND,OR,NOT比较大小比较大小SELECT DISTINCT SnoFROM SCWHERE Grade60;确定范围确定范围SELECT Sname,Sdept,SageFROM StudentWHERE Sage BETWEEN 20 AND 23; 确定集合确定集合SELECT Sname,SsexFROM StudentWHERE Sdept IN ( IS,MA,CS );字符匹配字符匹配 SELECT * FROM Student WHERE Sname LIK
10、E 刘%;空值的查询空值的查询 SELECT Sno,Cno FROM SC WHERE Grade IS NULL多重条件查询多重条件查询 SELECT Sname FROM Student WHERE Sdept= CS AND Sage20;ORDER BYORDER BY子句子句 可以按一个或多个属性列排序SELECT *FROM StudentORDER BY Sdept,Sage DESC; 当排序列含空值时nASC:排序列为空值的元组最后显示nDESC:排序列为空值的元组最先显示 聚集函数聚集函数 计数COUNT(DISTINCT|ALL )计算总和SUM(DISTINCT|AL
11、L ) 计算平均值AVG(DISTINCT|ALL )最值 MAX(DISTINCT|ALL ) MIN(DISTINCT|ALL ) 例 查询学生总人数。 SELECT COUNT(*) FROM Student; 例 查询选修了课程的学生人数。 SELECT COUNT(DISTINCT Sno) FROM SC;GROUP BYGROUP BY子句子句 对查询的中间结果表进行分组,以细化聚集函数的作用例 求各个课程号及相应的选课人数。 SELECT Cno,COUNT(Sno) FROM SC GROUP BY Cno;CnoCOUNT(Sno)122234344433548having
12、having子句子句对分组后的数据进行筛选,选出满足条件的组例 查询选修了3门以上课程的学生学号。 SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) 3; 问题问题Select、from、where、order by、group by、having子句在查询过程中的执行顺序?3.3.2 3.3.2 连接查询连接查询 连接条件或连接谓词:用来连接两个表的条件. . . BETWEEN . AND .连接操作的执行方法嵌套循环法(NESTED-LOOP)排序合并法(SORT-MERGE)索引连接(INDEX-JOIN连接查询的种类连接查询的种类一、等值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内