1. 数据库设计原则
1.1 规范化
规范化是组织数据库结构的一种方法,旨在减少数据冗余并提高数据完整性。常用的规范化范式包括:
- 第一范式(1NF): 确保每列都是原子的,不可再分。
- 第二范式(2NF): 满足1NF,且每个非主属性完全依赖于主键。
- 第三范式(3NF): 满足2NF,且每个非主属性不传递依赖于主键。
1.2 反规范化
在某些情况下,出于性能考虑,可以进行反规范化。反规范化是适当地引入冗余数据,以减少查询时的联接操作,从而提高性能。
1.3 实体关系模型(ER模型)
ER模型用于描述数据和数据之间的关系。它包括实体(如用户、订单)、属性(如用户名、订单金额)和关系(如用户与订单之间的一对多关系)。
1.4 数据完整性
数据完整性是指数据库中数据的准确性和一致性。常见的数据完整性约束包括:
- 实体完整性: 每个表都有主键,且主键唯一且不为空。
- 参照完整性: 外键约束,确保引用的记录在外键表中存在。
- 域完整性: 限制列中的数据类型和取值范围。
2. 数据库管理
2.1 事务与并发控制
事务是一个或多个SQL操作的集合,具有以下四个特性(ACID):
- 原子性(Atomicity): 事务要么全部执行,要么全部回滚。
- 一致性(Consistency): 事务执行前后,数据库保持一致性状态。
- 隔离性(Isolation): 各事务之间相互隔离,互不影响。
- 持久性(Durability):<