第5章数据库管理Word下载.docx

上传人:b****4 文档编号:16638029 上传时间:2022-11-25 格式:DOCX 页数:12 大小:23.51KB
下载 相关 举报
第5章数据库管理Word下载.docx_第1页
第1页 / 共12页
第5章数据库管理Word下载.docx_第2页
第2页 / 共12页
第5章数据库管理Word下载.docx_第3页
第3页 / 共12页
第5章数据库管理Word下载.docx_第4页
第4页 / 共12页
第5章数据库管理Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

第5章数据库管理Word下载.docx

《第5章数据库管理Word下载.docx》由会员分享,可在线阅读,更多相关《第5章数据库管理Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

第5章数据库管理Word下载.docx

CREATEVIEW语句的执行结果是在DBMS的数据字典中保存了视图名和SELECT语句。

2)删除视图

当不再需要一个视图时,可以删除它,语句格式为:

DROPVIEW<

3)查询视图

对视图进行查询时,DBMS要进行视图消解工作,把对视图的查询转换为对基本表(定义视图时涉及的表)的查询,就是把对视图查询的一个SQL语句,转换为对基本表查询的SQL语句。

4)更新视图

更新视图是指在视图中插入(INSERT)、删除(DELETE)和更新(UPDATE)数据。

像查询视图那样,对视图的更新操作也要通过视图消解转换为对表的更新操作。

5)视图的作用

●视图能够简化用户的操作。

●视图可以减少冗余数据。

●视图对重构数据库提供了一定程度的逻辑独立性。

●视图能够对机密数据提供安全保护。

(2)索引

在数据库中,往往根据应用环境的需要,在表上建立一个或多个类似于图书目录的索引,以提供多种存取路径,加快查找速度。

1)索引的基本概念

索引是一个独立的、物理的数据库结构,基于表的一列或多列而建立,按照列值从小到大或从大到小排序,提供了一个新存取路径。

2)索引的分类

●按照表中建立索引的那一列(或列组合)中的数据是否各不相同,可以将索引分为唯一索引(UNIQUE)和非唯一索引(NOTUNIQUE)。

●按照索引的结构,可以将其划分为两大类,聚簇索引(Clusteredindex)和非聚簇索引(Nonclusteredindex)。

3)建立索引的原则

要不要建索引以及如何建索引,属于内模式的概念,这是数据库设计中一个很重要的问题。

4)索引的建立和维护

a)建立索引

数据库管理员或表的所有者有权在表上建立索引。

在SQL语言中,建立索引使用CREATEINDEX语句,其一般格式为:

CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEX<

索引名>

ON<

表名>

(<

[<

次序>

][,<

]]…);

b)删除索引

在SQL语言中,删除索引使用DROPINDEX语句,其一般格式为:

DROPINDEX<

表名.索引名>

删除索引时,系统从数据字典中删除有关该索引的描述,同时从数据区删除索引的数据。

(3)安全性

要使用数据库首先要成为数据库的用户,其次要对数据对象拥有相关的权限。

1)登录名/用户

用户要使用SQLServer,必须首先获得一个SQLServer的登录名,然后将登录名添加到一个数据库,获得数据库的用户名,才能正式使用数据库。

●增加登录名

●删除登录名

●增加数据库用户

●删除数据库用户

2)权限

数据库中的数据对象大体上可以分为数据库、视图、表和列,操纵不同的数据对象需要不同的权限。

3)授权

数据对象的所有者可以把其拥有的不可被剥夺的权限授予他人,使更多的人可以操纵数据对象。

4)收回权限

授予的权限可以由授予者用REVOKE语句收回。

5)角色

角色是一个DBMS用户的集合,该集合中的用户要操作相同的数据库对象,需要拥有相同的权限。

6)权限审核

7)完整性

关系模型有三类完整性约束:

实体完整性、参照完整性和用户定义的完整性。

8)空值的处理

SQL语言中允许不填写元组的某个属性的值,这时该属性的值为空值(NULL)。

空值有3种含义:

一种是该属性应该有一个值,但目前还不知道它的具体值;

第二种是该属性不应该有值;

第三种是由于某种原因不便于填写。

因此,空值是一个很特殊的值,含有不确定性,需要做特殊的处理。

(4)系统表

关系数据库系统使用表存放表名、列的定义、视图的定义、权限的管理、数据库用户等信息,用于系统管理,这些表叫做系统表或者系统目录。

2.难点分析

(1)视图概念的理解

首先理解数据库中关系与视图的对应关系,以及与数据库的三级模式的对应关系。

外模式定义了一个数据库应用程序要用到的数据,模式定义了一个组织内所有数据库应用程序要使用的数据,内模式定义了数据的物理组织结构。

在关系数据库中,与外模式、模式和内模式相对应的概念是视图、关系、物理存储文件和索引。

视图是从一个或多个表中导出的表,用户可以像对表一样对它进行查询,在SELECT语句中可以出现表的地方都可以使用视图。

