数据库原理与设计第3章 查询、视图和索引.ppt

数据库原理与设计第3章 查询、视图和索引.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.7 SQL查询的一般格式 SELECT [ALL | DISTINCT]目标列表达式 [AS][别名] [,目标列表达式 [AS][别名],... ] FROM 表名|视图名|查询表[AS][别名] [, 表名|视图名|查询表[AS][别名],... ] [WHERE 条件表达式] [GROUP BY 列名1[, 列名2,... ][HAVING 条件表达式]] [ORDER BY 列名表达式[ASC | DESC][,列名表达式[ASC | DESC],...]] 3.8 视图 3.8.1 创建视图 SQL语言用CREATE VIEW命令创建视图,语法格式如下: CREATE VIEW 视图名[(列名[,列名,…])] AS 子查询 [WITH CHECK OPTION] 例3-80 创建所有男学生的视图。 CREATE VIEW Male_Student AS SELECT SNo,SName,CLno FROM Student WHERE SSex=男 1.行列子集视图 例3-81 创建视图Stu_120001,输出所有120001班学生的学号、姓名。 CREATE VIEW Stu_120001 (学号,姓名) AS SELECT SNo,SName FROM Student WHERE CLno=120001 2.基于多个表的视图 例3-83 创建120001班选修了00005号课程的学生的视图。 CREATE VIEW C5_120001 (SNo,SName,Score) AS SELECT Student.SNo,SName,Score FROM Student,SC WHERE Student.SNo=SC.SNo AND CLno=120001 AND SC.CNo=00005 3.带表达式的视图 例3-85 创建一个反映学生年龄的视图。 CREATE VIEW Stu_Age(学号,姓名,年龄) AS SELECT SNo,SName,YEAR(GETDATE(?))-YEAR(SBir) FROM Student 4.分组视图 例3-86 创建一个反映学生学号及他的平均成绩的视图。 CREATE VIEW S_G(学号,平均成绩) AS SELECT SNo,AVG(Score) FROM SC GROUP BY SNo 3.8.2 管理视图 1.查看视图 (1)sp_help 视图名 例3-88 查看视图Male_Student的基本信息。 sp_help Male_Student (2)sp_helptext 视图名 例3-89 查看视图Male_Student的定义信息。 sp_helptext Male_Student 2.修改视图 例3-91 修改视图Male_Student,显示所有男学生的学号、姓名、班级和出生日期。 ALTER VIEW Male_Student AS SELECT SNo,SName,CLno,SBir FROM Student WHERE SSex= 男 3.删除视图 例3-92 删除视图Male_Student。 DROP VIEW Male_Student 3.8.3 查询视图 例3-94 在男学生的视图中找出120001班的学生。 SELECT SNo,SName,CLno FROM Male_Student WHERE CLno =120001‘ 查询是对视图进行的最主要的操作。从用户的角度来看,查询视图与查询基本表的方式是完全一样的. 3.8.4 更新视图 例3-97 将男学生视图Male_Student中学号为12007的学生姓名改为“梁栋梁”。 UPDATE Male_Student SET SName=梁栋梁 WHERE SNo=12007 转换后的更新语句为: UPDATE Student SET SName=梁栋梁 WHERE SNo=12007 AND SSex=男 3.8.5 视图的作用 1.视图能够简化用户的操作 2.视图使用户能以多种角度看待同一数据 3.视图对重构数据库提供了一定程度的逻辑独立性 4.视图能够对机密数据提供安全保护 5.适当的利用视图可以更清晰的表达查询 3.9 索引 3.9.1 索引的概念 数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 建立索引是提高查询速度的有效手段。 3.9.2 索引的分类 索引分为聚簇索引与非聚簇索引。 聚簇索引(Clustered Index)对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚簇索引与数据是一体的,它的叶结点中

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档