数据库实验报告二

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

《数据库原理》实验报告

实验三: 数据库完整性与安全性控

实验四: 视图与索引

学号 姓名 班级 日期

2013302534

杨添文

10011303

2015.10.1

7

实验三:数据完整性与安全性控制

一、实验内容

1. 利用图形用户界面对实验一中所创建的Student 库的S 表中,增加以下的约束和索引。

(18分,每小题3分)

(1) 非空约束:为出生日期添加非空约束。

(2) 主键约束:将学号(sno)设置为主键,主键名为pk_sno 。

(3) 唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname 。

(4) 缺省约束:为性别(ssex)添加默认值,其值为“男”。

(5) CHECK 约束:为SC 表的成绩(grade)添加CHECK 约束,约束名为ck_grade ,其检查

条件为:成绩应该在0-100之间。

(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表为分别是S

表和C表,外键名称分别为fk_sno,fk_cno。

2.在图形用户界面中删除上小题中已经创建的各种约束,用SQL语言分别重新创建第1小题中的(2)-(6)小题。(15分,每小题3分,提示:alter table add constraint)(2)alter table s

add constraint pk_sno primary key(sno)

(3)alter table s

add constraint uk_sname unique(sname)

(4)alter table s

add constraint a default('男')for ssex

(5) alter table sc

add constraint ck_grade check(grade between 0 and 100)

(6) alter table sc

add constraint fk_sno foreign key(sno)references s(sno)

alter table sc

add constraint fk_cno foreign key(cno)references c(cno)

3.利用图形用户界面根据上述SC表中的外键定义画出由S,C,SC表构成的数据库关系图。(5分,提示:选中student -> 数据关系图)

4.用SQL语言删除S表中所创建的缺省约束和外键约束。(6分,每小题3分)

(1)缺省约束:

alter table s

drop constraint a

(2)外键约束:

alter table sc

drop constraint fk_sno,fk_cno

5.在图形用户界面中创建新登录名以及用户。(16分)

(3)根据第四版教材P148页第 8题,创建数据库company和其中的基本表,并创建该

题中所需要用到的各个用户以及相关的登录名。(10分)

(4)用图形用户界面完成以下的权限赋予:(每小题3分)

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

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

6.用SQL语句授权和收回权限并对权限加以验证。(40分,每题4分)

(1)第四版教材P148页第8题b),c),d),f),g)。

(b)grant insert,delete

on职工

to李勇

grant insert,delete

on部门

to李勇

(c) grant select

on职工

to public

(d)grant select,update(工资)

on职工

to刘星

(f)grant all privileges

on职工

to周平

with grant option

grant all privileges

on部门

to周平

with grant option

(g)create view wage(a,b,c,d)

as

select职工.部门号,max(工资),min(工资),avg(工资)

from职工,部门

where职工.部门号=部门.部门号

group by职工.部门号

grant select

on wage

to杨兰

(2)第四版教材P148页第9题的b),c),d),f),g)。

(提示:(c)和(g)小题可创建合适的视图,针对视图进行授权,

(c)小题用CURRENT_USER)

(b)revoke delete,insert on部门

from李勇;

revoke delete,insert on职工

from李勇;

(c)revoke select

on职工

from public

(d)revoke select,update

on职工

from刘星

(f)revoke all privileges

on职工

from周平cascade

(g)revoke select on wage

相关文档
最新文档