数据库和表数据库表的基本操作和表级约束约束条件-实验报告

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

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

题目:实验一 数据库和表数据库

/表的基本操

作和表级约束约束条件

姓名 班级 学号 日期

2010.9.29

一. 实验内容和步骤结果

1.在Student 数据库中,利用图形用户界面,创建一个选修了数据库课程并且是1986年出生的学生的视图,视图中包括学号,性别,成绩这三个信息:

2.用两种不同的SQL 语句创建课本128页第11题中要求的视图(视图名:V_SPJ ) 方法一:

CREATE VIEW V_SPJ AS

SELECT SNO ,PNO ,QTY FROM SPJ WHERE JNO in( SELECT JNO FROM J 表

WHERE JNAME ='三建')

方法二:

CREATE VIEW V_SPJ

AS

SELECT SNO,PNO,QTY

FROM SPJ,J表

WHERE SPJ.JNO=J表.JNO AND

JNAME='三建'

3.用SQL语句完成课本128页第11题中对视图V_SPJ的查询(1)

SELECT PNO,QTY

FROM V_SPJ

(2)

SELECT PNO,QTY FROM V_SPJ

WHERE SNO='S1'

4.用T-SQL语句操作视图的数据。(15分,每题5分)

(1) 给视图V_SPJ中增加一条数据(基本表中有插入的数据即可)。

INSERT

INTO V_SPJ

VALUES('S0','P0','100')

(2)修改视图V_SPJ中的任意一条数据的供应数量。UPDATE V_SPJ

SET QTY=10

WHERE SNO='S1'AND

PNO='P1'

(3)删除视图V_SPJ中的任意一条数据。DELETE

FROM V_SPJ

WHERE SNO='S1';

5.在图形用户界面中创建新登录名以及用户。(20分,每题10分)

(1)对于数据库company创建P148页第 8题中所需要用到的各个用户以及相关的关的登录名。(假定有数据库company,库中有两个表e(职工表)和d(部门

表))。

具体步骤:

在安全性目录下选择登录名,右键单击新建,输入登录名和登录密码,并在用户映射出选择company。

运行结果:

(2)用图形用户界面完成以下的权限勇赋予:

a)用户王明对两个表有Select和Insert的权力。

具体步骤:

右键单击王明,选择属性,选择安全对象,添加对象,特定对象。复选框选择表,确定。表对象选择:e和d。在授予下的复选框选择Select和 Insert。

运行结果:

b)用户李勇对职工表具有Select权力,对工资字段具有更新权力:

具体步骤:

确定Select权利和上题一样。而对工资字段具有更新权力,单击Update,点列权限,选择“工资”。

运行结果:

6.用T-SQL语句授权和收回权限并加以验证。(50分,每题5分)

(1)P148页 8题。(除过(a),(e))

(b) SQL源码:

GRANT INSERT,DELETE

ON e

TO李勇

GRANT INSERT,DELETE

ON d

TO李勇

运行结果:

(c)SQL源码:CREATE VIEW E_SELECT

AS SELECT*

FROM e

WHERE e.姓名=CURRENT_USER GO

GRANT SELECT

ON E_SELECT

TO PUBLIC

运行结果:

(d)SQL源码:GRANT SELECT,UPDATE(工资) ON e

TO刘星

运行结果:

(f) SQL源码:GRANT ALL PRIVILEGES

ON e

TO周平

WITH GRANT OPTION

GRANT ALL PRIVILEGES

ON d

TO周平

WITH GRANT OPTION

运行结果:

(g)SQL源码:

CREATE VIEW X_PAY

AS

SELECT e.部门号,MAX(工资)最大工资,MIN(工资)最小工资,AVG(工资)平均工资FROM e,d

WHERE e.部门号=d.部门号

GROUP BY e.部门号

GO

GRANT SELECT

ON X_PAY

TO杨兰;

运行结果:

(2)P148页 9题的c),d),f),g):

(c) SQL源码:

REVOKE SELECT

ON E_SELECT

FROM PUBLIC;

DROP VIEW E_SELECT;

运行结果:

(d)SQL源码:

REVOKE SELECT,UPDATE

ON e

FROM刘星

运行结果:

(f)SQL源码:REVOKE ALL PRIVILEGES ON e

FROM周平

REVOKE ALL PRIVILEGES ON d

FROM周平

运行结果:

(g)SQL源码:REVOKE SELECT

ON X_PAY

FROM杨兰;

DROP VIEW X_PAY;

运行结果:

相关文档
最新文档