数据库实验指导书2009(8)

2019-02-20 22:15

例1:创建一个AFTER触发器,要求实现以下功能:在sc表上创建一个插入、更新类型的触发器scoreCheck,当在grade字段中插入或修改考试分数后,触发该触发器,检查分数是否在0~100之间。 Use student

if exists (select name from sysobjects where name = ‘scoreCheck’ and type =’TR’)

drop trigger scoreCheck /*创建触发器*/

create trigger scoreCheck on sc

for insert,update as

if update(score)

print ‘AFTER触发器开始执行??’ begin

declare @ScoreValue real

select @ScoreValue=(select score from inserted) if @ScoreValue>100 or @ScoreValue<0

print ‘输入的分数有误,请确认输入的考试分数!’ end

创建了scoreCheck触发器之后,在查询分析器中输入以下SQL语句:

use student

print ‘在sc中插入记录时触发器执行结果:’ /*在屏幕上显示引号中内容*/ print ‘’ /*在屏幕上显示一空行*/ insert into sc

values(‘20030156’,’01’,-40) /*在屏幕上显示输入错误信息*/ update sc

set score=123

where sno=’20030101’and cno=’1’ /*在屏幕上显示输入错误信息*/

例2:创建一个INSTEAD OF触发器,要求实现以下功能:在c表上创建一个删除类型的触发器NotAllowDelete,当在c表中删除记录时,触发该触发器,显示不允许删除表中数据的提示信息。

Use student

if exists (select name from sysobjects

where name = ‘NotAllowDelete’ and type =’TR’) drop trigger NotAllowDelete /*创建触发器*/

create triggerNotAllowDelete on c

instead of delete as

print ‘INSTEAD OF触发器开始执行??’

print ‘本表中的数据不允许被删除!不能执行删除操作!’ NotAllowDelete触发器后,在查询分析器中输入以下SQL语句:

35

use student

delete from c where cno=20030101’

/*屏幕上显示NSTEAD OF触发器开始执行??*/

(五) 触发器的查看

? 使用企业管理器查看查看触发器

在企业管理器中,展开指定的服务器和数据库,选择指定的数据库和表,并右击要查看的表,从弹出的快捷菜单中选择“所有任务”│“管理触发器”选项,在“触发器属性”对话框中,从名称下拉列表框中选择要查看的触发器名称,在下面的文本框中就会显示该触发器的定义语句。

? 使用T_SQl查看触发器: sp_help ‘触发器名称’ 用于查看触发器的一般信息 sp_helptext ‘触发器名称’ 用于查看触发器的正文信息

sp_depends ‘触发器名称’

用于查看指定触发器所引用的表或指定的表涉及到的所有触发器。

(六) 触发器的删除

? 使用企业管理器删除存储过程

在企业管理器中,右击要删除的触发器,从弹出的快捷菜单中选择“所有任务”│“管理触发器”选项,在“触发器属性”对话框中,从名称下拉列表框中选择要删除的触发器,然后单击“删除”按钮,即可删除该触发器。 ? 使用T_SQl删除

drop TRIGGER {触发器名} [,?n] 实验习题:

实验报告要求: ? ? ?

实验目的 实验内容及步骤 实验习题的源程序清单

? 写出在实验过程中遇到的问题及解决方法 要求字迹端正、条理清晰、概念正确

36

实 验 九

实验名称:数据库的安全性 实验学时:2

实验目的:

1) 了解登录账户的管理理念与具体方法。

2) 了解数据库用户的管理的要则。 3) 了解用户权限管理的内涵与方法。 实验内容:

(一) 认证模式浏览与设置

在企业管理器中选中展开一个服务器组,右击某个服务器实例,再单击“属性”,启动企业管理器下的SQL SERVER属性对话框,通过SQL SERVER属性下的安全选项卡浏览与设置认证模式。SQL Server提供以下两种身份验证模式。

?

Windows 身份验证模式

