西北工业大学数据库实验报告.docx

上传人:b****6 文档编号:3031583 上传时间:2022-11-17 格式:DOCX 页数:12 大小:173.66KB
下载 相关 举报
西北工业大学数据库实验报告.docx_第1页
第1页 / 共12页
西北工业大学数据库实验报告.docx_第2页
第2页 / 共12页
西北工业大学数据库实验报告.docx_第3页
第3页 / 共12页
西北工业大学数据库实验报告.docx_第4页
第4页 / 共12页
西北工业大学数据库实验报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

西北工业大学数据库实验报告.docx

《西北工业大学数据库实验报告.docx》由会员分享,可在线阅读,更多相关《西北工业大学数据库实验报告.docx(12页珍藏版)》请在冰豆网上搜索。

西北工业大学数据库实验报告.docx

西北工业大学数据库实验报告

《数据库原理》实验报告

题目:

实验三:

数据完整性与安全性控制

学号

姓名

班级

日期

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.实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)

除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。

通过创建合适的视图,可以令问题简单化,视图为重构数据库提供了一定程度的逻辑独立性。

 

批阅者:

批阅日期:

实验成绩:

批注:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1