- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]第4章数据库安全性和完整性
数据库的完整性是指数据的正确性和相容性,是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。 为维护数据库的完整性,DBMS必须能够: 1.提供定义完整性约束的机制 2.提供完整性检查方法 3.违约处理 * * 实体完整性在CREATE TABLE中用PRIMARY KEY定义。对单属性构成的码有两种说明方法,一种是定义为列级约束条件,另一种是定义为表级约束条件。对多属性构成的码只有一种说明方法,即定义为表级约束条件 * * 例1 将Student表中的Sno属性定义为码 /*在列级定义主码*/ CREATE TABLE Student ( Sno char ( 7 ) PRIMARY KEY, Sname char ( 10 ) NOT NULL, Ssex char (2), Sage tinyint , Sdept char (20) ) * * 或者 /*在表级定义主码*/ CREATE TABLE Student ( Sno char ( 7 ), Sname char ( 10 ) NOT NULL, Ssex char (2), Sage tinyint , Sdept char (20), PRIMARY KEY(Sno) ) * * 例2 将SC表中的Sno,Cno属性定义为码 /*只能在表级定义主码*/ CREATE TABLE SC ( Sno char(7) NOT NULL, Cno char(10) NOT NULL, Grade tinyint, XKLB char(4) , PRIMARY KEY ( Sno, Cno ) ) * * 用PRIMARY KEY短语定义了关系的主码后,每当用户程序对基本表插入一条记录或者对主码列进行更新操作时,RDBMS将按照实体完整性规则自动进行检查。包括: 1.检查主码值是否唯一,如果不唯一则拒绝插入或修改。 2.检查主码各个属性是否为空,只要有一个为空就拒绝插入或修改 从而保证了实体完整性 * * 参照完整性在CREATE TABLE中用FOREIGN KEY短语定义那些列为外码,用REFERENCES短语指明这些外码参照那些表的主码 * * 例3 定义SC的参照完整性 CREATE TABLE SC ( Sno char(7) NOT NULL, Cno char(10) NOT NULL, Grade tinyint, XKLB char(4) , PRIMARY KEY ( Sno, Cno ), FOREIGN KEY ( Sno ) REFERENCES Student ( Sno ), FOREIGN KEY ( Cno ) REFERENCES Course ( Cno ) ) 示例 * * 一个参照完整性将两个表中的相应的元组联系起来了。因此,对被参照表和参照表进行增删改操作时有可能破坏参照完整性,必须进行检查。 可能破坏参照完整性的情况及违约处理 参照完整性检查和违约处理 被参照表 参照表 违约处理 可能破坏参照完整性 插入元组 拒绝 可能破坏参照完整性 修改外码值 拒绝 删除元组 可能破坏参照完整性 拒绝/级联删除/设置为空值 修改主码值 可能破坏参照完整性 拒绝/级联删除/设置为空值 * * CREATE TABLE SC ( Sno char(7) NOT NULL, Cno char(10) NOT NULL, Grade tinyint, XKLB char(4) , PRIMARY KEY ( Sno, Cno ), FOREIGN KEY ( Sno ) REFERENCES Student ( Sno ), ON DELETE CASCADE/*删除student元组时,级联删除SC相应元组*/ ON UPDATE CASCADE /*更新student元组时,级联更新SC相应元组*/ FOREIGN KEY ( Cno ) REFERENCES Couse ( Cno ) ON DELETE NO ACTION/*删除course元组造成与SC不一致时拒绝删除*/ ON UPDATE CASCADE /*更新course中的cno时级联更新SC相应元组*/ ) 参照完整性的违约处理示例 * * 用户自定义完
您可能关注的文档
- [计算机软件及应用]嵌入式软件基础4-接口与网络系统.ppt
- [计算机软件及应用]常考算法1.doc
- [计算机软件及应用]字处理技能之三.doc
- [计算机软件及应用]太原理工大学java实验报告.doc
- [计算机软件及应用]思迅商业之星V7常见问题.doc
- [计算机软件及应用]微机五防软件使用.ppt
- [计算机软件及应用]微软等数据结构+算法面试100题全部答案.pdf
- [计算机软件及应用]弹性云计算平台-Exalogic-Frank Xiong.pdf
- [计算机软件及应用]微软宠物商店代码分析文档.pdf
- [计算机软件及应用]按钮工具栏的使用2.ppt
- 2025年广东省梅州市蕉岭县高三下学期考前数学适应性演练(二)试题.docx
- 2025-2030中国音频智能眼镜市场深度调查与销售策略分析研究报告.docx
- 2025-2030中国音频放大器集成电路行业市场现状供需分析及投资评估规划分析研究报告.docx
- 2025年广东省梅州市梅江区高三二模数学试卷及答案.docx
- 2025年广东省梅州市梅江区高三英才班下学期数学限时训练试题.docx
- 2025年广东省梅州市梅县高三英才班下学期数学限时训练试题.docx
- 2025-2030中国音频线路行业市场现状供需分析及投资评估规划分析研究报告.docx
- 2025-2030中国音频编辑器行业市场现状供需分析及投资评估规划分析研究报告.docx
- 2025-2030中国音响影院行业市场发展趋势与前景展望战略研究报告.docx
- 2025-2030中国音响行业市场发展前景及发展战略与投资研究报告.docx
文档评论(0)