广东海洋大学计算机科学与技术数据库实验4文档格式.docx

上传人:b****1 文档编号:994389 上传时间:2023-04-30 格式:DOCX 页数:20 大小:798.04KB
下载 相关 举报
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第1页
第1页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第2页
第2页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第3页
第3页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第4页
第4页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第5页
第5页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第6页
第6页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第7页
第7页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第8页
第8页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第9页
第9页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第10页
第10页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第11页
第11页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第12页
第12页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第13页
第13页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第14页
第14页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第15页
第15页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第16页
第16页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第17页
第17页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第18页
第18页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第19页
第19页 / 共20页
广东海洋大学计算机科学与技术数据库实验4文档格式.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

广东海洋大学计算机科学与技术数据库实验4文档格式.docx

《广东海洋大学计算机科学与技术数据库实验4文档格式.docx》由会员分享,可在线阅读,更多相关《广东海洋大学计算机科学与技术数据库实验4文档格式.docx(20页珍藏版)》请在冰点文库上搜索。

广东海洋大学计算机科学与技术数据库实验4文档格式.docx

Bit

1

出生日期

smalldatetime

2

专业名

10

所在系

联系电话

char

11

Y

CREATETABLEXSQK(

学号CHAR(6)NOTNULL,

姓名CHAR(8)NOTNULL,

性别BITNOTNULL,

出生日期smalldatetime,

专业名CHAR(10),

所在系Char(10),

联系电话char(11)

);

课程表(KC)

课程号

3

课程名

20

教师

开课学期

Tinyint

学时

学分

CREATETABLEKC(

课程号Char(3)NOTNULL,

课程名Char(20)NOTNULL,

教师Char(10),

开课学期Tinyint,

学时Tinyint,

学分TinyintNOTNULL

成绩表(XS_KC)

成绩

Smallint

CREATETABLEXS_KC(

学号Char(6)NOTNULL,

课程名Char(3)NOTNULL,

成绩Smallint

⑵数据的实体完整性实验V

①用SSMS分别将学生情况表(XSQK)的学号字段、课程表(KC)的课程号字段设置为主健

②用T-SQL语句将成绩表(XS_KC)的学号、课程号字段设置为主健

ALTERTABLEXS_KCADDCONSTRAINTXS_KC_KEYPRIMARYKEY(学号,课程号)

⑶数据的参照完整性实验

①用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)的姓名列创建一个唯一约束

ALTERTABLEXSQKADDCONSTRAINTFK_XSQK_UNIQUEUNIQUE(姓名)

②用SSMS为学生情况表(XSQK)的性别列创建一个检查约束,使得性别的值为男或女

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

ALTERTABLEXS_KCADDCONSTRAINTGRADEchkCHECK(成绩BETWEEN0AND100);

④用SSMS语句课程表(KC)的学时列创建一个缺省约束,缺省值为60

⑤用T-SQL语句课程表(KC)的学分列创建一个缺省约束,缺省值为2

ALTERTABLEKCADDCONSTRAINTFK_KC_DEFAULTDEFAULT2FOR学分

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,值为“计算机系”的默认值

CREATEDEFAULTXi_defaultAS'

计算机系'

②将默认值Xi_default绑定到学生表中的所在系的属性列上

sp_bindefault'

Xi_default'

'

XSQK.所在系'

③解除学生表所在系的属性列上的默认值

sp_unbindefault'

④删除默认值Xi_default

DropdefaultXi_default

4.理解规则的概念和作用

①用语句创建规则“rule_kkxq”,用以限制插入该规则所绑定的列中的值只能取1、2、3、4、5、6

CREATERULErule_kkxqAS@INTCLUOMNIN(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'

DROPRULErule_kkxq

5.数据的安全性实验:

(1)设置身份验证模式

①写出查看当前SQLServer身份验证模式的过程,即查看当前SQLServer系统到底是采用Windows身份验证还是混合身份验证模式。

服务器->

右键"

属性"

->

选择"

安全性"

即可查看当前SQLServer系统的服务器验证模式

②将系统设置为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'

LoginB1'

888'

②使用系统存储过程sp_helplogins查看SQLServer登录账户

注:

查看登录账户的格式:

execsp_helplogins

③使用系统存储过程sp_droplogin从SQLServer中将登录账户LoginB1删除

sp_droplogin@loginame='

⑶创建和管理数据库用户

1)用对象资源管理器创建、查看、删除数据库用户

①在学生成绩数据库(XSCJ)中创建数据库用户UserA,使其所对应的帐号为LoginA

②能否再创建一个数据库用户ABC,使其对应登录的帐号为LoginA,若不能写出其原因?

不能,同一个数据库的数据库用户只能有一个登录账户

“该登陆已用另一开立账户用户名”

2)用语句创建、查看、删除数据库用户

①用系统存储过程sp_grantdbaccess在学生成绩数据库(XSCJ)中创建一个数据库用户UserB,使其所对应的登录帐号为LoginB

sp_grantdbaccess'

UserB'

②用系统存储过程sp_helpuser查看数据库用户

sp_helpuser'

③用系统存储过程sp_revokedbaccess删除数据库用户ABC1

sp_revokedbaccess'

ABC1'

无法对用户'

执行删除,因为它不存在,或者您没有所需的权限。

⑷创建和管理角色

1)服务器角色的管理

①用对象资源管理器将登录帐户LoginA加到sysadmin的角色中。

②用系统存储过程sp_addsrvrolemember将登录帐户LoginB加到sysadmin的角色中。

sp_addsrvrolemember'

sysadmin

③用系统存储过程sp_dropsrvrolemember删除登录账户LoginA的服务器角色sysadmin

sp_dropsrvrolemember'

LoginA'

2)数据库角色的管理

