广东海洋大学 - 计算机科学与技术 - 数据库实验4

更新时间:2023-12-01 19:18:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验四 数据完整性安全性 徐龙琴、刘双印设计制作

实验四 数据的完整性、安全性

实验目的

掌握数据安全性和完整性的概念,以及如何保证数据库中数据安全及完整性。 掌握 SQL Server中有关用户、角色及操作权限的管理方法. 学会创建和使用规则、缺省。

实验内容 1 数据库的安全性实验,通过SSMS设置 SQL Server的安全认证模式.实现对SQL Server的用户和角色管理,设置和管理数据操作权限. 2数据库的完整性实验。使用Transact-SQL设计规则、缺省、约束和触发器。 实验要求 数据的完整性实验 CREATE DATABASE XSCJ ON PRIMARY ( ) LOG ON ( NAME=Student_log, FILENAME='D:\\XSCJ.ldf', ) GO SIZE=5MB, FILEGROWTH=10% NAME=Student_dat, FILENAME='D:\\XSCJ.mdf', SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=10% ⑴用SQL语句创建一学生成绩数据库(XSCJ),包括学生(XSQK)、课程(KC)和成绩表(XS_KC): 学生情况表(XSQK) 列名 学号 姓名 性别 出生日期 专业名 所在系 联系电话 数据类型 Char Char Bit smalldatetime Char Char char 长度 6 8 1 2 10 10 11 是否允许为空值 N N N Y CREATE TABLE XSQK( 学号CHAR(6) NOT NULL , 姓名CHAR(8) NOT NULL, 性别BIT NOT NULL,

实验四 数据完整性安全性 徐龙琴、刘双印设计制作

出生日期smalldatetime , 专业名CHAR(10) , 所在系 Char(10), 联系电话char(11) ) ;课程表(KC) 列名 课程号 课程名 教师 开课学期 学时 学分 数据类型 Char Char Char Tinyint Tinyint Tinyint 长度 3 20 10 1 1 1 是否允许为空值 N N N CREATE TABLE KC( 课程号 Char(3) NOT NULL, 课程名 Char(20) NOT NULL, 教师 Char(10), 开课学期 Tinyint , 学时 Tinyint , 学分 Tinyint NOT NULL ) ; 成绩表(XS_KC) 列名 学号 课程号 成绩 数据类型 Char Char Smallint 长度 6 3 2 是否允许为空值 N N CREATE TABLE XS_KC( 学号 Char(6) NOT NULL, 课程名 Char(3) NOT NULL, 成绩 Smallint ) ; ⑵数据的实体完整性实验 V ①用SSMS分别将学生情况表(XSQK)的学号字段、课程表(KC)的课程号字段设置为主健 ②用T-SQL语句将成绩表(XS_KC)的学号、课程号字段设置为主健 ALTER TABLE XS_KC ADD CONSTRAINT XS_KC_KEY PRIMARY KEY (学号,课程号) ⑶数据的参照完整性实验 ①用SSMS为成绩表(XS_KC)创建外键FK_ XSQK_ID,外键FK_ XSQK_ID参照学生情况表(XSQK)表的学号

实验四 数据完整性安全性 徐龙琴、刘双印设计制作

②用T-SQL语句成绩表(XS_KC)创建外键FK_ KC_ID,外键FK_ KC _ID参照课程表(KC) 表的课程号

ALTER TABLE XS_KC ADD CONSTRAINT FK_ KC_ID FOREIGN KEY (课程号) REFERENCES KC(课程号); ⑷数据的用户定义完整性实验

用T-SQL语句为学生情况表(XSQK)的姓名列创建一个唯一约束 ALTER TABLE XSQK ADD CONSTRAINT FK_XSQK_UNIQUE UNIQUE (姓名) ②用SSMS为学生情况表(XSQK)的性别列创建一个检查约束,使得性别的值为男或女

