数据库设计思考

在以前学习数据库设计的时候,三大范式五大约束是设计数据库的基础。但随着工作经验的不断增加,慢慢发现三大范式和五大约束在实际业务场景中的库表设计并不十分相符。

就比如,在实际数据库设计中,基本都会建立一个自增的伪主键的字段,来确定每一条数据唯一性。而这一点在三大范式内没有任何提及。

详细的可以参考:https://blog.csdn.net/sd4015700/article/details/50498401/

还有在设计数据库时,是不是从来没有刻意设计过外键。这也不满足五大约束中的,建立外键约束这一规范。

在阿里嵩山版开发规范中,针对与数据库设计的外键就有明确规范:

 

 存在外键关联,那对于影响外键的数据操作,肯定会触发级联更新。

对于不使用外键的讨论可以参考:https://blog.csdn.net/yxz8102/article/details/107303975

对于三大范式与五大约束感觉跟现在的数据库编程有些脱轨,当然这还是数据库设计的基础,可以理解为其中部分的优化与升级。

网上对这部分的解读,资料并不多,暂且先记录下来在平时工作中多注意一下。

posted @ 2022-03-24 10:25  半柠檬  阅读(22)  评论(0编辑  收藏  举报