GBASE 8s关系数据库完整性约束简介

关系模型的完整性约束(Integrity Constraints)是指对关系表中数据的某种约束规则,

它们的存在保证了关系数据的正确性、有效性和一致性。随着时间的推移,关系数据可以

发生变化(添加、删除、修改),但不能破坏其满足的完整性约束条件。关系的完整性约

束也是反映现实世界中数据正确语义的要求。

关系模型定义了三类完整性约束:实体完整性、参照完整性和用户定义完整性。实体

完整性和参照完整性是关系模式固有的完整性约束,它们一般由关系数据库自动维护,被

称作关系的两个不变性(Invariance)。用户定义完整性是在某个应用领域中数据需要满足

的与具体业务逻辑相关的约束。

实体完整性约束是对单个关系的约束,与该关系的主键相关。

定义 2.4 实体完整性(Entity Integrity):每个关系 R 都必须具有主键 A,主键 A 包含

的属性值必须唯一且非空(UniqueAnd Not Null)。

如在客户表(客户编号,姓名,单位,电话)中,“客户编号”为主键,因此该属性不能取空值,而且作为主键的每一个取值在关系中必须是唯一的,符合主键的定义。

数据库中,作为实体的关系之间往往会存在着这样一种联系:一个关系中某属性集的取值总是参照另一个关系中的某属性集的取值。

定义 2.5 外键(Foreign Key):一个关系模式 R 中的某个属性或属性组是另一个关系模式 S 的主键,那么这个属性(组)就被称为关系模式 R 的外键。关系模式 R 被称为参照关系,S 被称为被参照关系。R 和 S 也可以是同一个关系。

系模型要求任何关系数据库都应该内置地支持实体完整性和参照完整性。除此外,不同数据库根据其前台应用业务逻辑的不同,往往还需要由用户定义一些特殊的约束条件。用户定义完整性(User-Defined Integrity)就是针对用户需求中具体业务逻辑而定义的约束条件,它反映某一具体应用程序所涉及的数据必须满足的语义要求。例如,某个属性必须取唯一值,某个非主属性也不能取空值(例如客户的姓名),某个整数型属性的取值范围必须 0~999(例如数量)等。

关系数据库应该提供编写用户定义完整性规则的功能,以便由数据库完成这些约束条件的检查,而不应由应用程序承担这一功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

八珍豆腐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值