面试知识总结

mysql 存储结构

MySQL:InnoDB存储引擎的B+树索引算法

---恢复内容结束---

### sql三范式

数据库中的表(所有字段值)都是不可分割的原子数据项。
数据库表中的每一列都和主键相关,而不能只和主键的某一部分相关。
数据库表中每一列数据都和主键直接相关,不能间接相关。范式是为了减小数据冗余。

  • 列的原子性,列不能再分
    【联系人】(姓名,性别,电话《家庭电话、工作电话》)
  • 必须有一个主键,其它列要完全依赖主键,不能只依赖主键的一部分
    【OrderDetail】(OrderID,ProductID,UnitPrice,Discount,Quantity,ProductName)
    拆分成:
    【OrderDetail】(OrderID,ProductID,Discount,Quantity)
    【Product】(ProductID,UnitPrice,ProductName)
  • 其它非主键必须直接依赖主键,不能传递依赖主键
    【Order】(OrderID,OrderDate,CustomerID,CustomerName,CustomerAddr,CustomerCity)
    拆分为:
    【Order】(OrderID,OrderDate,CustomerID)和
    【Customer】(CustomerID,CustomerName,CustomerAddr,CustomerCity)

mysql 存储结构

MySQL:InnoDB存储引擎的B+树索引算法

猜你喜欢

转载自www.cnblogs.com/antball/p/9651369.html