gpt4 book ai didi

mysql - 在 MySQL 中违反 1NF

转载 作者:行者123 更新时间:2023-11-29 04:16:33 25 4
gpt4 key购买 nike

MySQL supports JSON 数据类型。是否违反1NF rule为了字段的原子性?如果不是,那怎么证明呢?

最佳答案

这取决于数据在 rdbms 中的使用方式,而不仅仅是数据类型本身,是否有任何数据(不仅仅是 json)违反 1NF。但是,数据类型会影响数据类型以违反 1NF 的方式存储数据的频率。 Json 是一种具有内在结构的复杂数据类型,很可能以违反 1NF 的方式使用。

让我稍微扩展一下我所说的使用数据作为这个问题的决定性因素的意思。

关于 1NF 的维基百科文章有一个 section on atomicity描述了围绕原子性解释的歧义:

the notion of atomicity has no absolute meaning":[10] a value may be considered atomic for some purposes, but may be considered an assemblage of more basic elements for other purposes.

这意味着如果特定的 json 字段以原子方式处理而忽略了它在数据库层的内部结构,那么它就不会违反 1NF。

但是,如果数据库必须知道特定 json 字段的内部结构(例如在其中搜索),那么它就违反了 1NF。

提供一个类比,存储在 varchar 字段中的字符串将被大多数用户(除了疯狂的理论家)认为是原子的。但是,如果您存储定界值(或 json 或 xml)并且您的数据库层必须知道此类字段的内部结构,那么即使是 varchar 字段也可能违反 1NF。

关于mysql - 在 MySQL 中违反 1NF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42601468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com