江苏开放大学《数据库系统原理 060217》第四次过程性考核作业(10~12单元)实验报告3数据库完
江苏开放大学
实验报告
学 号:
姓 名:
课程代码: 060217
课程名称: 数据库系统原理
评阅教师:
《数据库系统原理》实验报告
实验名称 | 实验3 数据库完整性和安全控制 | 评分 | |
实验目的 | 1.理解三类完整性的检查和违约处理 2.掌握SQL Server中定义完整性的方法 3.理解数据库的安全机制 4.掌握SQL Server中的安全控制方法 | ||
实验内容 | 数据库中有仓库和产品2个关系模式,设一种产品只保存在一个仓库。 仓库(仓库号,仓库名,管理员,总数量) 产品(产品号,产品名,仓库号,数量) 任务一:数据库完整性控制 1.创建产品表,定义以下完整性约束:产品号为主键;数量范围是0~1000;仓库号是外键,取值要参照仓库表的仓库号,并定义以下参照完整性违反处理规则:当要删除一个仓库时,如果该仓库有产品存放,则不能删除该仓库;当修改一个仓库的仓库号时,级联修改存放在该仓库的产品的仓库号。 2.创建触发器T1实现完整性约束:当在产品表中插入元组时,自动计算并更新仓库表中储存该产品仓库的总存储量,以保持一致。 3.验证以上定义的完整性约束。 任务二:数据库安全控制 1.授予用户张山对产品表的查询权限及产品数量的修改权限。再将张山对数量的修改权限予以撤销。 2.授予用户张山对“张山”所管理的仓库的查询和修改权限。 3. 验证以上设置的操作权限。 | ||
实验环境 | |||
任务一 | 数据库完整性控制 |
实验步骤 和 实验结果 | 0.实验准备:执行本次实验的实验指导书中给出的命令,准备实验所需的表及数据。 1.在查询编辑器中输入以下语句创建“产品”表,并按要求定义完整性约束和违反处理规则。执行该语句。 语句: 2. 输入以下语句创建触发器T1,实现复杂的完整性约束。执行语句。 语句: 3. 执行以下语句,以验证定义的完整性约束。 (1)insert into 产品 values('P1001','显示器','001',10) 查看仓库表的变化(与触发器有关),变化情况如下: (2)insert into 产品 values('P1001','主机','002',10) 错误信息(应与主键约束有关)如下: (3)insert into 产品 values('P1002','主机','002',-10) 错误信息(应与CHECK约束有关)如下: (4)update 仓库 set 仓库号='101' where 仓库号='001' 查看产品表变化(与外键约束及违反处理规则有关),变化情况如下: |
任务二 | 数据库安全控制 |
实验步骤 和 实验结果 | 0.实验准备:参照本次实验的实验指导书中给出的步骤,创建数据库服务器的登录名,和MYDB3数据库的操作用户“张山”。 1. 在查询编辑器中输入以下语句并执行,先授予张山对产品表的查询权限及产品数量的修改权限;再将张山对数量的修改权限予以撤销。 语句: |
实验小结 | |
教师评语 |
微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。