视图是一个虚表,在数据库中只存储视图的定义(一条SELECT语句)而不存放视图的数据,这些数据仍存放在导出视图的基本表中,直到用户使用视图时才去执行视图的定义,求出数据。

因为视图是一个虚表,所以更新操作受到一些限制。

(2)索引的建立和维护

通过一些例子加深对索引部分内容的理解。

下面给出了两个索引实例。

图5.3建立在表Student的列Sno上的索引

图5.4B+树形式的索引结构

(3)完整性的相关内容

这部分内容比较抽象,可以通过一些例子理解3类完整性约束的含义。

二、教学目标(知识,技能,情感态度价值观)

1.知识目标:

通过本课时的学习,理解视图的概念和作用。

理解索引的概念和作用。

理解数据库的操作权限,掌握授权的方法。

理解参照完整性的概念以及对SQL语句的影响。

2.技能目标:

能建立视图,会使用视图实现数据的逻辑独立性。

掌握建立索引的一般规则,能利用索引改善查询性能。

理解角色的概念,能利用角色简化权限管理。

基本掌握用户定义完整性约束的方法

3.情感态度目标:

通过本课时的学习,从而使学生加深认识和理解数据库三级模式的认识,体验对于解决复杂问题的思维方法。

三、学习者特征分析

对于初等教育信息技术方向专业学生,只学习了计算机基础和程序设计初步两门专业课,对计算机的结构及处理问题的原理了解还不够深入,所以在本课程的学习时要通俗易懂,突出数据库技术的应用,所选教材在这方面较好,以此在教学中要把应用性体现出来。

要充分利用好机房进行实训,让学生以初步设计一个应用系统为导向,组织教学,培养学生应用数据库技术的能力和意识。

经过前面章节的学习,学生已对关系表有了初步认识,本章通过视图和索引的学习,加深对数据库三级模式的认识和和应用。

四、教学策略选择与设计

本课时的教学策略将采用“双主”模式;

具体操作体现为:

采用提出问题,引导学生思考解决办法,再应用和练习的策略。

五、教学环境及资源准备

1.教学环境:

主要借助与多媒体教室,利用PPT和电脑操作演示。

2.资源准备:

★数据库系统软件(SQLServer2000)

★PPT材料

六、教学过程

教学过程

教师活动

学生活动

设计意图及资源准备

第一、二课时

讲授:

5.1.1建立视图

5.1.2删除视图

5.1.3查询视图

5.1.4.更新视图

5.1.5视图的作用

1.讲解视图的基本概念,使学生理解视图的概念和作用。

2.介绍视图建立、删除、查询的方法,使会建立、使用视图实现数据的逻辑独立性。

学生听讲,了解数据技术中视图功能及创建、修改、查询的用法,并在课后练习,达到掌握用视图创建、修改、查询的方法。

1.准备教学用PPT

2.信息管理系统的实例。

第三、四课时:

讲授

5.2.1索引的基本概念

5.2.2索引的建立和维护

1.讲解索引的概念,并分析索引的作用。

2.讲解索引的建立和维护方法,使掌握建立索引的一般规则,能利用索引改善查询性能。

学生听讲,并进行思考,理解和认识索引的功能及建立方法。

要求学生基本掌握单表的方法;

1.准备教学用PPT

2.使学生比较好的理解查询

第五六课时

5.3.1登录名与用户

5.3.2权限

5.3.3授权

5.3.4收回权限

5.3.5角色

5.3.6权限审核

1.讲解数据库的登录名、用户、操作权限的概念。

2.讲解数据库中授权的方法,使学生能理解数据库的操作权限,掌握授权的方法。

3.讲解角色的概念,使学生能利用角色简化权限管理

学生听讲,积极思考,理解并掌握有关权限概念及操作方法。

2.有效培养了学生的用权限管理的的能力。

第七八课时

5.4.1实体完整性

5.4.2参照完整性

5.4.3属性值限制

5.4.4元组级限制

5.4.5完整性修改

5.4.6空值的处理

1.讲解数据库中实体完整性、参照完整性概念及实现。

2.讲解自定义完整性(属性值限制、元组级限制、完整性修改及空值的处理)等概念。

使学生基本掌握用户定义完整性约束的方法

听课,思考并阅读教材。

通过实验练习使学生数据库中完整性的处理。

锻炼学生理解能力和自主阅读,学习有效的表示信息的方法

七、作业与要求

P120习题:

一(1-10)、二(1-5)、三(1-9)、四(1-2)

要求:

认真完成,批阅后讲评。

 

3.5视图

3.5.1为什么要使用视图

(1)视图能减少SQL查询语句编写的工作量及对它进行合理的管理。

(2)视图使用户以不同的方式看待相同数据。

(3)视图对数据库的使用提供一定的逻辑独立性。

(4)视图能够对数据提供安全保护。

3.5.2创建视图

•CREATEVIEW语句可以创建视图,其一般语法格式为:

[,<

]…)]

SELECT语句>

[WITHCHECKOPTION];

