欢迎来到天天文库
浏览记录
ID:42486921
大小:84.55 KB
页数:13页
时间:2019-09-16
《静态完整性约束》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、静态列级约束数据的完整性——数据的正确性、有效性和相容性。即将数据控制在有效的范围内,或要求数据之间满足一定的关系。(课本P7)例如:学生的年龄必须是整数,取值范围为14~29;学生的性别只能是男或女;学生的学号是唯一的等等。这些都是指数据的完整性。数据是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。数据库的完整性数据库的完整性与安全性完整性安全性目的防止合法用户使用数据库时向数据库中加入不合语义的数据防止用户非法使用数据库,包括恶意破坏数据和越权存取数据防范对象不合语义的数据非法用户和非法操作完整性控制机制完整性约束条件定义机制完整性约束条件—
2、—加在数据库数据之上的语义约束条件。完整性检查机制检查数据是否满足完整性条件的机制,也就是检查用户发出的操作请求是否违背了完整性约束条件。违约反应如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。完整性约束条件完整性约束条件是完整性控制机制的核心。完整性约束条件作用的对象:列:对属性的取值类型、范围、精度、排序等的约束条件;元组:对元组中各个属性间的联系的约束;关系:对若干元组间、关系集合上以及关系之间的联系的约束。对于这三类对象,其状态既可以是静态的也可以是动态的。静态:对静态对象的约束是反映数据库状态合理性的约束,静态约束是最重要的一类完整性约束。
3、动态:对动态对象的约束是反映数据库状态变迁的约束。六类完整性约束条件。静态列级约束静态元组约束静态关系约束动态列级约束动态元组约束动态关系约束对象状态动态列级约束动态元组约束动态关系约束动态④⑤⑥静态列级约束静态元组约束静态关系约束静态①②③对象粒度列元组关系静态列级约束静态列级约束:对一个列的取值域的说明;最常见、最容易实现的一类完整性约束五类静态列级约束1)数据类型约束:数据的类型、长度、单位、精度等例:学生姓名的数据类型为字符型,长度为82)对数据格式的约束例:学号:前两位表示入学年份,后四位为顺序编号日期:YY.MM.DD。静态列级约束3)对取值范围或取值集合的约束例:规定成取值
4、范围或取值集合的约束绩的取值范围为0-100;年龄的取值范围为14-29;性别的取值集合为[男,女]4)对空值的约束空值:未定义或未知的值,与零值和空格不同。有的列允许空值,有的则不允许。例:成绩可为空值5)其他约束例:关于列的排序说明,组合列等静态元组约束静态元组约束:规定元组的各个列之间的约束关系例:订货关系中发货量<=订货量教师关系中教授的工资>=700元静态元组约束只局限在元组上,因此比较容易实现。静态关系约束关系的各个元组之间或若干关系之间存在的各种联系或约束常见静态关系约束:实体完整性约束参照完整性约束函数依赖约束统计约束静态关系约束关系字段间存在的函数依赖例:在学生-课程-
5、教师关系SJT(S,J,T)的函数依赖:((S,J)→T,T→J),将(S,J)作为主码,还需要显示地表示TJ这个函数依赖。定义某个字段值一个关系多个元组的统计值之间的约束关系例:职工平均工资的2倍<=部门经理的工资<=职工平均工资的5倍职工平均工资值:统计值Thankyou!!!
此文档下载收益归作者所有