数据库安全性与完整性实验

  • 格式:docx
  • 大小:124.69 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、 实验目的与要求

目的:

使学生加深对数据安全性与完整性实验的理解,并掌握 SQL Server 中有关用户,角色及操作

权限的管理方法,熟悉通过 SQL 语句副i 数据进行完整性控制。

要求:

1. 数据库的安全性实验,在 SQL Server 企业管理器中设置 SQL server 的安全认证模式,实现 对SQL server 的用户和角色管理,设置和管理数据操作权限。

2. 指出用户和角色的区别

二、 实验内容

1. 设置SQL server 的安全认证模式(windows 或SQL server 和 Windows ( s )认证模式)、。

2. 登陆的管理 创建一个登录用户

3. 数据库用户的管理

登录用户只有成为数据库(Database User )后才能访问数据库。每个数据库的用户信息都存放在 系统表Sysusers 中,通过查看 Sysusers 表可以看到该数据库所有用户的情况。 SQLServer 的数

据库中都有两个默认用户: dbo (数据库拥有者用户)和(dba )。通过系统存储过程或企业管理

器可以创建新的数据库用户。 4. 角色的管理

创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。

5. 在学生表中定义主键、外键约束

6. 在课程表的“课程名”字段上定义唯一约束

7. 在选课表的“成绩”字段上定义 check 约束,使之必须大于等于

0且小于等于100.

“课程号”字段只能输入数字字符

8. 定义规则,并绑定到学生表的“性另『字段,使之只能取“男、女”值

9. 在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日 期。

数据库原理及应用

实验报告

题 目: 数据库安全性与完整性实验 专 业:

网络工程

班 级:

号:

名:

太原工业学院计算机工程系 2016年 10月15日

2..登陆的管理创建一个登录用户

sp_addlogin,BBBlogin,,' *, ' BBB*

exec sp_addsrvrolemember J BBBlogin* , * sysadmin5

三、解决方案和实验结果

1.创建一个SQL Server身份验证的登录(命名方式:数据库名称+Login ),默认数据库是新创

建的数据库,并为该登录指定sysadmin服务器角色

已创堡新登录*〒r

n BBBlogin R已瘁加至Q帚色f sysa(iniin n中 *

舉据库用户匡性—EBBUser

他登录即

用户名

0J)

数据库角色成员

Q):

BB Blogin

BBBUser

权限的…

确走|

3•在已有数据库中创建一个数据库用户(命名方式:数据库名称+ User),与上面的登录关联

exec sp_grantdbaccess 'BBBlogin' ,' EBBUser^

< I 已向'BBBlogiiV授予数IB库访同稅*

4•角色的管理创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。

在已有数据库中创建一个自定义数据库角色(命名方式:数据库名称+ Role),并把上面用户指定为该角色成员

II exec sp_addrole ?BBBRole5 exec sp_addrolemember ' BBBRole',” BBB|l T ser?

于甬鱼已添加*

f BEBUser1己添加到朗色r BBBRole'中*

命令已咸功完成。

5.在学生表中定义主键、外键约束

I create table students

(Sno char(9 J primary key

foreign key(Sno;references Sc Sno))

| < rrr

恤劳器:—消宣睥鸟「鱸则⑹ 状悲鼠行1

I数据库中已存在容%R students-的对象。

6•在课程表的“课程名”字段上定义唯一约束

create t硕ble Course

ame char 20) unique)

服努謹「消克对同,级别1恥状态E,行1 数堀障中已存在客为-Course^的嗣象。

7•在选课表的“成绩”字段上定义c h e c k约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符

create table Sc

Sno char not null, Grade smallint che|ck(Grade>=0 and Grade<=100))

8•定义规则,并绑定到学生表的“性另『字段,使之只能取“男、女”值

CREATE RULE sex_rule AS @ssex IN (' 男','女')

sp_b in drule sex_rule,'stude nt.ssex'

CREATE RULE ssex_rule AS @sex_rule IN ('男'「女')

sp_bindrule SEE|x_rule, ?Student. Ssex?

9.在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日期。

五、出现的问题及解决的方法