数据库实验四五 - 图文
更新时间:2024-02-02 01:14:01 阅读量: 教育文库 文档下载
- 数据库实验一推荐度:
- 相关推荐
一、实验目的:
了解存储过程和事务的作用,基本掌握存储过程和事务的创建和使用方法 了解触发器的知识与作用,基本掌握触发器的创建方法 二、实验内容: 1、存储过程
(1)创建一个名为“proc-{学号}-1”的存储过程,用于查看学生表的所有信息。然后调用该存储过程。
create procedure proc_12267027_1 as begin select *
from student_12267027 end; exec proc_12267027_1
(2)创建一个名为“proc-{学号}-2”的存储过程,用于向学生表的所有字段添加一条记录,记录内容由调用时确定,然后调用该存储过程。
create procedure proc_12267027_2 (@Sno int,@Sname char(10), @Ssex char(8),@Sage int, @Sdept char(2)) as begin insert into student_12267027 values(@Sno,@Sname,@Ssex,@Sage,@Sdept)end; exec proc_12267027_2 @sno='200215127',@sname='李乐', @ssex='男',@sage='20',@sdept='CS'; (3)创建一个名为“proc-{学号}-3”的存储过程,用于删除学生表中指定学号的记录,具体学号由调用时决定,然后调用该存储过程。
create procedure proc_12267027_3(@sno char(10)) as begin
delete from student_12267027 where Sno=@sno end;
exec proc_12267027_3 '200215127'; (4)修改存储过程“proc-{学号}-4”,用于查询不小于指定成绩的学生的基本信息,具体成绩由调用时决定。 create procedure
proc_12267027_4(@grade int) as select *
from student_12267027,score_12267027 Wherestudent_12267027.Sno=score_12267
027.Sno and Grade>=@grade; exec proc_12267027_4 '85'; 2、触发器
(1)创建一个名为“trig-{学号}-1”的触发器,当向学生表添加记录时,该触发器自动显示学生表的所有信息。
create trigger trig_12267027_1 on student_12267027 for each row
as begin select * from student_12267027 end; insert into student_12267027 values('200215129','林立','男',19,'IS')
(2)创建一个名为“trig-{学号}-2”的触发器,当试图向学生表添加、修改或删除记录时,该触发器自动显示如下信息:“对不起,你无权进行更新操作!”。
create trigger trig_12267027_2 on student_12267027
instead of insert,update,delete as print'对不起,你无权执行该操作!' delete from student_12267027 where Sname='李勇'
(3)创建一个名为“trig-{学号}-3”的触发器,当向学生表删除记录时,该触发器自动删除成绩表中与之相关的所有记录。 create trigger trig_12267027_3 on student_12267027 for delete as delete from score_12267027
where Sno in (select Sno from deleted) delete from student_12267027 where Sname='五一'
(4)创建一个名为“trig-{学号}-4”的触发
器,当向成绩表添加记录时,该触发器自动显示与该记录相关的学生的学号、姓名和班级。
create trigger trig_12267027_4 on score_12267027 for insert as select Sno,Sname,Sdept from student_12267027
where Sno =(select Sno from inserted) insert
into score_12267027(Sno,Cno,Grade) values('200215125','C3','80')
4.数据库对象操作权限的授予和回收:为数据库用户zhang授予学生表的增、删、改、查权限。
一、实验目的
掌握SQL Server2000三级安全体系及验证模式的设置
掌握SQL Server2000服务器登录帐号及数据库用户帐号的管理
掌握创建用户自定义数据库角色并为其授权
掌握为数据库用户授权的方法 二、实验内容
1、下列操作通过企业管理器实现 1.创建SQL Server服务器登录账号
2、下列操作通过查询分析器实现(也就是通过命令实现) 用户权限操作
1.创建用户 User_{学号}_1 2.创建用户 User_{学号}_2 exec sp_addlogin
'User_12267027_1','pass','xsxk_12267 27' go use xsxk_12267027 exec sp_grantdbaccess'User_12267027_1' exec sp_addlogin
'User_12267027_2','pass','xsxk_12267027' go use xsxk_12267027 exec sp_grantdbaccess'User_12267027_2'
2.创建数据库用户:为“学生选课”表添加
用户:zhang。
3.把student_{学号}表的select权限授给用户User_{学号}_1
grant select on student_12267027 to User_12267027_1
3.创建数据库角色:为“学生选课”数据库创建一用户自定义数据库角色s_c_reader,该角色的权限是可以查询学生表及选课成绩表的信息。
4.把score_{学号}表的insert权限授给用户User_{学号}_2
grant insert on score_12267027 to User_12267027_2
9.再插入一条选课记录(‘200215124’,’C3’,78),此时没有insert权限,不能插入记录
insert into score_12267027 values('200215124','C3','78')
5.使用User_{学号}_2帐号登录 退出->重登
6.利用select * from score_{学号}进行查询,应该出现“没有权限”的提示,这是因为没有授权User_{学号}的select权限的原因
select * from score_12267027
角色权限操作
1.首先创建一个角色 Role_{学号} exec sp_addrole Role_12267027
2.将student_{学号}的select, update, insert权限授给角色Role_{学号} grant select,update,insert
on student_12267027 to Role_12267027
7.插入一条选课记录(‘200215124’,’C2’,89),因为有insert权限,因此可以插入
insert into score_12267027 values('200215124','C2','89')
3.创建用户 User_{学号}_3 4.创建用户 User_{学号}_4 exec sp_addlogin
'User_12267027_3','pass','xsxk_12267027' go use xsxk_12267027 exec sp_grantdbaccess'User_12267027_3' exec sp_addlogin
'User_12267027_4','pass','xsxk_12267027' go use xsxk_12267027 exec sp_grantdbaccess'User_12267027_4'
8.把User_{学号}表的insert权限收回
revoke insert on score_12267027 from User_12267027_2 cascade
5.将角色Role_{学号}授予用户User_{学号}_3
6.将角色Role_{学号}授予用户User_{学
号}_4
exec sp_addrolemember
'Role_12267027','User_12267027_3' exec sp_addrolemember
'Role_12267027','User_12267027_4'
7.使用User_{学号}_3登录,利用select * from score_{学号}进行查询,得到查询结果
select * from student_12267027
8.收回角色 Role_{学号}的select权限 revoke select on student_12267027 from Role_12267027
9.使用User_{学号}_3登录,利用select * from score_{学号}进行查询,应该出现“没有权限”的提示
select * from student_12267027
正在阅读:
数据库实验四五 - 图文02-02
物流信息管理系统毕业论文07-12
爸爸给我的爱作文600字06-28
2012年第二期保荐代表人培训记录之五--主板财务部分07-24
甘肃省张掖市2015年高三4月诊断考试理综物理试卷04-12
2019年高三英语一轮复习单元训练金卷(B)英语1 Units 3-503-19
智慧旅游可行性研究报告201506-23
会计信息造假及审计规范开题报告10-12
没心没肺,才能活着不累02-10
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 实验
- 图文
- 数据库
- 四五
- asp网络程序设计
- 企业财务评价体系探讨
- 衡阳福建商会会刊(创刊号)策划简案
- 高级职称评审单位推荐意见
- 《森林培育学》试题
- 校长奖励基金暂行办法(试行)
- 名词解释与简答要点1-3
- 第六章变动成本法习题和答案课件
- 江苏省省级节能减排(建筑节能和建筑产业现代化)专项引导资金管理办法
- VF基础知识近三年高考题
- 2016-2022年中国水利信息化服务行业监测及发展战略研究报告 - 图文
- 天目山常见方茎叶对生植物报告
- 专题17 短文改错-2018年高考英语母题题源系列(原卷版)
- 中考物理分类汇编
- 2018北京市房屋租赁合同(自行成交版)
- 山东省聊城市2018届高三二模理综化学试题 含答案
- 联系方式
- 数学分析2
- 2013年中考数学专题复习 第28讲 投影与视图精品导学案 新人教版
- 言语理解与表达专题练习7