数据库实验四
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)
实验名称实验4数据的安全性、完整性课程名称数据库原理及应用课程号
学院(系) 信息学院专业班级
学生姓名学号实验地点实验日期
实验四数据的安全性、完整性
一、实验目的
1、掌握数据安全性和完整性的概念,以及如何保证数据库中数据安全及完整性。
2、掌握SQL Server中有关用户、角色及操作权限的管理方法。
3、学会创建和使用规则、缺省。
二、实验要求
1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完
成实验内容的预习准备工作;
2、能认真独立完成实训内容;
3、实验后做好实验总结,根据实验情况完成总结报告。
三、实验内容
相关语句
create table xsqk(
学号char(6)not null,
姓名char(8)not null,
性别bit not null,
出生日期smalldatetime,
专业名char(10),
所在系char(10),
联系电话char(11)null)
create table kc(
课程号char(3)not null,
课程名char(20)not null,
教师char(10),
开课学期tinyint,
学时tinyint,
学分tinyint not null)
use xscj
go
alter table xsqk
add constraint[PK_学号]primary key clustered
(学号asc)
use xscj
go
alter table XS_KC
alter table XS_KC
add primary key (学号,课程号)
use xscj
go
alter table kc
add constraint[PK_课程号]primary key clustered
(课程号asc)
use xscj
go
alter table xs_kc
add primary key(学号,课程号)
alter table xs_kc
add primary key(学号,课程号)
alter table xs_kc add constraint FK_KC_ID foreign key (课程号) references kc(课程号)
alter table xsqk add constraint ch_xsqk_unique unique(姓名)
alter table xs_kc add constraint ch_grade check(成绩 between 0 and 100)
alter table kc add constraint default_kc_credit default 2 for 学分
create default Xi_default as '计算机系'
sp_bindefault Xi_default,'xsqk.所在系'
sp_unbindefault 'xsqk.所在系'
drop default Xi_default
创建默认值的格式:create default 默认值名as ‘默认值’默认值绑定的格式:sp_bindefault 默认值名, <’表名.列名’︱自定义数据类型名称> 解除默认值绑定格式:sp_unbindefault <’表名.
列名’︱自定义数据类型名称> 删除默认值格式:Drop default 默认值名
create rule rule_kkxq as @ss in(1,2,3,4,5,6)
sp_bindrule rule_kkxq,'kc.开课学期'
sp_unbindrule 'kc.开课学期' drop rule rule_kkxq
创建规则的格式:create rule 规则名as @列名约束条件规则绑定的格式:sp_bindrule 规则名, <’表名.列名’︱自定义数据类型名称> 解除规则绑定格式:sp_unbindrule <’表名.列名’︱自定义数据类型名称> 删除规则格式:Drop rule 规则名
sp_addlogin 'LoginB','666','XSCJ'
sp_addlogin 'LoginB1','888','XSCJ'
exec sp_helplogins
sp_droplogin 'LoginB1'
能否再创建一个数据库用户ABC,使其对应登录的帐号为LoginA,若不能写出其原因?不能,同一个数据库的数据库用户只能有一个登录账户“该登陆已用另一开立账户用户名”
sp_grantdbaccess 'LoginB','UserB'
sp_helpuser 'UserB'
sp_addsrvrolemember 'LoginB',sysadmin
sp_dropsrvrolemember 'LoginA',sysadmin
sp_addrolemember 'db_owner',UserB
sp_droprolemember 'db_owner',UserB
create role RoleB
sp_addrolemember 'RoleB',UserB
grant select on xsqk to RoleB