数据安全性与完整性分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 5.2?? 完整性约束 * * 5.2?? 完整性约束 2、静态列级约束 ——对一个列的取值域的约束。 ①数据类型约束( 类型、长度、单位、精度) 如:姓名XM为Char长8位;年龄NL为Int型,长3位。 ②数据格式约束 如:工作证号前2位表示省,后3位表示县,后4位 表示单位顺序号,后5位表示个人顺序号。 ③值域约束 如:成绩CJ≤100,年龄NL≤150,性别XB={男,女} ④空值约束 是否允许空值列。如:成绩CJ可为空。 ⑤其它约束 * * 5.2?? 完整性约束 3、静态元组约束 对一个(仅一个)元组中各列值间联系的约束。 如:总额 ≥ 单价 工龄 年龄 实发工资 = 应发工资 - 总扣款 4、静态关系约束 ——对一个关系中若干元组之间或若干关系的联系的约束。 ①实体完整性约束 ②参照完整性约束 ③函数依赖约束 ④统计约束 如:职工最低工资不能低于本部门职工平均工资的50%。 老板工资不能超过员工平均工资的10倍。 ? * * 5.2?? 完整性约束 5、动态列级约束 ——修改列定义或列值时的约束。 ① 修改定义约束 ——修改定义时新老值间的约束。 如:将允许空值列改为不允许空值时,若该列值已有空值,则不可修改。 ② 修改值约束 ——修改时新旧值间的约束。 如年龄不能修改得更小(只会长大)。 ? 6、动态元组约束 ——修改元组时新旧值间的约束。 ? 7、动态关系约束 ——施加于关系上的前后状态的约束。 如:事务的一致性和原子性约束就是保证 动态关系约束的技术。 * * 5.3 完整性控制 1、实体完整性(entity integrity) ——对关系模式候选码施加的完整性控制。 ①不允许空; ②不能重复。 例:student (XH,XM,XB,NL) XH为主码,不能为空 course(KH,KM) KH为主码,不能为空 sc(XH,KH,CJ) XH,KH不能为空 Create table student (XH, Char(6) Primary Key,…,) 通常用Primary Key 定义主码,用Unique定义候选码。 一般DBMS会在Primary Key上自动加上Index 在Unique上的Index需另行声明 * * 5.3 完整性控制 多属码 必须用表约束定义 单属码 可用列约束或表约束定义 * * 5.3 完整性控制 2、参照完整性(referential integrity) ——对外码施加的完整性控制。 参照关系:外码所在关系,如SC,常称为从表或子表; 被参照关系:主码(同时又是另一关系中的外码)所在关系,如student, course常称为主表或父表。 CLASS Clno Clname Major 01 双学位 计算机 02 专生本 数学 04 自修 物理 05 研究生 化学 STUDENTS Sn Sname Clno 991001 牛得草 01 991020 草上飞 01 001001 鱼得水 04 001101 雪上飘 05 * * 5.3 完整性控制 1)外码分类 父表子表不同,外码为子表的非主属性 例:关系模式 CLASS(Clno, clname, Major) 父表 STUDENTS(Sno, Sname, Clno) 子表 外码Clno是子表STUDENTS的非主属性 父表与子表相同,外码为非主属性 EMPLAYEE(Eno,Ename,dept,Manager) Manager为外码,引用本表的Eno Manager为Eno的直接上司,用其Eno表示。 父表子表不同,外码为子表的主属性 STUDENTS(Sno, Sname, Clno) 父表 COURSEES(Cno,cname,Score) 父表 SC(Sno,cno,Grade) 子表 外码Sno,

文档评论(0)

三沙市的姑娘 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档