数据库原理实验报告实验三数据完整性与安全性控制.docx
- 文档编号:12153819
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:20
- 大小:903.38KB
数据库原理实验报告实验三数据完整性与安全性控制.docx
《数据库原理实验报告实验三数据完整性与安全性控制.docx》由会员分享,可在线阅读,更多相关《数据库原理实验报告实验三数据完整性与安全性控制.docx(20页珍藏版)》请在冰豆网上搜索。
数据库原理实验报告实验三数据完整性与安全性控制
《数据库原理》实验报告
题目:
实验三
数据完整性与安全性控制
学号
班级
日期
2016.10.18
一、实验容、步骤以及结果
1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。
(18分,每小题3分)
(1)非空约束:
为出生日期添加非空约束。
非空约束:
取消表S中sbirth的勾。
可能需要重建表。
(2)主键约束:
将学号(sno)设置为主键,主键名为pk_sno。
设主键:
单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命令-->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’-->保存
(3)唯一约束:
为(sname)添加唯一约束(唯一键),约束名为uk_sname。
唯一约束:
单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加-->是否唯一改为‘是’-->名称改为‘us_sname’-->关闭。
(4)缺省约束:
为性别(ssex)添加默认值,其值为“男”。
设默认约束:
单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存
(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)
删除约束:
单击数据库Student-->表-->单击S-->展开键、约束。
一一删除即可。
用SQL语句新建约束:
3.利用图形用户界面根据上述SC表中的外键定义画出由S,C,SC表构成的数据库关系图。
(5分,提示:
选中student->数据关系图)
4.用SQL语言删除S表中所创建的缺省约束和外键约束。
(6分,每小题3分)
5.在图形用户界面中创建新登录名以及用户。
(16分)
(1)根据第五版教材第四章第7题,创建数据库company和其中的基本表,并创建该题中所需要用到的各个用户以及相关的登录名。
(10分)
创建数据库:
创建登录名:
创建数据库用户:
(2)用图形用户界面完成以下的权限赋予:
(每小题3分)
a)用户王明对两个表均有Select和Insert的权力。
b)用户勇对职工表具有Select权力,对工资字段具有更新权力。
6.用SQL语句授权和收回权限并对权限加以验证。
(40分,每题20分)
(1)根据第五版教材第四章第7题。
请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:
(a)用户王明对两个表有SELECT权力。
(b)用户勇对两个表有INSERT和DELETE权力。
(c)每个职工只对自己的记录有SELECT权力。
(d)用户星对职工表有SELECT权力,对工资字段具有更新权力。
(e)用户新具有修改这两个表的结构的权力。
(f)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。
(g)用户兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。
用户勇希望查询部门表失败
用户勇查询职工表成功
(2)根据第五版教材第四章第8题。
(提示:
(c)和(g)小题可创建合适的视图,针对视图进行授权,
(c)小题用CURRENT_USER)
●选做实验
1.利用SQL语言创建,验证和删除规则。
(1)创建一个ssex_rule规则(createrule),将其绑定(sp_bindrule)到S表的ssex性别字段上(请验证该规则生效,保证了输入的性别只能是“男”或者“女”)。
(2)删除ssex_rule规则(注意:
规则已绑定到ssex表的性别字段上,需要先解除原有的绑定sp_unbindrule,droprule)。
2.利用SQL语言创建,验证和删除默认值。
(1)创建一个ssex_def默认对象(createdefault),将其绑定(sp_bindefault)到S表的ssex性别字段上,使其默认值为“男”(请验证该默认值生效)。
(2)删除ssex_def(注意:
默认对象已绑定到S表的ssex性别字段上,需要先解除原有的绑定sp_unbindefault,dropdefault)。
二、实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)
除了标题容以外,该部分容中还可以写对于实验的一些感受,建议,意见等。
问题1:
建立数据库关系图时报错:
解决方法:
数据库属性->文件->所有者将自己的电脑账户设置成所有者
问题2:
添加了其他用户,但无法用其登录:
在使用sql2008的时候,想利用windows身份集成和sqlserver验证模式,但是登录的时候提示:
已成功与服务器建立连接,但是在登录过程中发生错误。
(provider:
共享存提供程序,error:
0-管道的另一端上无任何进程。
)
解决方式如下:
首先选中服务器(右键)->属性->安全性->服务器身份验证修改为"SQLSERVER和WINDOWS身份验证模式"
其次展开服务器上的"安全性"->登陆名->选中SA登陆(右键)->状态->登陆修改为启用
最后打开‘程序’-‘所有程序’-‘MicrosoftSQLServer2008’-‘配置工具’-‘SQLServer配置管理器’,在弹出的窗体中,找到‘SQLServer2008网络配置’,
把‘MSSQLSERVER的协议’下的“NamedPipes”和“TCP/IP”启动,然后重新启动MicrosoftSQLServer2008即可。
批阅者:
批阅日期:
实验成绩:
批注:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 实验 报告 数据 完整性 安全性 控制