- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章数据库完整性与安全.doc
第章 数据库完整性core的若干权限分别授予用户u1、u2、u3、u4、u5和u6。
① 将表Score的所有权限授予用户u1,且可以转授权限。
GRANT all ON Score TO u1 WITH GRANT OPTION
② 用户u1将表Score的所有权限授予用户u2,且可以转授权限。
GRANT all ON Score TO u2 WITH GRANT OPTION
③ 用户u2将表Score的查询和插入权限授予用户u5,且不可以转授权限。
GRANT select, insert ON Score TO u5
④ 用户u2将表Score的所有权限授予用户u4,且可以转授权限。
GRANT all ON Score TO u4 WITH GRANT OPTION
⑤ 用户u4将表Score的查询和删除权限授予用户u6,且可以转授权限。
GRANT select, delete ON Score TO u6 WITH GRANT OPTION
通过上述的授权,用户u1、u2、u3、u4、u5和u6分别得到的权限如图9-5所示。
授权用户 被授权用户 数据库对象 允许的操作 能否转授权限 DBA u1, u2, u3 过程proSearchBySno 执行权限 不能 DBA u3, u4, u5 表Student select, update 不能 DBA u1 表Class select, insert 能 DBA u1 表Score 所有权限 能 u1 u2 表Score 所有权限 能 u2 u5 表Score select, insert 不能 u2 u4 表Score 所有权限 能 u4 u6 表Score select, delete 能 图9-5 用户权限定义
[例9.7] 用户u2将转授给用户u4的对表Score的修改和查询权限收回。
REVOKE select, update ON Score FROM u4 CASCADE
本例必须级联收回,因为u4将该表的查询和删除权限转授给了u6。
[例9.8] 用户u4将转授给用户u6的对表Score的查询权限收回。
REVOKE select ON Score FROM u6
[例9.13] 在学生成绩表Score中将studentNo、courseNo定义为外码。
CREATE TABLE Score (
studentNo char(7) NOT NULL, --学号
courseNo char(3) NOT NULL, --课程号
score numeric(5, 1) default 0 NOT NULL --成绩
CHECK( score BETWEEN 0.0 AND 100.0),
/* 主码由两个属性构成,必须作为表级完整性进行定义 */
CONSTRAINT ScorePK PRIMARY KEY (studentNo, courseNo),
/* 表级完整性约束条件,studentNo是外码,被参照表是Student */
CONSTRAINT ScoreFK1 FOREIGN KEY (studentNo)
REFERENCES Student(studentNo),
/* 表级完整性约束条件,courseNo是外码,被参照表是Course */
CONSTRAINT ScoreFK2 FOREIGN KEY (courseNo)
REFERENCES Course(courseNo)
)
在本例的定义中,表Score为参照表,表Student和Course为被参照表。表Score中studentNo属性列参照表Student中的studentNo列,其含义为:表Score中studentNo列的取值必须是表Student中studentNo列的某个属性值,即不存在一个未注册的学生选修了课程。表Score中courseNo属性列参照表Course中的courseNo列,其含义为:表Score中courseNo列的取值必须是表Course中courseNo列的某个属性值,即不存在学生选修了一门不存在的课程。
本例也可以改写为:
CREATE TABLE Score (
...
/* 表级完整性约束条件,studentNo是外码,被参照表是Student */
您可能关注的文档
- 第7章数据转换服务.doc
- 第7章电脑网路.ppt
- 第8章SQLServer数据转换.ppt.ppt
- 第8章SQL系统环境本章要点1.学会用嵌入式SQL对数据库进行增、删.doc
- 第8章、甾体及其苷类.ppt
- 第8章使用vi编辑文件.ppt.ppt
- 第8章单片机串行数据通信.ppt
- 第8章回归分析.ppt.ppt
- 第8章客户订购子系统.doc
- 第8章数据库编程.ppt.ppt
- 精品解析:辽宁省大连市2023~2024学年高二下学期期末考试英语英语试卷 (原卷版).docx
- 新人教选修6Unit1单元测试.doc
- 桥本病:病因、症状与治疗.pptx
- 维生素D的功能及其与2型糖尿病.pptx
- 2025年托福考试写作高分预测试卷:城市交通拥堵与公共交通优先策略篇.docx
- 2025年托福考试写作高分预测试卷:夏季强化班:高分作文实战演练.docx
- Graves眼病:症状、风险与治疗.pptx
- 河南省郑州市六校2024-2025学年高二下学期5月第二次联考试题政治.docx
- Microchip 系列:PIC18F46J50 系列 (低功耗)_12.I-O端口.docx
- 建材知识课件大全.pptx
文档评论(0)