4、关系数据库中的约束与操作

关系数据库中的约束与操作

1. 函数依赖与规范化理论

函数依赖是数据库设计中的重要概念。如果 K 是关系 R 的候选键,A 是 R 的任意属性集,那么函数依赖 K → A 必然成立。函数依赖是规范化理论的基础,直至 Boyce/Codd 范式。虽然存在更高层次的规范化,但它们涉及除函数依赖本身之外的其他依赖类型。

2. 完整性约束

完整性约束可以大致看作是一个布尔表达式,要求其计算结果为真。我们将这些约束分为数据库约束、关系变量约束、属性约束和类型约束。

2.1 类型约束

类型约束精确地定义了构成给定类型的一组值。例如:

TYPE S# POSSREP { C CHAR 
CONSTRAINT SUBSTR ( C, 1, 1 ) = 'S' 
AND LENGTH ( C ) >= 2 
AND LENGTH ( C ) <= 5 } ;

这个类型定义限制供应商编号必须由 2 到 5 个字符组成的字符串表示,且第一个字符必须是 ‘S’。

2.2 属性约束

属性约束本质上是声明指定关系变量的指定属性为指定类型。例如, STATUS INTEGER (关系变量 S 定义的一部分)将属性 STATUS 的值约束为 INTEGER 类型。

2.3 关系变量约束

关系变量约束是对单个关系变量的约束,仅用相关关系变量来表示,不涉及其他关系变量。以下是一些示例:
- CONSTRAINT RC1 IS_EMPTY ( S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值