数据库三大范式和五大约束(概念)

第一范式:

1、数据表中的每一列(字段),必须是不可拆分的最小单元,即确保每一列的原子性。满足第一范式是关系模式规范化的最低要求。

2、两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据。

第二范式:

满足1NF后要求表中的所有列,每一行的数据只能与其中一列相关,即一行数据只做一件事。只要数据列中出现数据重复,就要把表拆分开来。

第三范式:

满足2NF后,表中的每一列都要与主键直接相关,而不是间接相关(即表中的每一列只能依赖于主键)。
数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系。比如:X->Y->Z 属性之间含有这样的关系,是不符合第三范式的。

注意:

1.必须先满足第一范式才能满足第二范式,必须同时满足第一第二范式才能满足第三范式。

2.第二范式与第三范式的本质区别:在于有没有分出两张表。
第二范式是说一张表中包含了多种不同实体的属性,那么必须要分成多张表,第三范式是要求已经分好了多张表的话,一张表中只能有另一张标的ID,而不能有其他任何信息,(其他任何信息,一律用主键在另一张表中查询)。

五大约束:

数据库中的五大约束包括:
1.主键约束(Primay Key Coustraint) 唯一性,非空性;

2.唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个;

3.默认约束 (Default Counstraint) 该数据的默认值;

4.外键约束 (Foreign Key Counstraint) 需要建立两表间的关系;

5.非空约束(Not Null Counstraint):设置非空约束,该字段不能为空。

五大约束的语法示例:

  1. 添加主键约束
    Alter table 表名 add Constraint 主键名 primary key(字段)

  2. 添加唯一约束
    Alter table 表名 add Constraint 约束名 unique(字段)

  3. 添加默认约束
    Alter table 表名 add Constraint 约束名 default(默认内容) for 字段名

  4. 添加检查约束
    Alter table 表名 add Constraint 约束名 check (字段表达)

  5. 添加外键约束
    Alter table 表名 add Constraint 约束名 foreign key(字段) references 表名(字段名)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值