SQL Server数据库系统通常运行在Windows NT服务器平台上,而NT作为网络操作系统,本身就具备管理登录、验证用户合法性的能力,Windows身份验证模式正是利用了这一用户安全性和账户管理的机制,允许SQL Server也可以使用Windows的用户名和密码。在这种模式下,用户只需要通过Windows的身份验证,就可以连接到SQL Server,而SQL Server本身也就不需要管理一套登录数据。

? 混合模式(Windows身份验证和SQL Server身份验证)

SQL Server可以设置其自己的SQL Server登录账户。用户登录时,SQL Server将对用户的账户进行验证。如果SQL Server未设置该登录账户,或该账户的用户名、密码不正确,则身份验证将失败,而且用户将收到错误信息。混合模式允许用户使用Windows NT安全性或SQL Server安全性连接到SQL Server,这就意味着用户可以使用他的Windows账户,或使用他的SQL Server账户登录到SQL Server系统。

? 身份验证模式的选择

对于Windows NT的用户,既可以使用Windows身份验证模式,也可以使用SQL Server的身份验证模式。而对于Windows 9.x的用户只能使用SQL Server的身份验证模式。应用程序开发人员和数据库用户也许更喜欢“SQL Server身份验证”模式,因为他们可以通过对登录账户和密码的管理实现权限控制。 (二) 新建登录账户

SQL Server有以下两个默认的登录账户:

37

sa:即系统管理员(system administrator)账户,该账户在SQL Server系统和所有数据库中拥有所有的权限。

BUILTIN\\Administrators:该账户为Windows NT系统管理员账户,具有与sa有相同的权限。

1.在企业管理器中创建登录账户 展开指定服务器实例下的“安全性”文件夹,用鼠标右击“登录”项,在弹出菜单中选择“新建登录”命令,打开并设置“新建登录”对话框。

2.使用企业管理器修改账户

展开指定服务器实例下的“安全性”文件夹,用鼠标单击“登录”项,可以在右侧窗格中查看到已经存在的SQL Server登录账户。用鼠标右键单击登录账户名,在弹出的快捷菜单中选择“属性”命令,打开“登录属性”对话框,在该对话框中可以对账户信息进行修改。

3.使用企业管理器删除账户

在企业管理器中,用鼠标右键单击SQL Server账户,在弹出的快捷菜单中选择“删除”命令,在弹出的确认对话框中单击“是”按钮,可以删除该账户。 (三) 创建、查看、删除数据库用户

38

拥有登录账户的用户才能通过SQL Server身份验证,从而获得对SQL Server实例的访问权限。但通过SQL Server的身份验证并不代表用户就能够访问SQL Server中的数据,要访问某个具体的数据库,还必须使登录账户成为某数据库的用户。

两个特殊的数据库用户:

? Dbo:数据库所有者,是具有在数据库中执行所有活动的权限的用户,它与登录账户

sa相对应。

? Guest:允许没有用户账户的登录访问数据库。当满足下列所有条件时,登录采用

guest用户的标识。

? 登录有访问SQL Server实例的权限,但没有通过自己的用户账户访问数据

库的权限。

? 数据库中含有guest用户账户。

(1)使用企业管理器创建数据库用户

展开指定的数据库,选择“用户”项,可以查看该数据库中用户的信息。默认情况下,用户创建的数据库中只有一个用户,即dbo。用鼠标右击“用户”项,从快捷菜单中选择“新建数据库用户”命令,打开“新建用户”对话框,如下图。

(2)使用企业管理器修改数据库用户

右击数据库用户名,从弹出菜单中选择“属性”命令,打开“用户属性”对话框。(与“新建用户”对话框类似,但其“权限”按钮变为有效)可以在此对话框中修改用户信息。 (3)使用企业管理器删除数据库用户 右击数据库用户名,从弹出菜单中选择“删除”命令。 (四) 权限管理

用鼠标右击一个表、视图或存储过程,在弹出菜单中选择“所有任务→管理权限”如图:

39


数据库实验指导书2009(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学语文阅读写作一体化的教学策略

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: