关于数据库设计的几点总结(持续完善)

一、 主键问题:

# 主键一定不要采用有具体意义的业务字段,为啥就不用说了,记住就行。

# 主键选择策略

如果采用long型数据库自增主键,在数据库迁移的时候会出现主键冲突,但是插入和查询效率比较高

如果采用string型guid做主键,数据库迁移不会出问题,但是插入和查询效率比较低

所以应该采用long型的程序生成的全局唯一id,数据库迁移不会有问题,又保证了效率,具体如何生成,由程序侧实现(怎么实现就不说了)

二、字段问题:

数据库字段,能少就少,尽量简洁,原则是:必要的配置项才用一个字段存,如果一个字段能在程序中根据数据表的数据推导出来,那么就不要存库中,也就是说减少传递依赖。至于为啥,因为程序改动要比数据表改动要简单。

你可能感兴趣的:(数据库设计,数据库设计)