•WITHCHECKOPTION可选项关键词表示在对视图进行UPDATE,INSERT和DELETE操作时需要保证更新、插入或删除的记录必须满足视图定义中的条件(即SELECT语句中的条件表达式)。

•在创建一个视图时要么指定视图的全部列名,要么全部都不指定。

如果缺省了视图的各个属性列名,则该视图就由查询中SELECT子句的目标列的列名组成。

但在下列三种情况下必须明确指定组成视图的所有列名:

Ø

第一种:

视图中包含了多个来自于不同表的相同列名。

第二种:

视图中定义的列是由集函数或列表达式所定义。

第三种:

视图中为了某些列定义新的列名。

数据库在创建视图时,将其定义存放到相应的系统表中,以供使用。

【例3.56】创建来自加州的作者信息(pubs数据库的authors表,只包含au_id,au_fname,au_lname,city)视图CA_Authors。

•语句如下:

CREATEVIEWCA_Authors

ASSELECTau_id,au_fname,au_lname,cityFROMauthors

WHERE(state='

CA'

•该例没有指定视图的列名,视图则沿用基本表的指定列的列名。

像CA_Authors视图这样,视图中的数据来自于一个基本表,且保留了该表的主键和筛选掉了一些列和一些行,称这样的视图为行列子集视图。

它等价于:

CREATEVIEWCA_Authors(au_id,au_fname,au_lname,city)

WHERE(state='

【例3.57】创建一个包含了书名和其出版社名称及所在城市的视图Title_Publishers。

CREATEVIEWTitle_Publishers

SELECTt.title,p.pub_name,p.city

FROMtitlesast,publishersasp

WHEREp.pub_id=t.pub_id

•说明:

除了可以在单个表上定义视图,还可以把视图定义在多个表上。

3.5.3更新视图

•对视图来进行更新、插入和删除操作实际上最终都会直接作用于基本表。

但是,在大部分数据库系统中,这些更新操作会受到基本表约束的限制(如视图中没有包含基本表中的非空值的列,对视图的插入操作就不能对该列添加数据,最终导致基本表的插入操作失败)。

3.5.4删除视图

•一般的语法格式为:

;

•与删除基本表不同,虽然视图的数据来自于基本表,但是对视图的删除仅仅对视图在系统数据库中的定义进行删除。

但是这种删除并不会级联删除引用了该视图的其他视图,所以必须手动将它们一一删除,这样才不会导致用户对它们操作时出错。

【例3.58】删除【例3.56】中创建的视图CA_Authors。

DROPVIEWCA_Authors;

3.6数据控制

3.6.1权限授予

•GRANT语句是授权语句,使用它可以向用户授予可以操作数据对象的权限,使用GRANT语句的一般语法格式为:

GRANT<

权限>

[,<

]…

[ON<

对象类型>

<

对象名>

]

TO<

用户>

[<

]…

[WITHGRANTOPTION];

•其含义为将指定对象上的权限授予指定用户。

WITHGRANTOPTION关键词表示被授予权限的用户可以把他获得的权限授予其他用户。

•对不同类型的操作对象有不同的操作权限,常见的操作权限如下:

对属性列和视图的操作权限(SELECT、INSERT、UPDATE、DELETE、ALLPRIVILEGES)。

对基本表的操作权限(SELECT、INSERT、UPDATE、DELETE、ALTER和INDEX、ALLPRIVILEGES)。

对数据库基本表的创建权限(CREATETAB)。

【例3.59】将authors表的更新权限授予用户frogst。

GRANTUPDATE

ONTABLEauthors

TOfrogst

【例3.60】将employee表的全部权限授予用户longman。

GRANTALLPRIVILEGES

ONTABLEemployee

TOlongman

说明:

使用ALLPRIVILEGES关键词在这里表示数据对象employee上的所有权限。

•有一些权限可以针对表或者视图中的单个字段。

这些权限如:

UPDATE、INSERT等。

这个时候就需要将需要授权的字段放在权限后面用括号括起来。

【例3.61】将对employee表的列job_lvl的修改权限授予用户frogst。

GRANTUPDATE(job_lvl)

WITHGRANTOPTION

3.6.2权限收回

•授予的权限可以由DBA或其他授权者用REVOKE语句收回,REVOKE语句的一般格式为:

REVOKE语句<

[,〈权限〉]…

FROM<

[,<

]…;

[CASCADE]

◆说明:

CASCADE关键词表示级联收回权限。

如果frogst将这个权限授予了其他用户,那么其他用户的这个权限也一并被系统收回。

SQL通过GRANT和REVOKE就提供了灵活的权限管理机制,使数据库管理员根据需要自主地分配权限,数据库管理员拥有所有的权限,因为他是超级用户。

除数据库管理员拥有超级权限以外,创建数据对象也相应地拥有此数据对象的所有权限,并且可以将这些权限授予他人。

【例3.62】收回【例3.59】中授予frogst的UPDATE权限。

REVOKEUPDATE

FROMfrogst

【例3.63】收回【例3.61】中授予frogst的权限。

REVOKEUPDATE(job_lvl)

CASCADE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1