MySQL supportsJSON 数据类型。
是否违规1NF rule为了字段的原子性?如果不是,那么它的合理性如何?
这取决于数据在 RDBMS 中的使用方式,而不仅仅是数据类型本身,以及是否有任何数据(不仅仅是 json)违反 1NF。但是,数据类型会影响使用数据类型以违反 1NF 的方式存储数据的频率。 Json 是一种具有内在结构的复杂数据类型,很可能以违反 1NF 的方式使用。
让我稍微扩展一下我所说的使用数据作为这个问题的决定性因素的含义。
维基百科关于 1NF 的文章有一个原子性部分这描述了原子性解释的歧义:
原子性的概念没有绝对的意义”:[10]一个值可能是
出于某些目的被认为是原子的,但可以被认为是
用于其他目的的更基本元素的组合。
这意味着,如果以原子方式处理特定的 json 字段,而不考虑其在数据库层中的内部结构,那么它不会违反 1NF。
然而,如果数据库必须知道特定 json 字段的内部结构(例如在其中搜索),那么它就违反了 1NF。
打个比方,存储在 varchar 字段中的字符串被大多数用户(除了狂热的理论家)认为是原子的。但是,如果您存储分隔值(或 json 或 xml),并且您的数据库层必须了解此类字段的内部结构,那么即使是 varchar 字段也可能违反 1NF。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)