基本关系的原子值规范,说白了就是表里的每个字段别搞成数组、列表、JSON 那种花里胡哨的东西。像表 2.3 那种非规范化的关系,其实就是典型的“想偷懒,结果更麻烦”的案例。关系型数据库讲究的就是规整,一个字段就一个值,查起来快,改起来省事,逻辑也清楚。
字段里的数据要是乱七八糟,比如 tags: ['前端', '后端']
这种,查的时候你就得拆、筛、遍历,写个 LIKE '%前端%'
都不准。干脆点,一行一个标签,或者搞个关联表,干净利落。
要想搞明白关系型数据库的规范化,推荐你看看这几篇文章:
- 数据库规范化的基本概念:入门用,讲得挺直白
- 关系数据库规范化理论详解:想研究点细节可以翻翻
- 数据库规范化练习及解析:边学边练,效率还不错
- MySQL 数据库字段规范化指南:写 MySQL 的可以直接看这个,挺实用
如果你还在把一个字段当成万能收纳箱用,真该回头看看这些规范化的原则。后期维护起来,哭的都是自己。