数据库 实验八 数据库角色和权限

  • 数据库角色和权限
  • 答案链接链接

  • 2
  •  
  •  
  •  

通过本实验的学习,使学生能够掌握建立SQL Server数据库用户的方法,理解SQL Server的数据库角色病能够进行角色的定义,理解SQL Server的数据库权限,能够分配权限

二、实验内容

1、理解数据库角色和权限

  1. 在SQL Server Management Studio中创建三个登录帐户:log1、log2、log3。
  2. 利用第3章建立的LoanDB数据库,用log1登录,能否操作LoanDB数据库?为什么?
  3. 将log1、log2、log3映射为LoanDB数据库中的用户。
  4. 用log1登录,能否操作LoanDB数据库?为什么?
  5. 授予log1、log2、log3具有对BankT、LegalEntityT、LoanT三张表的查询权。
  6. 分别用log1、log2、log3登录,对上述三张表执行查询。
  7. 授予log1具有对BankT表的插入、删除权限。
  8. 用log2登录,对BankT表插入一行记录,会出现什么情况?
  9. 用log1登录,对BankT表插入一行记录,会出现什么情况?

(10)在LoanDB数据库中建立用户角色:role1,并将log1、log2添加到此角色中。

(11)让log2具有LoanDB数据库中的全部数据的查询权,比较好的实现方法是什么?

(12)如果拒绝role1查询BankT表,则log1、log2、log3是否有权查询BankT表?为什么?

 

2、请完成下题

新建一个数据库TGDB,然后在SQL Server中创建“SQL Server身份验证”模式的登录帐号:TG_User,其中账户密码为空,默认数据库为Master。并完成如下操作:

  1. 让TG_User成为TGDB数据库的合法用户。
  2. 在TGDB数据库中建用户自定义角色:MyRole,让TG_User成为MyRole角色中的成员。
  3. 用较好的方法授予MyRole在TGDB数据库中具有所有用户表的查询权。

三、实验报告

将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。

答案链接链接

