第5章 数据库完整性 笔记

数据库的完整性(integrity )是指数据的正确性(correctness )和相容性( compat- ability)。
数据的正确性是指数据是符合现实世界语义、反映当前实际状况的;
数据的相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的。

数据的完整性和安全性是两个既有联系又不尽相同的概念。
数据的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。
数据的安全性是保护数据库防止恶意破坏和非法存取。
因此,
完整性检查和控制的防范对象是不合语义的、不正确的数据,防止它们进入数据库。
安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。

为维护数据库的完整性,数据库管理系统必须能够实现如下功能。
1.提供定义完整性约束条件的机制

2.提供完整性检查的方法
一般在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查。

3.进行违约处理
违背了完整性约束条件将采取一定的动作,如拒绝(NO ACTION)执行该操作或级联(CASCADE)执行其他操作,进行违约处理以保证数据
的完整性。

5.1实体完整性

5.1.1定义实体完整性
在CREATETABLE 中用PRIMARY KEY定义。
对单属性构成的码有两种说明方法,
一种是定义为列级约束条件,
另一种是定义为表级约束条件。
对多个属性构成的码只有一一种说明方法,即定义为表级约束条件。
在这里插入图片描述
5.1.2 实体完整性检查和违约处理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2参照完整性

5.2.1定义参照完整性

primary key 是实体完整性。
foreign key 是参照完整性。
在这里插入图片描述
5.2.2 参照完整性检查和违约处理
参照完整性将两个表中的相应元组联系起来了。因此,对被参照表和参照表进行增、删、改操作时有可能破坏参照完整性,必须进行检查以保证这两个表的相容性。例如,对表SC和Student有4种可能破坏参照完整性的情况,如表5.1所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
primary key == 主键 等价于抄 唯一 (UNIQUE) 且 非空 (NOT NULL)
在这里插入图片描述
从上面的讨论可以看到,关系数据库管理系统在实现参照完整性时,除了要提供定义主码、外码的机制外,还需要提供不同的策略供用户选择。具体选择哪种策略,要根据应用环境的要求确定。

5.3用户定义的完整性

用户定义的完整性就是针对某一具体应用的数据必须满足的语义要求。目前的关系数据库管理系统都提供了定义和检验这类完整性的机制,使用了和实体完整性、参照完整性相同的技术和方法来处理它们,而不必由应用程序承担这一功能。

5.3.1 属性上的丝约束条件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.3.2元组上的约束条件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.4完整性约束命名子句
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.6断言
在这里插入图片描述
在这里插入图片描述
COUNT() 函数返回表中的记录数:SELECT COUNT() FROM table_name;
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值