违反第三范式的建模方式,挺适合刚接触数据建模的你琢磨一下怎么拆表合表更合理。它依赖了非主键属性,说白了就是用了一些没参与主键的外键字段。嗯,听着有点绕,但你看几个例子就懂了,像是订单表里把用户地址也存一份,这种设计其实问题挺多的。
第三范式主要是想让你减少数据冗余、提高表结构清晰度。一般来说,符合 3NF 的表,查询写起来更舒服,维护起来也不容易出问题。你要是表设计做得多,就能体会那种‘少一个字段也不行、多一个字段也出事’的精妙感觉。
相关的文章我帮你挑了一些,都是干货。比如《第三范式 SQL 基础入门指南》,适合你入门扫盲;再比如《第三范式-MYSQL 数据库基础和实例教程的详细解读》,讲得还挺细,里面有些例子还可以直接拿来练手。
还有一篇《MySQL 主键与外键关系详解》也值得一看,讲了主键外键怎么配合更合理,对理解范式有。你要是做过多表关联、报错连表慢,那你肯定知道结构设计有多重要。
小建议:别一上来就死磕第三范式,先理解它什么问题,再看它怎么。你可以从实际业务场景出发,逐步拆分你的表结构。必要时,甚至可以‘适度违反’,别太教条。