高级数据库技术完整性汤娜

高级数据库技术完整性汤娜

ID:46664392

大小:361.50 KB

页数:34页

时间:2019-11-26

高级数据库技术完整性汤娜_第1页
高级数据库技术完整性汤娜_第2页
高级数据库技术完整性汤娜_第3页
高级数据库技术完整性汤娜_第4页
高级数据库技术完整性汤娜_第5页
资源描述:

《高级数据库技术完整性汤娜》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、高级数据库技术完整性汤娜中山大学计算机科学系isstn@zsu.edu.cn系统篇数据库系统中的数据是由DBMS统一管理和控制的,为了适应数据共享的环境,DBMS必须提供数据保护能力,以保证数据库中数据的安全可靠和正确有效。数据保护数据库完整性数据库恢复技术并发控制数据库安全性完整性类型完整性约束条件完整性控制参照完整性控制SQL中的完整性约束机制数据库结构完整性数据库对象能正确地创建、格式化和维护数据语义完整性的基本含义是指数据的正确性、有效性、和相容性。正确性。数据的合法性有效性。数据是否在有效范围内相容性。指表示同一个事实的两个数据应该一致。数据库结构完整性

2、结构问题的类型索引(如做数据恢复,没有重做指针)特定的数据类型(如超大对象)数据页的表头备份文件结构问题的管理采用工具由DBMS进行检查sybasemicrosoftSqlServer:DBCC应用程序DB2:CHECK和REPAIR工具Informix:TBCHECK作用的对象(粒度):关系、元组、列对象状态:动态、静态。数据语义完整性1. 静态约束1)静态列约束:是对一个列的取值域等的限制。对数据类型的约束;对数据格式的约束;对取值范围或取值集合的约束;对空值的约束;其它约束;2)静态元组约束:规定组成一个元组的各个列之间的约束关系。例如:库存关系中出库数量

3、不能大于库存数量。3)静态关系约束:反映了一个关系中各个元组之间或者若干关系之间存在的联系或约束。实体完整性约束;参照完整性约束;函数依赖约束;统计依赖约束2.动态约束1)动态列约束2)动态元组约束3)动态关系约束数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件。2. 动态约束1)动态列约束:修改属性的定义或者属性的值的限制。修改定义时的约束修改属性值时的约束:新值和旧值之间的约束2. 动态约束1)动态元组约束:修改元组时新旧元组之间的约束关系如现有工资〉原有工资+工龄*1.52. 动态约束1)动态关系约束:关系新旧状态应该满足的约束关系如:事务

4、的一致性,原子性完整性控制完整性控制机制应具有的三个功能定义功能。提供定义完整性约束条件的机制检查功能。检查用户发出的操作请求是否违背了约束条件。立即执行约束(一条语句执行完成后立即检查)延迟执行约束(整个事务执行完毕后再检查)如果发现用户操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。机制的工作原理定义完整性时定义完整性后一条完整性规则用五元组(D,O,A,C,P)来描述D(Data)约束作用的数据对象O(Operation)触发完整性检查的数据库操作。即当用户发出什么操作请求时需要检查该完整性规则,是立即检查还是延迟检查。A(Asser

5、tion)数据对象要满足的断言或语义规则C(Condition)选择A作用的数据对象值的谓词P(Procedure)违反完整性规则时触发的过程实体完整性定义主键时定义,只约束定义了主键的表A由DBMS负责检查(对表A做插入和修改操作时)对于违反实体完整性的操作,系统一般采用拒绝执行的方式进行处理创建关系数据库S(Sno,Sname,Ssex,Sage,Sdept);C(Cno,Cname,Pno);SC(Sno,Cno,Grade)。CREATETABLES(SnoCHAR(5)NOTNULLUNIQUE,SnameCHAR(20),SsexCHAR(1),Sag

6、eINT,SdeptCHAR(20),PRIMARYKEY(Sno),CHECK(SaBETWEEN15AND25))CREATETABLEC(CnoCHAR(4))NOTNULL,CnameCHAR(30),PnoCHAR(4),PRIMARYKEY(Cno))CREATETABLESC(SnoCHAR(5)NOTNULL,CnoCHAR(4)NOTNULL,GradeCHAR(1),PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCES(Sno)ONDELETECASCADE,FOREIGNKEY(Cno)REFERENCE

7、C(Cno)ONDELETENoAction)参照完整性定义外键时定义,约束参照表A和被参照表B。特殊的完整性定义由DBMS负责检查(较复杂,四种情况)对于违反参照完整性有时候并不是简单拒绝执行,而是接受该操作,同时执行必要的附加操作对于违反用户自定义完整性的操作,系统一般采用拒绝执行的方式进行处理或根据用户定义的操作来处理1.两张表互相参照的问题2.表的自参照问题Createtableemployee(emp_idintNOTNULLPRIMARYKEY,emp_namevarchar(30)NOTNULL,mgr_idintNOTNULLREFERENCESe

8、mploy

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。