欢迎来到天天文库
浏览记录
ID:40054991
大小:499.00 KB
页数:53页
时间:2019-07-18
《《据库完整性》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、7.3数据库完整性第7章数据库保护技术1主要内容完整性约束条件完整性控制SQLServer2005的完整性控制SQLServer2005的触发器2数据库的完整性数据库的完整性(integrity)是指数据库的任何状态变化都能反映真实存在的客观世界的合理状态,数据库中的数据应始终保持正确的状态。3数据库的完整性数据库的完整性包括数据库中数据的正确性和相容性。正确性是指数据是有效的,有意义的,而不是荒谬的或不符合实际的。相容性是指在多用户、多用户进程共享和共用数据库的情况下,保证对数据库中数据更新时不出现与实际不一致的情况。4数据库的完整性为维护数据库的完整性,DBMS必须
2、提供一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库数据之上的语义约束条件称为数据库完整性约束条件,它们作为模式的一部分存入数据库中。数据库的完整性机制就是用于防止不符合语义的错误数据的输入和输出,即所谓“垃圾进垃圾出”(garbageingarbageout)所造成的无效操作和错误结果。57.3.1完整性约束条件完整性约束是保护数据库中数据的正确性和相容性所做的各种检查或数据应满足的约束条件。完整性检查是围绕完整性约束条件进行的,因此完整性约束条件是完整性控制机制的核心。6完整性约束条件作用对象完整性约束条件作用的对象可以是关系元组列7完整性约
3、束条件作用对象完整性约束条件作用的对象可以是关系,关系的约束是若干元组之间、关系集合上以及关系之间的联系的约束。元组,元组的约束是元组中各个字段间的联系的约束。列,列约束主要是列的类型、取值范围、精度、排序等的约束条件。8(1)静态约束完整性约束条件涉及的这三类对象,其状态可以是静态的,也可以是动态的。所谓静态约束是指数据库处于某一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束。9(1)静态约束——列级静态约束分为三类:1)静态列级约束对一个列的取值域的说明,最常用,易实现,约束内容:数据类型,包括数据的类型、长度、单
4、位、精度等。数据格式;取值范围或取值集合,也称为域完整性约束。对空值的约束,也称为类型完整性约束。其他约束。每个关系的每个属性列都有一个定义域,其数据类型、取值范围、空值约束等就构成了各个属性列的静态列级约束。10(1)静态约束——列级例7.7:对于教学管理数据库中的教师关系模式:T(T#,TNAME,TSEX,TBIRTHIN,TITLEOF,TRSECTION,TEL)利用SQL语句定义(创建)该关系表:CREATETABLET(T#CHAR(8)NOTNULL,TNAMECHAR(8)NOTNULL,TSEXCHAR(2)NOTNULLCHECK(TSEXIN(‘
5、男’,‘女’)),TBIRTHINDATENOTNULL,TITLEOFCHAR(10)NULL,TRSECTIONVCHAR(16)NULL,TELCHAR(11)NULL,PRIMARYKEY(T#));在关系定义语句中给出了各个列的定义和列级静态约束。11(1)静态约束——元组级2)静态元组约束一个元组是由若干个列值组成的,静态元组约束就是规定元组的各个列之间的约束关系。例如,如果表中有三个列分别是:单价、数量、金额,且它们之间的关系符合金额=单价*数量时,那么当某记录的单价与数量确定后,它的金额就必须确定。12(1)静态约束——关系级3)静态关系约束在一个关系的
6、各个元组之间或者若干关系之间常常存在各种联系或约束。常见的静态关系约束有:实体完整性约束引用完整性约束函数依赖约束统计约束13(1)静态约束——关系级实体完整性约束,也称为关系完整性约束,用于定义表的行和列的控制规则。由于每个关系的主键值必须惟一且非空,这一非常重要的约束是由实体完整性实现的,所以实体完整性约束也称为主键完整性约束。一般是通过创建唯一性索引来实现。在一个关系表上建立了唯一性索引后,如果在插入或修改关系时发现有主键相同的两个记录,系统就会报错,并阻止新插入或修改的记录存入库中。14(1)静态约束——关系级引用完整性约束是指一个关系的外键的值必须与另一个关系
7、的主键的值相匹配。它描述了在数据录入或修改时,被改变的关系表中各字段值的合法性、有效性和存在性.如果没有与某外键匹配的主键,就会出现引用数据库中不存在的实体的情况,显然就违反了引用完整性。另外,如果数据库中包含有永远都不可能访问或被引用的数据,则数据库显然不具有引用完整性,整个数据库也将变得不可信。15关系的两个不变性实体完整性约束和引用完整性约束是关系模型的两个极其重要的约束,称为关系的两个不变性。例在某大学的学生关系数据库中,学生所属专业和院系等必须是该大学存在的合法名称名称。在系统实现时为保障引用完整性,可以从专用菜单表中选取的方式
此文档下载收益归作者所有