广东海洋大学数据库实验报告Word下载.docx
- 文档编号:8120754
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:23
- 大小:673.17KB
广东海洋大学数据库实验报告Word下载.docx
《广东海洋大学数据库实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《广东海洋大学数据库实验报告Word下载.docx(23页珍藏版)》请在冰点文库上搜索。
联系电话
char
11
Y
课程表(KC)
课程号
3
课程名
20
教师
开课学期
Tinyint
学时
学分
成绩表(XS_KC)
成绩
Smallint
⑵数据的实体完整性实验
1用SSMS分别将学生情况表(XSQK)的学号字段、课程表(KC)的课程号字段设置为主健
②用T-SQL语句将成绩表(XS_KC)的学号、课程号字段设置为主健
⑶数据的参照完整性实验
①用SSMS为成绩表(XS_KC)创建外键FK_XSQK_ID,外键FK_XSQK_ID参照学生情况表(XSQK)表的学号
②用T-SQL语句成绩表(XS_KC)创建外键FK_KC_ID,外键FK_KC_ID参照课程表(KC)
表的课程号
⑷数据的用户定义完整性实验
1用T-SQL语句为学生情况表(XSQK)的姓名列创建一个唯一约束
②用SSMS为学生情况表(XSQK)的性别列创建一个检查约束,使得性别的值为男或女
③用T-SQL语句为成绩表(XS_KC)的成绩列创建一个检查约束,使得成绩的值在(0~100)之间
④用SSMS语句课程表(KC)的学时列创建一个缺省约束,缺省值为60
⑤用T-SQL语句课程表(KC)的学分列创建一个缺省约束,缺省值为2
2.将如下数据分别转换成文本数据或Excel的格式,并分别将其导入数据库的各个表中:
专业
020101
杨颖
1980-7-20
计算机应用
计算机
88297147
020102
方露露
1981-1-15
020103
俞奇军
1980-2-20
信息管理
88297151
020104
胡国强
1980-11-7
020105
薛冰
1980-7-29
水利工程
水利系
88297152
020201
秦盈飞
1981-3-10
电子商务
经济系
88297161
020202
董含静
1980-9-25
88297062
020203
陈伟
1980-8-7
88297171
020204
陈新江
房建
学生情况表(XSQK):
课程表(KC):
101
计算机原理
陈红
45
102
计算方法
王颐
103
操作系统
徐格
60
4
104
数据库原理及应用
应对刚
75
5
105
网络基础
吴江江
106
高等数学
孙中文
90
107
英语
陈刚
108
VB程序设计
赵红韦
70
成绩表(XS_KC):
85
87
88
58
63
76
55
80
57
71
3.理解默认值的概念和作用
①用语句创建名为Xi_default,值为“计算机系”的默认值
②将默认值Xi_default绑定到学生表中的所在系的属性列上
③解除学生表所在系的属性列上的默认值
④删除默认值Xi_default
注:
创建默认值的格式:
createdefault 默认值名 as ‘默认值’
默认值绑定的格式:
sp_bindefault 默认值名,<
’表名.列名’︱自定义数据类型名称>
解除默认值绑定格式:
sp_unbindefault <
删除默认值格式:
Dropdefault默认值名
4.理解规则的概念和作用
①用语句创建规则“rule_kkxq”,用以限制插入该规则所绑定的列中的值只能取1、2、3、4、5、6
②将“rule_kkxq”规则绑定到课程表的开课学期属性上,并执行以下语句,看看能否正
常执行,为什么:
Insertinto课程表
Values(109,'
C语言'
'
李方'
8,64,4)
不能正常执行,因为数值8不在规则rule_kkxq所绑定的数据范围内
③若不解除规则,能否将规则rule_kkxq直接删除?
不能,需先解除规则才能删除规则rule_
kkxq
创建规则的格式:
createrule 规则名 as @列名 约束条件
规则绑定的格式:
sp_bindrule 规则名,<
解除规则绑定格式:
sp_unbindrule<
删除规则格式:
Droprule规则名
5.数据的安全性实验:
(1)设置身份验证模式
①写出查看当前SQLServer身份验证模式的过程,即查看当前SQLServer系统到底是采用Windows身份验证还是混合身份验证模式。
服务器->
右键"
属性"
->
选择"
安全性"
即可查看当前SQL
Server系统的服务器验证模式
②将系统设置为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)。
创建新的SQLServer登录账号和登录密码的语句为:
sp_addlogin[@loginame=]'
login'
//登录的名称
[,[@passwd=]'
password'
]//登录密码。
[,[@defdb=]'
database'
]//登录的默认数据库(登录后登录所连接到的
数据库)。
默认设置为master。
例:
创建一个登陆帐户Login,登录密码为:
A,登录后然后所连接到的数据库
为master数据库。
sp_addlogin'
Login'
A'
master'
或sp_addlogin@loginame='
@passwd='
@defdb='
②使用系统存储过程sp_helplogins查看SQLServer登录账户
查看登录账户的格式:
execsp_helplogins
③使用系统存储过程sp_droplogin从SQLServer中将登录账户LoginB1删除
删除登录账户的格式:
sp_droplogin[@loginame=]'
登录名称'
⑶创建和管理数据库用户
1)用对象资源管理器创建、查看、删除数据库用户
①在学生成绩数据库(XSCJ)中创建数据库用户UserA,使其所对应的帐号为LoginA
②能否再创建一个数据库用户ABC,使其对应登录的帐号为LoginA,若不能写出其原因?
不能,同一个数据库的数据库用户只能有一个登录账户
2)用语句创建、查看、删除数据库用户
①用系统存储过程sp_grantdbaccess在学生成绩数据库(XSCJ)中创建一个数据库用户UserB,使其所对应的登录帐号为LoginB
为SQLServer登录在当前数据库中添加一个安全用户的语句为:
sp_grantdbaccess[@loginame=]'
//当前数据库中的登录账号
[,[@name_in_db=]'
name_in_db'
//数据库中帐户的用户名
②用系统存储过程sp_helpuser查看数据库用户
注:
查看数据库用户的格式:
sp_helpuser[[@name_in_db=]'
security_account'
]
③用系统存储过程sp_revokedbaccess删除数据库用户ABC1
注:
删除数据库用户的格式:
sp_revokedbaccess[@name_in_db=]'
name'
⑷创建和管理角色
1)服务器角色的管理
①用对象资源管理器将登录帐户LoginA加到sysadmin的角色中。
②用系统存储过程sp_addsrvrolemember将登录帐户LoginB加到sysadmin的角色中。
为登录账户指定服务器角色的系统存储过程sp_addsrvrolemember的格式为:
sp_addsrvrolemember'
登录账号'
,服务器角色名称
③用系统存储过程sp_dropsrvrolemember删除登录账户LoginA的服务器角色sysadmin
删除登录账户的服务器角色的系统存储过程sp_dropsrvrolemember的格式为:
sp_dropsrvrolemember'
2)数据库角色的管理
①用对象资源管理器将数据库用户UserA添加到db_owner数据库的角色中
②用系统存储过程sp_addrolemember将数据库用户UserB添加到db_owner数据库角色中。
为数据库用户指定数据库角色的系统存储过程sp_addrolemember的格式为:
sp_addrolemember[@rolename=]'
role'
//当前数据库角色的名称
[@membername=]security_account/*添加到角色的安全帐户。
security_account可以是所有有效的SQLServer用户、SQLServer角色或是所有
已授权访问当前数据库的MicrosoftWindowsNT®
用户或组。
*/
③用系统存储过程sp_droprolemember删除数据库用户UserB的db_owner数据库角色
删除数据库用户的数据库角色的系统存储过程sp_droprolemember的格式为:
sp_droprolemember'
数据库角色名称'
,数据库用户账户
3)用户自定义角色的管理
①在学生成绩数据库(XSCJ)中创建一个角色RoleB
在当前数据库创建新的角色:
sp_addrole[@rolename=]'
//新角色的名称
[,[@ownername=]'
owner'
]/*新角色的所有者,owner默认值为
dbo。
owner必须是当前数据库中的某个用户或角色*/
②将用户UserB加入到自定义的RoleB这个角色中
将数据库户添加到自定义数据库角色的格式为:
sp_addrolemember[@rolename=]'
③将学生成绩数据库(XSCJ)中学生表的Select权限授予RoleB
④用帐户LoginB身份登陆,并学生成绩数据库(XSCJ)中执行
CreateTableTest(aavarchar(10))
Select*from学生情况表
Select*from成绩表
并查看以上各语句能否正常执行,为什么?
如何才能使不能执行的语句执行?
如果用帐号LoginA登陆,上面的语句能否执行。
不行,因为UserB没有Create
Table权限
GRANT
CREATE
TABLE
TO
UserB
可以
⑤从角色RoleB中去除用户UserB
⑥从学生成绩数据库(XSCJ)中删除用户UserB
⑦从学生成绩数据库(XSCJ)中删除角色RoleB
⑧从SQLServer中删除登陆帐户LoginB
在删除登录帐号之前,应先将登录帐号所对应的用户帐号全部删除,不然将无法删除登录帐号。
⑸权限的授予与回收
1)权限的授予
①把查询XSQK表的权限授予用户UserA
②把对KC表全部操作权限授予用户UserA
③把对XS_KC表的查询权限授予所有用户
④把删除XSQK表和修改学生学号的权限授予用户UserA
⑤把插入XSQK表的权限授予用户UserA,并允许将此权限再授予其它用户
⑥把在学生成绩数据库(XSCJ)中建立表的权限授予用户UserA
2)权限的回收
①撤销用户UserA修改学号的权限
②撤销所有用户对XS_KC表的查询权限
③撤销用户UserA对XSQK表的插入权限
四、实训思考题
1.一个用户要访问数据库须要经过哪几个安全认证阶段?
2.简述登录账户和用户账户间区别与联系
3.用户、角色和权限的职能,以及它们之间的关系
4.服务器角色有哪些,并分别简述其功能?
用户可以创建服务器角色吗?
5.数据库角色有哪些,并分别简述其功能?
用户可以创建数据库角色吗?
6、什么是数据库的安全性,可以通过哪些措施来保证数据库的安全性?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广东 海洋大学 数据库 实验 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)