西北工业大学大数据库实验报告材料3.docx
- 文档编号:25828626
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:13
- 大小:173.30KB
西北工业大学大数据库实验报告材料3.docx
《西北工业大学大数据库实验报告材料3.docx》由会员分享,可在线阅读,更多相关《西北工业大学大数据库实验报告材料3.docx(13页珍藏版)》请在冰豆网上搜索。
西北工业大学大数据库实验报告材料3
《数据库原理》实验报告
题目:
实验三:
数据完整性与安全性控制
学号
姓名
班级
日期
2014302692
孟玉军
10011402
16.10.18
1.实验内容、步骤以及结果
1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。
(18分,每小题3分)
(1)非空约束:
为出生日期添加非空约束。
(2)主键约束:
将学号(sno)设置为主键,主键名为pk_sno。
(3)唯一约束:
为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。
(4)缺省约束:
为性别(ssex)添加默认值,其值为“男”。
(5)CHECK约束:
为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查条件为:
成绩应该在0-100之间。
(6)外键约束:
为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表和C表,外键名称分别为fk_sno,fk_cno。
2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的
(2)-(6)小题.(15分,每小题3分,提示:
altertableaddconstraint)
(2)
altertableS
addconstraintpk_snoprimarykey(sno)
(3)
altertableS
addconstraintuk_snameunique(sname)
(4)
altertableS
addconstraintuk_sexdefault('男')forssex
(5)
altertableSC
addconstraintck_gradecheck(gradebetween0and100)
(6)
altertableSC
addconstraintfk_snoforeignkey(sno)referencesS(sno)
altertableSC
addconstraintfk_cnoforeignkey(cno)referencesC(cno)
3.利用图形用户界面根据上述SC表中的外键定义画出由S,C,SC表构成的数据库关系图。
(5分,提示:
选中student->数据关系图)
4.用SQL语言删除S表中所创建的缺省约束和外键约束。
(6分,每小题3分)
altertableS
dropconstraintuk_sname
altertableSC
dropconstraintfk_sno
5.在图形用户界面中创建新登录名以及用户。
(16分)
(1)根据第五版教材第四章第7题,创建数据库company和其中的基本表,并创建该题中所需要用到的各个用户以及相关的登录名。
(10分)
(2)用图形用户界面完成以下的权限赋予:
(每小题3分)
a)用户王明对两个表均有Select和Insert的权力。
b)用户李勇对职工表具有Select权力,对工资字段具有更新权力。
6.用SQL语句授权和收回权限并对权限加以验证。
(40分,每题20分)
(1)根据第五版教材第四章第7题。
1).
grantselect
onemployee,department
TO王明
2).
grantinsert,delete
onemployee
to李勇
grantinsert,delete
ondepartment
to李勇
3).先创建视图;
createviewview_i
as
select*fromemployee
whereename=CURRENT_USER
再进行授权:
grantselect
onview_i
topublic
4).
grantselect,update(salary)
onemployee
to刘星
5).
grantalter
onemployee
to张新
grantalter
ondepartment
to张新
6).
grantallprivilegesondepartment
to周平
withgrantoption
grantallprivilegesonemployee
to周平
withgrantoption
7).创建部门工资视图;
createviewdepartment_salary(department_dname,max_salary,min_salary,avg_salary)
as
selectdname,max(salary),min(salary),avg(salary)
fromdepartment,employee
wheredepartment.dno=employee.dno
groupbydepartment.dno,dname
授权:
grantselect
ondepartment_salary
to杨兰
(2)根据第五版教材第四章第8题。
(提示:
(c)和(g)小题可创建合适的视图,针对视图进行授权,
(c)小题用CURRENT_USER)
1).
revokeselect
ondepartment
from王明
revokeselect
onemployee
from王明
2).
revokeselect,delete
onemployee
from李勇
revokeselect,delete
ondepartment
from李勇
3).
revokeselect
onview_i
frompublic
4).
revokeselect,update(salary)
onemployee
from刘星
5).
revokealter
ondepartment
from张新
revokealter
onemployee
from张新
6).
revokeselect,insert,delete,alter
onemployee
from周平cascade
revokeselect,insert,delete,alter
ondepartment
from周平cascade
7).
revokeselect
ondepartment_salary
from杨兰
●选做实验
1.利用SQL语言创建,验证和删除规则。
(1)创建一个ssex_rule规则(createrule),将其绑定(sp_bindrule)到S表的ssex性别字段上(请验证该规则生效,保证了输入的性别只能是“男”或者“女”)。
1:
创建
createrulessex_rule
as@ssexin('男','女')
2:
绑定
execsp_bindrule'ssex_rule','S.ssex'
3:
验证
(2)删除ssex_rule规则(注意:
规则已绑定到ssex表的性别字段上,需要先解除原有的绑定sp_unbindrule,droprule)。
execsp_unbindrule'S.ssex'
droprulessex_rule
2.利用SQL语言创建,验证和删除默认值。
(1)创建一个ssex_def默认对象(createdefault),将其绑定(sp_bindefault)到S表的ssex性别字段上,使其默认值为“男”(请验证该默认值生效)。
1:
创建
createdefaultssex_def
as'男'
2:
绑定
execsp_bindefault'ssex_def','S.ssex';
3:
验证
(2)删除ssex_def(注意:
默认对象已绑定到S表的ssex性别字段上,需要先解除原有的绑定sp_unbindefault,dropdefault)。
execsp_unbindefault'S.ssex'
dropdefaultssex_def;
2.实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)
除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。
通过创建合适的视图,可以令问题简单化,视图为重构数据库提供了一定程度的逻辑独立性。
批阅者:
批阅日期:
实验成绩:
批注:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西北工业大学 数据库 实验 报告 材料