①用对象资源管理器将数据库用户UserA添加到db_owner数据库的角色中

②用系统存储过程sp_addrolemember将数据库用户UserB添加到db_owner数据库角色中。

sp_addrolemember'

db_owner'

UserB

③用系统存储过程sp_droprolemember删除数据库用户UserB的db_owner数据库角色

sp_droprolemember'

3)用户自定义角色的管理

①在学生成绩数据库(XSCJ)中创建一个角色RoleB

CREATEROLERoleB

②将用户UserB加入到自定义的RoleB这个角色中

sp_addrolemember'

RoleB'

③将学生成绩数据库(XSCJ)中学生表的Select权限授予RoleB

GRANTSELECT

ONXSQK

TORoleB

④用帐户LoginB身份登陆,并学生成绩数据库(XSCJ)中执行

CreateTableTest(aavarchar(10))

Select*from学生情况表

Select*from成绩表

并查看以上各语句能否正常执行,为什么?

如何才能使不能执行的语句执行?

不行,因为UserB没有CreateTable权限

GRANTCREATETABLETOUserB

如果用帐号LoginA登陆,上面的语句能否执行。

可以

⑤从角色RoleB中去除用户UserB

⑥从学生成绩数据库(XSCJ)中删除用户UserB

sp_dropuserUserB

⑦从学生成绩数据库(XSCJ)中删除角色RoleB

sp_droproleRoleB

⑧从SQLServer中删除登陆帐户LoginB

sp_droplogin'

⑸权限的授予与回收

1)权限的授予

①把查询XSQK表的权限授予用户UserA

ONXSQK

TOUserA

②把对KC表全部操作权限授予用户UserA

GRANTSELECT,INSERT,UPDATE,DELETE

ONKC

③把对XS_KC表的查询权限授予所有用户

GRANTSELECT

ONXS_KC

TOPUBLIC

④把删除XSQK表和修改学生学号的权限授予用户UserA

GRANTDELETE

ONXSQK

TOUserA

⑤把插入XSQK表的权限授予用户UserA,并允许将此权限再授予其它用户

GRANTINSERT

WITHGRANTOPTION

⑥把在学生成绩数据库(XSCJ)中建立表的权限授予用户UserA

GRANTCREATETABLE

2)权限的回收

①撤销用户UserA修改学号的权限

REVOKEUPDATE(Sno)

FROMUserA

②撤销所有用户对XS_KC表的查询权限

REVOKESELECT

ONXS_KC

FROMPUBLIC

③撤销用户UserA对XSQK表的插入权限

REVOKEINSERT

FROMUserACASCADE

实训思考题

一个用户要访问数据库须要经过哪几个安全认证阶段?

答:

三个阶段及相应的安全认证过程:

第一阶段:

用户首先要登录到SQLServer实例。

在登录时,系统要对其进行身份验证,被认为合法才能登录到SQLServer实例。

第二阶段:

用户在每个要访问的数据库里必须获得一个用户账号。

SQLServer实例将SQLServer登录映射到数据库用户账号上,在这个数据库的用户账号上定义数据库的管理和数据对象的访问的安全策略。

第三阶段:

用户访问数据库。

用户访问数据库对象时,系统要检查用户是否具有访问数据库对象、执行动作的权限,经过语句许可权限的验证,才能实现对数据的操作。

简述登录账户和用户账户间区别与联系

登录账户是登录SQLServer实例的账户;

用户账户是访问数据库的账户.

用户、角色和权限的职能,以及它们之间的关系

1.权限

系统的所有权限信息。

权限具有上下级关系,是一个树状的结构。

2. 

 

用户

应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,它的权限集是自身具有的权限、所属的各角色具有的权限、所属的各组具有的权限的合集。

它与权限、角色之间的关系都是n对n的关系。

3. 

角色

可以对许多拥有相似权限的用户进行分类管理,具有上下级关系,可以形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。

父级角色的用户、父级角色的组同理可推。

服务器角色有哪些,并分别简述其功能?

用户可以创建服务器角色吗?

服务器角色有:

sysadmin可以在SQLServer中执行任何活动。

serveradmin可以设置服务器范围的配置选项,关闭服务器。

setupadmin可以管理链接服务器和启动过程。

securityadmin可以管理登录和CREATEDATABASE权限,还可以读取错误日志和更改密码。

processadmin可以管理在SQLServer中运行的进程。

dbcreator可以创建、更改和除去数据库。

diskadmin可以管理磁盘文件。

bulkadmin可以执行BULKINSERT语句。

用户不可以创建服务器角色

数据库角色有哪些,并分别简述其功能?

用户可以创建数据库角色吗?

数据库角色有:

db_owner 

 

在数据库中有全部权限。

db_accessadmin 

可以添加或删除用户 

ID。

db_securityadmin 

可以管理全部权限、对象所有权、角色和角色成员资格。

db_ddladmin 

可以发出 

ALL 

DDL,但不能发出 

GRANT、REVOKE 

或 

DENY 

语句。

db_backupoperator 

DBCC、CHECKPOINT 

和 

BACKUP 

db_datareader 

可以选择数据库内任何用户表中的所有数据。

db_datawriter 

可以更改数据库内任何用户表中的所有数据。

db_denydatareader 

不能选择数据库内任何用户表中的任何数据。

db_denydatawriter 

不能更改数据库内任何用户表中的任何数据。

用户可以创建数据库角色

6、什么是数据库的安全性,可以通过哪些措施来保证数据库的安全性?

数据库的安全性是指:

保护数据库以防止非法使用所造成的数据泄密、更改或破坏.

保证数据库的安全性的方法:

用户标识和鉴别、用户存取权限控制、定义视图、数据加密、安全审计以及事务管理和故障恢复等几类

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2