对数据表设计的思考

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012107143/article/details/83418854

先记录下来,但是查了一下,好像和主流倾向不同,如果有人看到了,也欢迎讨论。

配置表,一般在系统使用前要先初始化,用于对系统进行配置。
记录表,记录用户或系统在使用中生成的数据,一般不需要初始化。

主键是一种很宝贵的数据库资源,尽量不要使用自增主键,这是一种浪费。除非是记录表。

数据库中,尽量不要设计多个“主键”,即不要有多个唯一标识符。如果确实需要,那么各类查询也尽量一真正的主键为主,否则会造成查询混乱。
反例:一个表中,有一个自增主键id,又有一个编码code,查询有的使用id,有的使用code;外键也是有的使用id,有的使用code。

假删除会让工作量和bug率翻倍;保存历史版本会让工作量和bug率再翻倍。

保存历史版本,一般有2种方案:

  1. 存在一张表里,用版本号来标识历史版本,版本号可以自增,也可以使用时间戳;
  2. 分两张表,一张是正式表,一张是历史表,每次操作都在历史表中增加一条数据,在正式表里更新一条数据。

猜你喜欢

转载自blog.csdn.net/u012107143/article/details/83418854