《数据库原理实验报告-实验三-数据完整性与安全性控制(4页).docx》由会员分享,可在线阅读,更多相关《数据库原理实验报告-实验三-数据完整性与安全性控制(4页).docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-数据库原理实验报告-实验三-数据完整性与安全性控制题目:实验三数据完整性与安全性控制学号姓名班级日期2016.10.18一、 实验内容、步骤以及结果1 利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。(18分,每小题3分) (1) 非空约束:为出生日期添加非空约束。非空约束:取消表S中sbirth的勾。可能需要重建表。(2) 主键约束:将学号(sno)设置为主键,主键名为pk_sno。设主键:单击数据库Student-单击表-单击S-右击sno-选择修改命令-对话框中右击sno-选择设置主键-修改主键名为pk_sno -保存(3) 唯一约束:为姓名(snam
2、e)添加唯一约束(唯一键),约束名为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
3、设置为外键,其引用表分别是S表和C表,外键名称分别为fk_sno,fk_cno。2 在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint)删除约束:单击数据库Student-表-单击S-展开键、约束。 一一删除即可。用SQL语句新建约束:3 利用图形用户界面根据上述SC表中的外键定义画出由S,C,SC表构成的数据库关系图。(5分,提示:选中student - 数据关系图)4 用SQL语言删除S表中所创建的缺省约束和外键约束。(6分,每小题3分)5 在图形用户界面中
4、创建新登录名以及用户。(16分)(1) 根据第五版教材第四章 第7题,创建数据库company和其中的基本表,并创建该题中所需要用到的各个用户以及相关的登录名。(10分)创建数据库:创建登录名:创建数据库用户:(2) 用图形用户界面完成以下的权限赋予:(每小题3分)a) 用户王明对两个表均有Select和Insert的权力。b) 用户李勇对职工表具有Select权力,对工资字段具有更新权力。6 用SQL语句授权和收回权限并对权限加以验证。(40分,每题20分)(1) 根据第五版教材第四章 第7题。请用SQL的GRANT 和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:( a
5、)用户王明对两个表有SELECT 权力。( b )用户李勇对两个表有INSERT 和DELETE 权力。( c ) 每个职工只对自己的记录有SELECT 权力。( d )用户刘星对职工表有SELECT 权力,对工资字段具有更新权力。 ( e )用户张新具有修改这两个表的结构的权力。( f )用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。( g )用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。用户李勇希望查询部门表失败用户李勇查询职工表成功(2) 根据第五版教材第四章 第8题。(提示:(c)和(g)小题可创
6、建合适的视图,针对视图进行授权,(c)小题用CURRENT_USER)l 选做实验1 利用SQL语言创建,验证和删除规则。(1) 创建一个ssex_rule规则(create rule),将其绑定(sp_bindrule)到S表的ssex性别字段上(请验证该规则生效,保证了输入的性别只能是“男”或者“女”)。(2) 删除ssex_rule规则(注意:规则已绑定到ssex表的性别字段上,需要先解除原有的绑定sp_unbindrule, drop rule)。2 利用SQL语言创建,验证和删除默认值。(1) 创建一个ssex_def默认对象(create default),将其绑定(sp_bind
7、efault)到S表的ssex性别字段上,使其默认值为“男”(请验证该默认值生效)。(2) 删除ssex_def(注意:默认对象已绑定到S表的ssex性别字段上,需要先解除原有的绑定sp_unbindefault, drop default)。二、 实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。问题1:建立数据库关系图时报错:解决方法:数据库属性-文件-所有者 将自己的电脑账户设置成所有者问题2:添加了其他用户,但无法用其登录:在使用sql2008的时候,想利用windows身份集成和sqlserver验证模
8、式,但是登录的时候提示:已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)解决方式如下:首先选中服务器(右键)-属性-安全性-服务器身份验证修改为SQL SERVER和WINDOWS身份验证模式其次展开服务器上的安全性-登陆名-选中SA登陆帐号(右键)-状态-登陆修改为启用最后打开程序所有程序Microsoft SQL Server 2008 配置工具SQL Server 配置管理器,在弹出的窗体中,找到SQL Server 2008 网络配置,把MSSQLSERVER的协议下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server 2008即可。批阅者: 批阅日期:实验成绩: 批注:-第 4 页数据库原理实验报告