③用T-SQL语句为成绩表(XS_KC)的成绩列创建一个检查约束,使得成绩的值在(0~100)之间

ALTER TABLE XS_KC ADD CONSTRAINT GRADEchk CHECK(成绩BETWEEN 0 AND 100); ④用SSMS语句课程表(KC)的学时列创建一个缺省约束,缺省值为60

实验四 数据完整性安全性 徐龙琴、刘双印设计制作

⑤用T-SQL语句课程表(KC)的学分列创建一个缺省约束,缺省值为2 ALTER TABLE KC ADD CONSTRAINT FK_KC_DEFAULT DEFAULT 2 FOR 学分 2.将如下数据分别转换成文本数据或Excel的格式,并分别将其导入数据库的各个表中: 学生情况表(XSQK): 学号 姓名 性别 出生日期 专业 所在系 联系电话 020101 0 1980-7-20 88297147 杨颖 计算机应用 计算机 020102 0 1981-1-15 88297147 方露露 计算机应用 计算机 020103 1 1980-2-20 88297151 俞奇军 信息管理 计算机 020104 1 1980-11-7 88297151 胡国强 信息管理 计算机 020105 1 1980-7-29 88297152 薛冰 水利工程 水利系 020201 0 1981-3-10 88297161 秦盈飞 电子商务 经济系 020202 0 1980-9-25 88297062 董含静 电子商务 经济系 1 1980-8-7 88297171 陈伟 电子商务 经济系 课程表020203 1 1980-7-20 88297171 陈新江 房建 水利系 (KC)020204 : 课程号 课程名 教师 开课学期 学时 学分 101 2 45 3 计算机原理 陈红 102 3 45 3 计算方法 王颐 103 2 60 4 操作系统 徐格 104 3 75 5 数据库原理及应用 应对刚 成绩表105 4 45 3 网络基础 吴江江 106 107 108 (XS_KC):

高等数学 英语 VB程序设计 孙中文 陈刚 赵红韦 1 1 3 90 90 70 6 6 5 实验四 数据完整性安全性 徐龙琴、刘双印设计制作

学号 020101 020101 020101 020102 020102 020104 020202 020202 020203 课程号 101 102 107 101 102 107 103 108 103 成绩 85 87 88 58 63 76 55 80 57 020204 103 71 3. 理解默认值的概念和作用 ①用语句创建名为Xi_default,值为 “计算机系”的默认值 CREATE DEFAULT Xi_default AS '计算机系' ②将默认值Xi_default绑定到学生表中的所在系的属性列上 sp_bindefault 'Xi_default' ,'XSQK.所在系' ③解除学生表所在系的属性列上的默认值 sp_unbindefault 'XSQK.所在系' ④删除默认值Xi_default Drop default Xi_default 4.理解规则的概念和作用 ①用语句创建规则“rule_kkxq”,用以限制插入该规则所绑定的列中的值只能取1、2、3、4、5、6 CREATE RULE rule_kkxq AS @INTCLUOMN IN (1,2,3,4,5,6) ②将“rule_ kkxq”规则绑定到课程表的开课学期属性上,并执行以下语句,看看能否正 常执行,为什么: Insert into 课程表 Values(109,'C语言','李方',8,64,4) sp_bindrule rule_kkxq ,'KC.开课学期' 不能正常执行,因为数值8不在规则rule_kkxq所绑定的数据范围内 ③不解除规则,能否将规则rule_ kkxq直接删除? 不能,需先解除规则才能删除规则rule_ kkxq : sp_unbindrule 'KC.开课学期' DROP RULE rule_kkxq 5.数据的安全性实验: (1)设置身份验证模式 ①写出查看当前SQL Server身份验证模式的过程,即查看当前SQL Server系统到底是采用Windows身份验证还是混合身份验证模式。

服务器->右键\属性\选择\安全性\即可查看当前SQL Server系统的服务器验证模式

本文来源:https://www.bwwdw.com/article/ab2t.html

Top