已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统简介第五章数据库完整性,数据库完整性,数据库完整性,数据库完整性,数据库完整性数据的正确性和兼容性,数据完整性和安全性是两个不同的数据概念的完整性,以防止数据库中存在非语义数据,即防止数据库中存在不正确的数据防止对象:非语义和不正确数据的安全性,以保护数据库免受恶意破坏和非法访问防止对象:非法用户和非法操作,数据库完整性(续)。为了维护数据库的完整性,数据库管理系统必须:提供定义完整性约束的机制,提供完整性检查方法,默认处理,AnIntroductiontoDatabaseSystem,第5章数据库完整性,5.1实体完整性5.2引用完整性5.3用户定义的完整性5.4完整性约束命名条款*5.5域完整性限制5.6触发器5.7摘要,AnintProductionToDatabaseSystem,5.1实体完整性,5.1.1实体完整性定义5.1.2实体完整性检查和默认处理。5.1.1实体完整性定义。在关系模型的实体完整性创建表中,由单个属性组成的代码由PRIMARYKEY定义。有两种描述方法被定义为列级约束,被定义为表级约束。对于由多个属性组成的代码,只有一种描述方法被定义为表级约束。在列级定义主代码创建表学生(SNOCHAR (9)主键,SNACHAR(20)非空,SSECHAR(2),SageSMALLINT,SDEPTCHAR(20);示例1学生表中的Sno属性被定义为代码、AnIntroductiontoDatabaseSystem、实体完整性定义(续),(2)在表级别定义主代码CREATETABLEStudent(SnoCHAR(9)、SnaMachar(20)NOT NULL、SsexCHAR(2)、SageSMALLINT、SdeptCHAR(20)、PRIMARYKEY(Sno);AnIntroductiontoDatabaseSystem,实体完整性定义(续),CREATE TABLE SC(SNOCHAR(9)NOT NULL,CnoCHAR(4)NOTNULL,GradeSMALLINT,PRIMARYKEY(Sno,Cno)/*主代码*/)只能在表级别定义;示例2SC表中的Sno和Cno属性组定义为代码、AnitProductionToDatabaseSystem、5.1实体完整性、5.1.1实体完整性定义5.1.2实体完整性检查和默认处理、AnitProductionToDatabaseSystem、5.1.2实体完整性检查和默认处理。当插入或更新主代码列时,RDBMS根据实体完整性规则自动检查。包括以下步骤:检查主代码值是否唯一;如果不唯一,拒绝插入或修改;检查主代码的每个属性是否为空;如果只有一个属性为空,拒绝插入或修改;初始化数据库系统;实体完整性检查和默认处理(续);通过执行全表扫描,检查记录中的主代码值是否唯一。生产数据库系统,实体完整性检查和默认处理(续),索引,生产数据库系统,第5章数据库完整性。5.1实体完整性5.2参照完整性5.3用户定义的完整性5.4完整性约束命名语句*完整性限制5.6触发5.7 5.5域中的摘要,ANitProductionToDatabaseSystem,5.2参照完整性,5.2.1参照完整性定义5.2.2参照完整性检查和默认处理,ANitProductionToDatabaseSystem,5.2.1参照完整性定义,CREATETABLE中的关系模型参照完整性定义,FOREIGNKEY短语用于定义哪些列是外部代码。REFERENCES短语用于指示哪些表被这些外来代码引用。ANintProductionToDatabaseSystem,参照完整性定义(续),示例3参照完整性在定义SC中创建表sc (snochar (9)不为空,CnoCHAR(4)不为空,GradeSMALLINT,PRIMARYKEY(Sno,Cno),/*在表级别定义实体完整性*/外键(Sno)引用学生(SNO),/*定义参照完整性*/外键(CNO)引用课程(CNO)/*定义参照完整性*/);例如,关系SC中的元组表示学生在某门课程中的成绩,(Sno,Cno)是主要代码。Sno和Cno分别指学生表的主代码和课程表的主代码,即生产数据库系统、5.2参考完整性、5.2.1参考完整性定义、5.2.2参考完整性检查和默认处理、生产数据库系统、参考完整性检查和默认处理。可能会损坏参照完整性和默认处理的条件、AnIntroductiontoDatabaseSystem系统,默认处理,参照完整性默认处理拒绝(NOACTION)执行默认策略级联操作设置为空(设置为空)。为了参照完整性,除了定义外部代码之外,您还应该定义外部代码列是否允许空值。默认处理(续),创建表sc (snochar (9)不为空,CnoCHAR(4)不为空,GradeSMALLINT,PRIMARYKEY(Sno,Cno),外键(Sno)引用学生(Sno)OnDeleteChacade/*级联删除sc表中相应的元组*/updatecascade。/*级联更新SC表中的对应元组*/外键(cno)引用进程(CNO) ondeletenoaction/*拒绝删除*/ONUPDATECASCADE/*级联更新SC表中的对应元组*/)当更新进程表中的CNO时;示例4明确解释引用完整性的默认处理示例,AnIntroductiontoDatabaseSystem,第5章数据库完整性,5.1实体完整性5.2引用完整性5.3用户定义完整性5.4完整性约束命名语句*5.5域完整性限制5.6触发器5.7摘要。一个产品数据库系统,5.3用户定义的完整性,用户定义的完整性是关系数据库管理系统对特定应用程序的数据必须满足的语义要求,并且不必由应用程序承担。5.3用户定义的完整性,5.3.1属性约束的定义5.3.2属性约束检查和默认处理5.3.3元组约束的定义5.3.4元组约束检查和默认处理5.3.4属性约束的定义5.3.1。当创建表时,列值被定义为非空。列值是UNIQUE。检查列值是否满足布尔表达式(检查),动画数据库系统,属性约束条件的定义(续)。不允许空值。示例5定义供应链表时,声明Sno、Cno和等级属性不允许空值。创建表SC (SnoCHAR (9)不为空,CnoCHAR(4)不为空,GradeSMALLINTNOTNULL,PRIMARYKEY(Sno,Cno)。/*如果表级实体完整性的定义意味着SNO和Cno不允许空值,则列级不允许空值的定义无需编写*/);AnIntroductiontoDatabaseSystem,属性约束的定义(续),唯一列值,示例6建立部门表DEPT,要求部门名称Dname列具有唯一值,部门编号Deptno列为主要代码CREATE TABLE DEPT(DEPTNO NUMERIC(2),DnameCHAR(9)UNIQUE,/*要求唯一的Dname列值*/locatochar (10),PRIMARYKEY(DEPTNO););AnIntroductiontoDatabaseSystem,属性约束的定义(续),使用CHECK短语指定列值应满足的条件,示例77学生表中的Ssex只允许“男性”或“女性”。创建表学生(snochar (9) primarykey,SnameCHAR(8)NOTNULL,Ssexcar (2) check (ssexinin(男性,女性),/*性别属性ssex只允许男性或女性*/sageSallint,SDeptchar(20);5.3用户定义的完整性,5.3.1属性约束的定义,5.3.2属性约束检查和默认处理,5.3.3元组约束的定义,5.3.4元组约束检查和默认处理,5.3.2属性约束检查和默认处理。当插入元组或修改属性值时,RDBMS检查是否满足对属性的约束。否则,操作将被拒绝。5.3用户定义的完整性。5.3.1属性约束的定义5.3.2属性约束检查和默认处理5.3.3元组约束的定义5.3.4元组约束检查和默认处理5.3.4元组约束的定义5.3.3。创建CREATETABLE时,CHECK短语可用于定义元组的约束,即元组级约束可以设置不同属性之间取值的相互约束,这与属性值约束、AnIntroductiontoDatabaseSystem、元组约束的定义(续)相比。创建表研究(SnoCHAR(9)、SnaMachar(8)not NULL、Ssexcar (2)、SageSMALLINT、SdeptCHAR(20)、PRIMARYKEY(Sno)、CHECK(Ssex=阴性或ORSnameNOTLIKEMs。%)/*定义元组中Sname和ssex两个属性值之间的约束条件*/)。性别是能够通过考试的女性的元组,因为ssex=女性已经建立;当性别为男性时,如果通过考试,姓名不得以女士开头。示例9当学生的性别为男性时,名称不得以ms开头,ANitProductionToDatabaseSystem,5.3用户定义的完整性,5.3.1属性约束的定义,5.3.2属性约束检查和默认处理,5.3.3元组约束的定义,5.3.4元组约束检查和默认处理,ANitProductionToDatabaseSystem,5.3.4元组约束检查和默认处理。当插入元组或修改属性值时,RDBMS检查元组的约束是否满足。否则,操作将被拒绝。数据库完整性,第5章。5.1实体完整性5.2参考完整性5.3用户定义的完整性5.4完整性约束命名条款*完整性限制5.6触发5.7 5.5域中的摘要,一个生产数据库系统,5.4完整性约束命名条款,约束约束约束主键短语|外键短语|检查短语,一个生产数据库系统,完整性约束命名条款(续)。创建表学习(编号(6)约束1检查(编号在90000和99999之间),锁机制(20)约束2不为空,符号(3)约束3检查(符号30),SSEX CHAR (2)约束C4检查(SSEX输入(男性,女性),约束学生关键要素(SNO);在学生表上建立了五个约束,包括主代码约束(名为StudentKey)和C1、C2、C3和C4的四个列级约束。示例10学生登记表的建立要求学生编号在90000和99999之间,姓名不能为空,年龄小于30岁,性别只能是“男性”或“女性”。ANitProductionToDatabaseSystem,完整性约束命名子句(续),修改表中的完整性约束使用ALTERTABLE语句修改表中的完整性约束,ANitProductionToDatabaseSystem,完整性约束命名子句(续),您可以在添加新约束ALTERTABLATudentDropConstraint 1之前删除原始约束;altertablestudentaddconstraints 1 check(不介于900000和999999之间);alterTableStud
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年外部审计师人员岗位招聘面试参考试题及参考答案
- 基于公共决策视角的教育公平问题研究-图文
- 公共部门人力资源绩效评估案例分析
- 地方政府融资平台公司的内部控制策略研究
- 人力资源行业存在的问题及对策
- 人力资源管理M人力资源论文选题100题
- 国有企业内部控制与内部审计管理
- 浅谈国企的人力资源管理
- 招聘分析报告
- 水泥生产技术规范与行业标准
- 园林花卉病虫害防治技术
- C++可视化编程技术研究与应用
- 医疗机构依法执业自查管理办法
- 2024年甘肃省普通高中信息技术会考试题(含24套)
- 真空干燥箱校准规范
- 也是冬天也是春天:升级彩插版
- 茂名市恒兴养殖有限公司江湖镇龙梅生产基地建设项目环评报告
- 滑触线施工方案
- 小学二年级上册书法教案
- 垃圾池施工方案
- 儿内科神经肌肉系统疾病诊疗规范2023版
评论
0/150
提交评论