数据库三范式(基础知识补充)

数据库三范式:数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的。同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。

第一范式(1NF)

关键:列不可再分

数据表的每个列的值域都是由原子值组成的,不能够再分割。

要求将列尽可能最小的分割,消除某个列存储多个值的冗余的行为。

第二范式(2NF)

关键:属性完全依赖于主键

数据表里的所有数据都要和该数据表的键(主键与候选键)有完全依赖关系。

要求唯一的主键,且不存在对主键的部分依赖,希望消除表中存在冗余(多余)的列。

第三范式(3NF)

关键:属性不依赖于其它非主属性,属性直接依赖于主键

所有非键属性都只和候选键有相关性,也就是说非键属性之间应该是独立无关的。

要求没有间接依赖于主键的列,消除表中冗余的列。

数据完整性

  1. 实体完整性 ——主键(primary key) / 唯一约束 / 唯一索引(unique)
  2. 引用完整性——外键(foreign key)
  3. 域完整性 ——数据类型及长度、非空约束(not null)、默认值约束(default)、检查约束(check)

数据一致性

事务:一系列对数据库进行读/写的操作。

事务的ACID特性:

原子性:事务作为一个整体被执行,不能拆分。

一致性:事务应确保数据库的状态从一个一致状态转变为另一个一致状态。

隔离性:多个事务并发执行时,一个事务的执行不应影响其他事务的执行。

持久性:已被提交的事务对数据库的修改应该永久保存在数据库中。

猜你喜欢

转载自blog.csdn.net/m0_72084056/article/details/126478089