数据库系统实验报告 实验三 数据控制(安全性)..

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

《数据库系统概论》实验报告

题目:实验三数据控制(安全性)

班级姓名学号日期2014年6月6日

一、实验目的

1.通过SQL对数据库进行安全性控制

2.完成教材中例题的上机练习

二、实验平台

微软SQL Server 2000或以上版本。

对于SQL Server 2000,使用查询分析器运行SQL语句,对于SQL Server 2005以上的版本,使用SQL Server Management Studio运行SQL语句。

三、实验内容和要求

使用SQL对数据进行安全性控制,包括授权和权力回收。

操作完成后,查看授权用户是否真正具有所授予的数据操作权利,在权力回收操作之后,用户是否确实丧失了所回收的数据操作权力。

在前几次实验中已经建立了实验数据库,继续在此数据库上进行实验所要求的各项操作。认真填写实验报告,记录所有的实验用例。

四、实验步骤

1.以管理员sa登录数据库,新建DB数据库,然后运行如下SQL语句,创建

我们前几次实验所建立的表。

CREATE TABLE course (

Cno char(4) NOT NULL,

Cname char(40) DEFAULT NULL,

Cpno char(4) DEFAULT NULL,

Ccredit smallint DEFAULT NULL,

PRIMARY KEY (Cno)

) ;

--

-- 转存表中的数据'course'

--

INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES

('1', '数据库', '5', 4);

INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES

('2', '数学', NULL, 2);

INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('3', '信息系统', '1', 4);

INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('4', '操作系统', '6', 3);

INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('5', '数据结构', '7', 4);

INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('6', '数据处理', NULL, 2);

INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('7', 'PASCAL语言', '6', 4);

INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('8', 'DB_DESIGN', '1', 2);

--

-- 表的结构'sc'

--

CREATE TABLE sc (

Sno char(9) NOT NULL DEFAULT '',

Cno char(4) NOT NULL DEFAULT '',

Grade smallint DEFAULT NULL,

PRIMARY KEY (Sno,Cno),

) ;

--

-- 转存表中的数据'sc'

--

INSERT INTO sc (Sno, Cno, Grade) V ALUES

('200215121', '1', 92);

INSERT INTO sc (Sno, Cno, Grade) V ALUES

('200215121', '2', 85);

INSERT INTO sc (Sno, Cno, Grade) V ALUES

('200215121', '3', 88);

INSERT INTO sc (Sno, Cno, Grade) V ALUES

('200215122', '2', 90);

INSERT INTO sc (Sno, Cno, Grade) V ALUES

('200215122', '3', 80);

-- --------------------------------------------------------

--

-- 表的结构'student'

--

CREATE TABLE student (

Sno char(9) NOT NULL,

Sname char(20) DEFAULT NULL UNIQUE,

Ssex char(2) DEFAULT NULL,

Sage smallint DEFAULT NULL,

Sdept char(20) DEFAULT NULL,

PRIMARY KEY (Sno),

)

--

-- 转存表中的数据'student'

--

INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) V ALUES

('200215121', '李勇', '男', 20, 'CS');

INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) V ALUES

('200215122', '刘晨', '女', 19, 'CS');

INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) V ALUES

('200215123', '王敏', '女', 18, 'MA');

INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) V ALUES

('200215125', '张立', '男', 19, 'IS');

INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) V ALUES

('200215128', '陈冬', '男', 18, 'IS');

--

-- 限制表'course'

--

ALTER TABLE course

ADD CONSTRAINT course_ibfk_1 FOREIGN KEY (Cpno) REFERENCES course (Cno);

--

-- 限制表'sc'

--

ALTER TABLE sc

ADD CONSTRAINT sc_ibfk_1 FOREIGN KEY (Sno) REFERENCES student (Sno); ALTER TABLE sc

ADD CONSTRAINT sc_ibfk_2 FOREIGN KEY (Cno) REFERENCES course (Cno);

2.创建数据库服务器的登录名u1~u7,服务器角色为空,数据库访问许可增加

对前上一步建立的DB的访问权。

(1)建立用户u1~u7;

在SQL的企业管理器中,在DB下的安全性目录下选择新建登录名,分别创建用户u1~u7。

(2)增加对DB的访问权;

将创建完的用户u1~u7属性中的数据库访问内,在对DB的访问权打上勾。如下所示:

相关文档
最新文档