数据库试验报告册_第1页
数据库试验报告册_第2页
数据库试验报告册_第3页
数据库试验报告册_第4页
数据库试验报告册_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——数据库试验报告册‘安全性’

2)建立名为“LiYong〞的登录用户、数据库用户,默认访问SCHOOL数据库,密码为

“abcd〞;

execsp_addlogin'liyong','abcd','school'execsp_grantdbaccess'liyong'

3)取消“LiYong〞用户;

execsp_revokedbaccess'liyong'execsp_droplogin'liyong'

7.先以sa帐号登录,要实现如下表的权限管理,请按先后顺序写出相应的SQL语句(假设所有用户尚未定义,其密码均为123),并加以必要的说明。编号授权用户名被授权用户名数据库对象名12345678

15

允许的操作类型SELECTALLSELECTSELECTSELECTSELECTINSERTUPDATE能否转授权不能不能不能能能不能能不能SASASASAU3U4SASAU1U2PUBLICU3U4U5U6U7StudentsStudentsChoicesStudentsStudentsStudentsChoicesStudents.sname《数据库原理》试验班级:学号:姓名:execsp_addlogin'u1','123','school'execsp_grantdbaccess'u1'把select权限授给U1GrantselectOnstudentsTou1;

把所有权限授给U2GrantallprivilegesOnstudentsToU2

把choices表的select权限授给publicGrantselectOnchoicesTopublic

把select权限授给U3GrantselectOnstudentsTou3

Withgrantoption;

把select权限授给U4,以u3登陆GrantselectOnstudentsTou4

Withgrantoption;

把select权限授给U5,以u4登陆GrantselectOnstudentsTou5

Withgrantoption;

把choices表的insert权限授给u6GrantinsertOnchoicesTou6

Withgrantoption;

把Students.sname的权限授给u7Grantupdate(sname),selectOnstudentsTou7验证:

updatestudentssetsname='asd'

wheresid='700045678'

16

《数据库原理》试验班级:学号:姓名:8.创立在SCHOOL数据库中choices上的视图CS_View,授权给计算机系讲授课程号

为’10010’的数据库用户“LiYong〞,让其具有视图上的SELECT权限;

createviewcs_viewas

select*fromchoiceswherecid='10010'

grantselectoncs_viewtoliyong

9.对视图CS_View上的score属性列的UPDATE权限授予用户“LiYong〞,可以修改学生成

绩,但不能修改其它属性列的值;

grantupdateondbo.[cs_view]([score])toliyong

select*fromcs_view

updatecs_viewsetscore=90whereno=500024940

10.假设SCHOOL数据库中,每个学生的登录名都为自己在STUDENTS表中的sid,实现每

个学生只能查询自己选课信息,不能查询别人的成绩,也不能修改自己的成绩。createviewv1as

select*fromchoiceswheresid=current_userwithcheckoption

grantselectonv1topublic11.终止本次试验

三、试验课后训练

1.自行练习试验指导书P81综合案例1;

17

《数据库原理》试验班级:学号:姓名:2.自行练习试验指导书P122综合案例;四、试验报告

1.授权给public与授权给指定用户有什么区别?实际应用中,哪个更安全些?

授权给public是授给本地数据库中的所有用户,实际应用中授权给指定用户更安全些。用户名public指系统的所有当前用户和将来的用户,因此,对pubilc的授权隐含着对所有当前用户和将来用户的授权。在默认状况下,被授权的用户无权把此权限授予其他用户,但SQL允许使用授予权限来指定权限的接受者可以进一步把权限授予其他用户,假使被收回权限的用户已经把权限授予了其他用户,权限的收回会更加繁杂数据库中的每个用户都属于public数据库角色。假使想让数据库中的每个用户都能有某个特定的权限,则将该权限指派给public角色。假使没有给用户专门授予对某个对象的权限,他们就使用指派给public角色的权限2.SQLSERVER中的角色有什么作用?

数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。使用角色来管理数据库权限可以简化授权的过程。SQLServer提供了两种类型的数据库角色:固定的数据库角色和用户自定义的数据库角色。服务器角色是指根据SQLServer的管理任务,以及这些任务相对的重要性等级来把具有SQlServer管理职能的用户划分为不同的用户组,每一组所具有的管理SQLServer的权限都是SqlServer内置的,即不能对其进行添加、修改和删除,只能向其中参与用户或者其他角色。数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色。

3.试验总结(试验过程中出现的问题、解决方法、结果如何或其它)

在本次试验中,遇到了不少问题,在本次试验中主要陈述了数据库的安全性与完整性,数据库的安全性和完整性对数据库至关重要!其中数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。数据库的完整性是指数据的正确性和相容性。数据库的安全性主要通过数据库的安全控制实现,安全控制的方法和手段有好多,最重要的是存取控制技术、视图技术和审计技术。

18

《数据库原理》试验班级:学号:姓名:试验四——数据库编程一、试验目的

1.把握ODBC的配置;

2.能编写简单的存储过程和函数,并调用;

二、试验预习内容

上机前请预习以下内容,并在空白处填写相应的步骤或命令。

1.配置ODBC,使用VFP中的表单,查询SCHOOL数据库中STUDENTS表中所有记录。2.编写存储过程并调用,请写出相应命令;

1)在查询分析器中,编写存储过程usp_get_stuinfo,使用一个名为@xm能够传送进存储过

程的参数。允许以学生的姓名查询该生的基本信息;createprocedureusp_get_stuinfo@xmchar(30)as

select*fromstudentswheresname=@xm

2)在查询分析器中调用存储过程查询“赵飞〞同学的基本信息的语句;

Execusp_get_stuinfo'赵飞';

execusp_get_stuinfo@xm='赵飞';

3.编写函数并调用,请写出相应命令;

1)在查询分析器中,定义内联表值函数Fun,用于返回各职称的教师基本信息;第一步:altertableteachersaddidenchar(30)其次步:updateteacherssetiden='教授'

wheretid='200003125'

createfunctionteacherinformation(@idchar(30))returnstableasreturn(

select*fromteacherswhereiden=@id)

2)在查询分析器中,使用Fun进行选择以获得“教授〞职称的教师基本信息;

select*fromteacherinformation('教授')

3)在查询分析器中,编写标量函数Func,用于返回两个整数中的最大值;

createfunctionfunc(@aint,@bint)returnsintasbegin

19

《数据库原理》试验班级:学号:姓名:declare@cintif@a>@bset@c=@aelse

set@c=@breturn@cend

4)在查询分析器中,调用此函数,输出两个数中的最大值;

printdbo.func(29,148)

5)在SQLSERVER中定义函数FUNS,返回指定参数的平方,配置好ODBC后,在VFP中

调用FUNS并输出结果;4.终止本次试验

三、试验课后训练

1.自行学习试验指导书P130;2.自行学习试验指导书P137;3.自行练习试验指导书P165;(P1674.6.3试验内容要完成)四、试验报告

1.什么是ODBC?

2.内联表值函数、标量函数、存储过程有什么区别?

内联表值函数:

用户定义表值函数返回表数据类型,没有函数主体,表是单个select语句的结果集。标量函数:

标量函数返回一个确定类型的标量值。其返回值类型为除text、ntext、image、cursor、timestamp和table类型外的其它数据类型。函数体语句定义在begin-end语句内,其中包含了可以返回值的Transact-SQL命令。存储过程:

存储过程(StoredProcedure)是在大型数据库系统中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论