实验四
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验4数据库安全性和完整性
实验目的
1.加深对数据库安全性和完整性的理解
2.学会授权与回收
3.理解并体会数据库实体完整性、参照完整性、用户定义的完整性约束条件的作用实验内容
创建用户a,b,c
Create login a with PASSWORD ='a520'
CREATE USER a;
Create login b with PASSWORD ='b520'
CREATE USER b;
Create login c with PASSWORD ='c520'
CREATE USER c;
1. 设置用户a对SPJ表的查询权限。
GRANT UPDATE,SELECT
ON SPJ
TO a;
2. 设置用户b对S表、P表具有修改的权限,并要求b能够将该权限授予其它用户c,并验证用户c具有该权限。
GRANT UPDATE,update
ON S
TO b
with grant option
GRANT UPDATE,update
ON P
TO b
with grant option
GRANT UPDATE,update
ON S
TO c
with grant option
GRANT UPDATE,update
ON P
TO c
with grant option
验证用户c具有修改权限
update S
set STATUS='30'
where SNO='S1'
3. 收回用户a、b的权限,并验证用户c权限的情况。
REVOKE SELECT,update
ON SPJ
FROM a;
REVOKE UPDATE,update
ON S
FROM b cascade;
REVOKE UPDATE,supdate
ON P
FROM b cascade;
select*from S
4. 对实验中创建的表,用图形用户界面建立外键联系,并验证外键的作用。
表J与表SPJ建立外键联系
表P与表SPJ建立外键联系
表S与表SPJ建立外键联系
5. 对实验中创建的表,设置零件的颜色必须在红、橙、黄、绿、青、蓝、紫七种颜色范围内,零件重量不能超过的约束条件,并给这两种约束条件命名。
ALTER TABLE P
ADD CONSTRAINT c1 check(COLOR in('红','橙','黄','绿','青','蓝','紫'));
ALTER TABLE P
ADD CONSTRAINT c2 check(WEIGHT<=50);
6. 设置SPJ表中供应零件的数量都不能超过
ALTER TABLE SPJ
ADD CONSTRAINT c3 check(QTY<=1000);
7. 设置S表中的供应商号以字母‘S’开头
alter table S add constraint c4 check(SNO like'S%')
8. 验证各个表的实体完整性。
insert into P values('P7','螺母','白',30);
insert into P values('P7','螺母','红',20);
select * from P
insert into SPJ values('S1','P1','J1',1200);
insert into SPJ values('s1','p3','J1',300);
实验总结
通过这次实验,不仅对数据库的安全性和完整性有进一步的了解,同时又从新复习了数据库查询,跟新,授权和用户角色建立等操作,而且更加巩固了课上的知识,在今后的学习中会更加努力的~~