不得不违反第一范式的情况


违反第二第三范式的设计很常见, 第一范式基本大家都是遵守的.
如:
| userId | friends |
| 1 | 2,45,53,56 |
这种没有遵守1NF, 一般来说问题有, 无法是用外键; 查询sql比较麻烦; 逗号的处理等等.

那么有没有在工作中, 不得不违反第一范式的情况,比如需要考虑性能和存储空间等等.

数据库设计

parasa 11 years, 8 months ago

记得以前有一个音乐专辑的情况,专辑是按照一定顺序存储,可以任意定义音乐所处的顺序,如果做成关联表的话,还要每个音乐对应一个顺序字段,而放在一起的话,所处的位置就是音乐在专辑中的顺序。

基本上,需求只有1对多方向的查询,而没有从多对1的反向查询的话,多数情况都是违反第一范式的,例如上例中会从1个专辑选择专辑的音乐,但是不会去查询某1个音乐在多少个专辑中存在。

射精大队长 answered 11 years, 8 months ago

Your Answer