静态完整性约束

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例:订货关系中发货量<=订货量 教师关系中教授的工资>=700元
静态元组约束只局限在元组上,因此比 较容易实现。
静态关系约束
关系的各个元组之间或若干关系之间存在的 各种联系或约束 常见静态关系约束:
实体完整性约束 参照完整性约束 函数依赖约束 统计约束
静态关系约束
关系字段间存在的函数依赖
例:在学生-课程-教师关系 SJT(S,J,T) 的函数依 赖:( (S,J)→T, T→J ),将(S, J)作为主码,还需要 显示地表示T J这个函数依赖。
动态:对动态对象的约束是反映数据库状态变迁的约束。 六类完整性约束条件。
静态列级约束 静态元组约束 静态关系约束 动态列级约束 动态元组约束 动态关系约束
对象状态 动态列级约束 ④ 动态元组约束 ⑤ 动态关系约束 ⑥
动态
静态
静态列级约束 ①
静态元组约束 ②
静态关系约束 ③
对象粒度 列 元组 关系
静态列级约束
例:规定成取值范围或取值集合的约束绩的取值范围为0-100; 年龄的取值范围为14-29;性别的取值集合为[男,女]
4Baidu Nhomakorabea对空值的约束
空值:未定义或未知的值,与零值和空格不同。 有的列允许空值,有的则不允许。
例:成绩可为空值
5)其他约束
例:关于列的排序说明,组合列等
静态元组约束
静态元组约束:规定元组的各个列之间的 约束关系
a.
b. c.
列:对属性的取值类型、范围、精度、排序等 的约束条件; 元组:对元组中各个属性间的联系的约束; 关系:对若干元组间、关系集合上以及关系之 间的联系的约束。
对于这三类对象,其状态既可以是静态的也可以是动态 的。 静态:对静态对象的约束是反映数据库状态合理性的约束,
静态约束是最重要的一类完整性约束。
数据库的完整性与安全性 完整性 目的 防范对象
防止合法用户使 用数据库时向数 据库中加入不合 语义的数据 不合语义的数据
安全性
防止用户非法使 用数据库,包括 恶意破坏数据和 越权存取数据 非法用户和非法 操作
完整性控制机制
完整性约束条件定义机制
完整性约束条件——加在数据库数据之上的语义约束 条件。
定义某个字段值一个关系多个元组的统计值 之间的约束关系
例:职工平均工资的2倍<=部门经理的工资<=职工平 均工资的5倍 职工平均工资值: 统计值
THANK YOU !!!
完整性检查机制
检查数据是否满足完整性条件的机制,也就是检查 用户发出的操作请求是否违背了完整性约束条件。
违约反应
如果发现用户的操作请求使数据违背了完整性约束 条件,则采取一定的动作来保证数据的完整性。
完整性约束条件
完整性约束条件是完整性控制机制的核心。 完整性约束条件作用的对象: 完整性约束条件作用的对象
静态列级约束
数据库的完整性
数据的完整性——数据的正确性、有效 性和相容性。即将数据控制在有效的范围内, 或要求数据之间满足一定的关系。(课本P7)
例如:学生的年龄必须是整数,取值范围为 14~29;学生的性别只能是男或女;学生的学号是唯 一的等等。这些都是指数据的完整性。
数据是否具备完整性关系到数据库系统 能否真实地反映现实世界,因此维护数据库 的完整性是非常重要的。
静态列级约束:
对一个列的取值域的说明; 最常见、最容易实现的一类完整性约束
五类静态列级约束
1) 数据类型约束:数据的类型、长度、单位、精度等
例:学生姓名的数据类型为字符型,长度为8
2) 对数据格式的约束
例:学号:前两位表示入学年份,后四位为顺序编号 日期:YY.MM.DD。
静态列级约束
3)对取值范围或取值集合的约束
相关文档
最新文档