您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 实验四-数据完整性、安全性
实验四数据完整性安全性徐龙琴、刘双印设计制作实验四数据的完整性、安全性一、实验目的1.掌握数据安全性和完整性的概念,以及如何保证数据库中数据安全及完整性。2.掌握SQLServer中有关用户、角色及操作权限的管理方法.3.学会创建和使用规则、缺省。二、实验内容1数据库的安全性实验,通过SSMS设置SQLServer的安全认证模式.实现对SQLServer的用户和角色管理,设置和管理数据操作权限.2数据库的完整性实验。使用Transact-SQL设计规则、缺省、约束和触发器。三、实验要求1.数据的完整性实验⑴用SQL语句创建一学生成绩数据库(XSCJ),包括学生(XSQK)、课程(KC)和成绩表(XS_KC):学生情况表(XSQK)列名数据类型长度是否允许为空值学号Char6N姓名Char8N性别Bit1N出生日期smalldatetime2专业名Char10所在系Char10联系电话char11Ycreatedatabasexscjusexscjcreatetablexsqk(学号char(6)notnull,姓名char(8)notnull,性别bitnotnull,出生日期smalldatetime,专业名char(10),所在系char(10),联系电话char(11)null)实验四数据完整性安全性徐龙琴、刘双印设计制作课程表(KC)列名数据类型长度是否允许为空值课程号Char3N课程名Char20N教师Char10开课学期Tinyint1学时Tinyint1学分Tinyint1Ncreatetablekc(课程号char(3)notnull,课程名char(20)notnull,教师char(10),开课学期tinyint,学时tinyint,学分tinyintnotnull)成绩表(XS_KC)列名数据类型长度是否允许为空值学号Char6N课程号成绩CharSmallint32Ncreatetablexs_kc(学号char(6)notnull,课程号char(3)notnull,成绩smallint)实验四数据完整性安全性徐龙琴、刘双印设计制作⑵数据的实体完整性实验①用SSMS分别将学生情况表(XSQK)的学号字段、课程表(KC)的课程号字段设置为主健②用T-SQL语句将成绩表(XS_KC)的学号、课程号字段设置为主健altertablexs_kcaddprimarykey(学号,课程号)实验四数据完整性安全性徐龙琴、刘双印设计制作⑶数据的参照完整性实验①用SSMS为成绩表(XS_KC)创建外键FK_XSQK_ID,外键FK_XSQK_ID参照学生情况表(XSQK)表的学号②用T-SQL语句成绩表(XS_KC)创建外键FK_KC_ID,外键FK_KC_ID参照课程表(KC)表的课程号altertablexs_kcaddconstraintFK_KC_IDforeignkey(课程号)referenceskc(课程号)实验四数据完整性安全性徐龙琴、刘双印设计制作⑷数据的用户定义完整性实验①用T-SQL语句为学生情况表(XSQK)的姓名列创建一个唯一约束altertablexsqkaddconstraintch_xsqk_uniqueunique(姓名)②用SSMS为学生情况表(XSQK)的性别列创建一个检查约束,使得性别的值为男或女实验四数据完整性安全性徐龙琴、刘双印设计制作③用T-SQL语句为成绩表(XS_KC)的成绩列创建一个检查约束,使得成绩的值在(0~100)之间altertablexs_kcaddconstraintch_gradecheck(成绩between0and100)④用SSMS语句课程表(KC)的学时列创建一个缺省约束,缺省值为60实验四数据完整性安全性徐龙琴、刘双印设计制作⑤用T-SQL语句课程表(KC)的学分列创建一个缺省约束,缺省值为2altertablekcaddconstraintdefault_kc_creditdefault2for学分2.将如下数据分别转换成文本数据或Excel的格式,并分别将其导入数据库的各个表中:实验四数据完整性安全性徐龙琴、刘双印设计制作学生情况表(XSQK):学号姓名性别出生日期专业所在系联系电话020101杨颖01980-7-20计算机应用计算机88297147020102方露露01981-1-15计算机应用计算机88297147020103俞奇军11980-2-20信息管理计算机88297151020104胡国强11980-11-7信息管理计算机88297151020105薛冰11980-7-29水利工程水利系88297152020201秦盈飞01981-3-10电子商务经济系88297161020202董含静01980-9-25电子商务经济系88297062020203陈伟11980-8-7电子商务经济系88297171020204陈新江11980-7-20房建水利系88297171实验四数据完整性安全性徐龙琴、刘双印设计制作实验四数据完整性安全性徐龙琴、刘双印设计制作课程表(KC):实验四数据完整性安全性徐龙琴、刘双印设计制作课程号课程名教师开课学期学时学分101计算机原理陈红2453102计算方法王颐3453103操作系统徐格2604104数据库原理及应用应对刚3755105网络基础吴江江4453106高等数学孙中文1906107英语陈刚1906108VB程序设计赵红韦3705实验四数据完整性安全性徐龙琴、刘双印设计制作实验四数据完整性安全性徐龙琴、刘双印设计制作成绩表(XS_KC):实验四数据完整性安全性徐龙琴、刘双印设计制作学号课程号成绩02010110185020101102870201011078802010210158020102102630201041077602020210355020202108800202031035702020410371实验四数据完整性安全性徐龙琴、刘双印设计制作3.理解默认值的概念和作用①用语句创建名为Xi_default,值为“计算机系”的默认值createdefaultXi_defaultas'计算机系'实验四数据完整性安全性徐龙琴、刘双印设计制作②将默认值Xi_default绑定到学生表中的所在系的属性列上sp_bindefaultXi_default,'xsqk.所在系'③解除学生表所在系的属性列上的默认值sp_unbindefault'xsqk.所在系'④删除默认值Xi_defaultdropdefaultXi_default注:创建默认值的格式:createdefault默认值名as‘默认值’默认值绑定的格式:sp_bindefault默认值名,’表名.列名’︱自定义数据类型名称解除默认值绑定格式:sp_unbindefault’表名.列名’︱自定义数据类型名称删除默认值格式:Dropdefault默认值名4.理解规则的概念和作用①用语句创建规则“rule_kkxq”,用以限制插入该规则所绑定的列中的值只能取1、2、3、4、5、6createrulerule_kkxqas@ssin(1,2,3,4,5,6)②将“rule_kkxq”规则绑定到课程表的开课学期属性上,并执行以下语句,看看能否正常执行,为什么:Insertinto课程表Values(109,'C语言','李方',8,64,4)sp_bindrulerule_kkxq,'kc.开课学期'不能正常执行因为数值8不在规则rule_kkxq所绑定的数据范围内③若不解除规则,能否将规则rule_kkxq直接删除?不能,需先解除规则才能删除规则rule_kkxq:sp_unbindrule'kc.开课学期'droprulerule_kkxq注:创建规则的格式:createrule规则名as@列名约束条件规则绑定的格式:sp_bindrule规则名,’表名.列名’︱自定义数据类型名称解除规则绑定格式:sp_unbindrule’表名.列名’︱自定义数据类型名称删除规则格式:Droprule规则名5.数据的安全性实验:(1)设置身份验证模式①写出查看当前SQLServer身份验证模式的过程,即查看当前SQLServer系统到底是采用Windows身份验证还是混合身份验证模式。服务器-右键属性-选择安全性实验四数据完整性安全性徐龙琴、刘双印设计制作②将系统设置为Windows身份验证模式,重启SQLServer,使之生效并验证③将系统设置为混合身份验证模式,重启SQLServer,使之生效并验证⑵创建和管理登录账户1)用对象资源管理器创建、查看、删除SQLServer登录账户①分别创建两个登录帐户LoginA、LoginA1,其登录密码分别为:123456、456,并指定LoginA登录默认的数据库为学生成绩数据库(XSCJ),指定LoginA1登录默认的数据库为master数据库。实验四数据完整性安全性徐龙琴、刘双印设计制作实验四数据完整性安全性徐龙琴、刘双印设计制作②查看登录账户LoginA、LoginA1实验四数据完整性安全性徐龙琴、刘双印设计制作③删除登录账户LoginA1实验四数据完整性安全性徐龙琴、刘双印设计制作2)用T-SQL语句创建、查看、删除SQLServer登录账户①用系统存储过程,分别创建两个登陆帐户LoginB、LoginB1,其登录密码分别为:666、888,登录后然后所连接到的数据库均为学生成绩数据库(XSCJ)。sp_addlogin'LoginB','666','XSCJ'sp_addlogin'LoginB1','888','XSCJ'实验四数据完整性安全性徐龙琴、刘双印设计制作注:创建新的SQLServer登录账号和登录密码的语句为:sp_addlogin[@loginame=]'login'//登录的名称[,[@passwd=]'password']//登录密码。[,[@defdb=]'database']//登录的默认数据库(登录后登录所连接到的数据库)。默认设置为master。例:创建一个登陆帐户Login,登录密码为:A,登录后然后所连接到的数据库为master数据库。sp_addlogin'Login','A','master'或sp_addlogin@loginame='Login',@passwd='A',@defdb='master'②使用系统存储过程sp_helplogins查看SQLServer登录账户实验四数据完整性安全性徐龙琴、刘双印设计制作注:查看登录账户的格式:execsp_helplogins③使用系统存储过程sp_droplogin从SQLServer中将登录账户LoginB1删除sp_droplogin'LoginB1'注:删除登录账户的格式:sp_droplogin[@loginame=]'登录名称'⑶创建和管理数据库用户1)用对象资源管理器创建、查看、删除数据库用户①在学生成绩数据库(XSCJ)中创建数据库用户UserA,使其所对应的帐号为LoginA实验四数据完整性安全性徐龙琴、刘双印设计制作②能否再创建一个数据库用户ABC,使其对应登录的帐号为LoginA,若不能写出其原因?不能,同一个数据库的数据库用户只能有一个登录账户“该登陆已用另一开立账户用户名”2)用语句创建、查看、删除数据库用户①用系统存储过程sp_grantdbaccess在学生成绩数据库(XSCJ)中创建一个数据库用户UserB,使其所对应的登录帐号为LoginBsp_grantdbaccess'LoginB','UserB'实验四数据完整性安全性徐龙琴、刘双印设计制作注:为SQLServer登录在当前数据库中添加一个安全用户的语句为:sp_grantdbaccess[@loginame=]'login'//当前数据库中的登录名称[,[@name_in_db=]'name_in_db'//数据库中帐户的名称②用系统存储过程sp_helpuser查看数据库用户sp_h
本文标题:实验四-数据完整性、安全性
链接地址:https://www.777doc.com/doc-1879472 .html