何谓数据库约束?三范式

何谓数据库约束?数据库约束就是为了规范数据,保证数据的完整性高的一套限制。常见的数据库约束有:

 1. 检查约束

检查约束即check约束,通过强制设定属性的域,达到约束和保证数据完整性的目的。可以任何基于逻辑运算符返回TRUE或者FALSE的逻辑表达式创建检查约束。

2. 非空约束

非空约束是我们最常见的一种对列值的限制,创建表时,在属性后面声明该属性值不能为空(NOT NULL).

3. 唯一性约束

唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的。唯一约束很容易和主键进行混淆,它们的区别有:

唯一性约束

 1) 唯一性约束所在的列允许空值,但是主键约束所在的列不允许空值。

2) 可以把唯一性约束放在一个或者多个列上,这些列或列的组合必须有唯一的只。但是,唯一性约束所在的列并不是表的主键列。

3) 唯一性约束强制在指定的列上创建一个唯一性索引。在默认情况下,创建唯一性的非聚簇索引,但是,也可以指定所创建的索引是聚簇索引。

主键: 1) 用于标识某行而且与之相关.

2) 是不可能(或很难)更新.

3) 不应该允许空(NULL )

4. 主键约束主键约束主要是指其它字段必须依赖于主键面存在,主键的值是不能重复的,并且是唯一的。

5. 外键约束外键约束主要是为了把相关的表建立联系,保证数据库的完整性。数据库的三范式:

1. 原子性:是指数据库表中的字段都是单一属性的,不可再分。也就是说描述实体的某个属性是确定的,不能再细分为更多的属性,如图书的ISBN,人的身份证号等。

2. 排它性指的是数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖。非关键字段也就是不是主键的字段,不是部分依赖于其它可以用来做关键字的属性(唯一性约束,非空约束);而是完全依赖。

3.消除间接依赖在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三 范式。也就是说非主属性直接依赖那些可以用来做主键的属性。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值