实验1 数据库及数据定义 1创建一个名为XSCJ的数据库,其初始大小为5MB,最大大小10MB,允许数据库自动增长,增长方式是按10%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。 2、将以上XSCJ数据库的主数据文件的最大大小改为不限制。 3、参照教材82页例3.5、例3.6、例3.7分别建立Student表、Course表SC表,并录入数据库表中相应元组。 4、分别采用SQL编程模式设计模式修改Course表,为其增加一列开课学期,数据类型自行定义。 5、为Course表的Cname列建立一个唯一索引,索引名Cname_idx。 6、分离数据库XSCJ并拷贝文件至U盘保存好,用于下次实验;然后再将其附加上。 7、删除唯一索引Cname_idx。 8、删除基本表Student。 实验2 数据查询 将上次实验课的学生成绩数据库(XSCJ)附加到SQL SERVER中,录入数据后做如下查询。 1) 查询选修了课程的学生的学号; 2) 查询全体学生的姓名出生年份,并将列别名改为XMCSNF; 3) 查询年龄在18到20(包括18岁20岁)之间学生的学号、姓名系。 4) 查询信息系(IS)、数学系(MA)计算机科学系(CS)学生的姓名性别。 5) 用LIKE查询课程名为DB_ S的课程号学分。 6) 查所有有成绩的学生学号课程号。 7) 查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄升序排列 8) 查询选修了课程的学生人数。 9) 计算1号课程的学生平均成绩。 10) 查询有2人以上(含2人)同学选修课程的课程号。 11) 查询1号课程的间接先修课。 12) 查询每个学生的学号、姓名、选修的课程名及成绩。 13) 找出每个学生高于他选修课程平均成绩的课程号。 实验3 数据更新视图 将学生成绩数据库(XSCJ)附加到SQL SERVER中,完成如下实验任务。 1) 将一个新学生元组(学号:95007;姓名:张娜丽;性别:女;所在系:IS;年龄:18岁)插入到Student表中。 2) 插入一条选课记录,插入一条选课记录( '95007','1 ')3) 对每一个系,求学生的平均成绩,并把结果存入数据库。 (建立一张表,然后通过子查询将结果插入表中。) 4)将全体学生的年龄增加一岁。 5)将信息系全体学生的成绩置零。 6)删除95001学生的记录。 7)删除信息系所有学生的选课记录。 8)建立计算机学生的视图CS_S。(视图中包括学号,姓名,年龄,系),并要求进行修改插入操作时仍需保证该视图只有计算机系的学生。(视图中包含的属性名称自拟) 9)向CS_S视图中插入分别插入两条信息,如果不能插入说明原因。 (学号:95002;姓名:李华华;所在系:IS;年龄:18岁) (学号:95003;姓名:王冬冬;所在系:CS;年龄:20岁) 10)利用CS_S视图完成以下查询。 查询计算机学生年龄小于20岁的学生(学号、年龄) 查询计算机系选修了2号课程的学生(学号、姓名)实验4 数据库的安全性 实验内容 将学生成绩数据库(XSCJ)附加到SQL SERVER中,完成如下实验任务。 (1)在SQL Server Management Studio创建三个登录帐户log1log2log3。 (2)利用前面建立的XSCJ数据库,用log1登录,能否操作XSCJ数据库?为什么? (3)将log1log2log3映射为XSCJ数据库中的用户。 注意:此映射步骤会为登陆名log1在XSCJ中自动建立同名数据库用户log1log2log3同理。 (4)用log1登录,能否访问XSCJ数据库?为什么? (5)授予log1log2log3具有对Student、Course、SC三张表的查询权。并且log1有权将查询SC表的权限授予其他用户。 (6)分别用log1log2log3登录,对上述三张表执行查询。 (7)分别用log1log2登陆,在查询分析器中执行以下语句,用来授予log3 对SC表的访问权限,会出现什么情况? 实验5 数据库的完整性 将学生成绩数据库(XSCJ)附加到SQL SERVER中,完成如下实验任务。 (1)录入或变更数据,验证所建立的实体完整性规则及其违约处理。 (2)录入或变更数据,验证所建立的参照完整性规则及其违约处理。 (3)自行设定某些列,使得其不允许取空值。 (4)自行设定某些列,使得该列值不允许重复。 (5)自行设定某些列的默认值。 (6)用Check短语限定考试成绩的取值范围在0到100之间。 (7)为Student表设计一个触发器,使得新增一个学生时,自动为其分配一个学号。 实验6 数据库编程
数据库角色权限 2 通过本实验的学习,使学生能够掌握建立SQL Server数据库用户的方法,理解SQL Server数据库角色病能够进行角色的定义,理解SQL Server数据库权限,能够分配权限 二、实验内容 1、理解数据库角色权限SQL Server Management Studio创建三个登录帐户log1log2log3。 利用第3章建立的LoanDB数据库,用log1登录,能否操作LoanDB数据库?为什么? 将log1log2log3映射为LoanDB数据库中的用户。 用log1登录,能否操作LoanDB数据库?为什么? 授予log1log2log3具有对BankT、LegalEntityT、LoanT三张表的查询权。 分别用log1log2log3登录,对上述三张表执行查询。 授予log1具有对BankT表的插入、删除权限。 用log2登录,对BankT表插入一行记录,会出现什么情况? 用log1登录,对BankT表插入一行记录,会出现什么情况? (10)在LoanDB数据库中建立用户角色:role1,并将log1log2添加到此角色中。 (11)让log2具有LoanDB数据库中的全部数据的查询权,比较好的实现方法是什么? (12)如果拒绝role1查询BankT表,则log1log2log3是否有权查询BankT表?为什么? 2、请完成下题 新建一个数据库TGDB,然后在SQL Server创建SQL Server身份验证”模式的登录帐号:TG_User,其中账户密码为空,默认数据库为Master。并完成如下操作: 让TG_User成为TGDB数据库的合法用户。 在TGDB数据库中建用户自定义角色:MyRole,让TG_User成为MyRole角色中的成员。 用较好的方法授予MyRole在TGDB数据库中具有所有用户表的查询权。 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。 数据库备份恢复 2 通过本实验的学生,使学生了解SQL Server数据库备份方法,具备将SQL Server数据库进行备份数据库备份进行数据恢复的能力。 二、实验内容 创建永久性备份设备:backup1,backup2,两个备份设备均存放在默认路径下。 按顺序完成下列备份操作: 将LoanDB数据库完全备份到backup1上; 对LoanDB数据库中的贷款表中的数据进行一些修改,然后将LoanDB数据库差异备份到backup2上; 在贷款表中插入一行新记录,然后将LoanDB数据库差异备份到backup2上; 在贷款表中插入一行新的记录,然后将LoanDB数据库日志备份到backup2上; 在贷款表中删除一行记录,然后对LoanDB数据库日志备份到文件上(d:\file1.bak); 在贷款表中删除一行记录。 对LoanDB数据库进行恢复。恢复顺序是什么样的?如果在恢复之前对数据库进行日志备份,则恢复完成后,第2题第(6)步删除的记录在数据库中存在不?如果在恢复之前不再对数据库进行日志备份,则恢复完成后,第2题第(6)步删除的记录在数据库中存在不? 实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值