Fork me on GitHub
tinylit

表的设计模式

数据库表的设计模式

  • 扩展模式:指主表的部分字段,使用子表去承载,使用相同的主键关联。
    • 优点:将表热数据和冷数据分离,提升主表的操作效率。
    • 缺点:连表查询。
  • 主从模式:指更具主表的一个/多个状态值,将与状态值关联的字段,建立多个扩展表,使用相同的主键关联。
    • 优点:将状态值字段分离,提示主表查询效率。
    • 缺点:连表查询。
  • 属性模式:指一对多关联,主表主键和子表外键关联。
    • 优点:提高灵活性。
    • 缺点:分次查询变多。
  • 组合模式:指多对多关联,表与表之间外键关联。
    • 优点:减少数据冗余。
    • 缺点:数据关联复杂,逻辑性差。
  • 日志模式:指主表历史信息,使用相似结构的表,通过外键关联。
    • 优点:有效控制主表数据量。
    • 缺点:子表数据量庞大,查找历史记录缓慢。
  • 选项卡模式:指主表或记录表,使用横向关联表,记录最近几次历史记录编号。
    • 优点:可以快速查找最近几次的历史记录。
    • 缺点:关联表每次都需要更新。
  • 风琴模式:指主表和记录表合并,通过某个字段,标识数据为有效数据的记录方式。
    • 优点:方便数据版本回退。
    • 缺点:垃圾数据变多,一定程度增加查询负担。
  • 拉链模式:指主表和记录表合并,通过某个字段关联每相邻的一次历史记录。
    • 优点:方便快速追溯上一次修改记录。
    • 缺点:垃圾数据变多,一定程度增加查询负担。
posted @ 2022-01-26 14:24  影子和树  阅读(149)  评论(0编辑  收藏  举报