MySQL supports JSON数据类型。 是否违反1NF rule字段的原子性?如果不是,那么它是如何证明的?违反MySQL中的1NF
0
A
回答
1
是的,它违反了1NF和2NF(也许其他的正常形式,但我永远不能把我的头围绕他们)。
但是,关系数据库管理系统是一个非常有用的地方来存储小块数据 - 即使是不透明的斑点。它提供了控制并发访问,授权,复制,注释的机制......因为JSON只是一个特殊格式的字符串,几乎所有的DBMS都会支持它,MySQL只是提供有限的范围来检查BLOB的内容。
3
这取决于数据在rdbms中的使用方式,而不仅仅是数据类型本身,是否有任何数据(不仅仅是json)违反了1NF。但是,数据类型会影响数据类型被用来以违反1NF的方式存储数据的频率。 Json是一种具有内部结构的复杂数据类型,很可能以违反1NF的方式使用。
让我扩大一点,我的意思是使用数据作为这个问题的决定性因素。
上1NF维基百科的文章有一个section on atomicity描述围绕原子的解释含糊:
原子的概念,没有绝对意义“:[10]的数值可能是 认为是原子的一些的目的,但可被认为是 组合用于其它目的更基本的要素。
这意味着,如果所述特定的JSON字段在数据库层无视其内部结构的原子的方式进行处理,然后它不会违反1NF。但是,如果数据库必须知道特定json字段的内部结构(例如,在其内搜索),那么它违反了1NF。
为了提供一个模拟,存储在varchar字段中的字符串将被大多数用户视为原子(除了zelous理论家)。但是,如果存储分隔值(或者json或xml),并且数据库层必须知道这个字段的内部结构,那么即使varchar字段也可能违反了1NF。
相关问题
- 1. 数据库规范化 - 这个例子是否违反了1NF?
- 2. 关于1NF违规的澄清 - DBMS
- 3. MySQL中1NF中的表格格式php
- 4. 违反约束?
- 5. 堆违反
- 6. PMD UselessParentheses违反
- 7. NodeJS违反Promise
- 8. PK违反
- 9. 获取数据库到1NF或2NF - mysql
- 10. 违反SqlException约束
- 11. 违反suexec政策
- 12. doctrine2违反约束
- 13. 完整性违反违规:Magento
- 14. 如何1NF
- 15. 如果在mysql中违反约束条件,则插入null?
- 16. MySQL - 删除违反唯一性约束的数据
- 17. MySQL错误:违反:1052列 'created_at' 在where子句是模糊的
- 18. ReferenceError回调没有违反
- 19. DbFunctions类是否违反SRP
- 20. 违反字符编码
- 21. 违反Web开发规则
- 22. 违反使用鲜明
- 23. BeanValidation 1.1:违反参数
- 24. 了解违反约束SQL
- 25. 违反主键 - 扣除表
- 26. 违反了同源策略?
- 27. DbUpdateException违反唯一键
- 28. FactoryGirl:非空约束违反
- 29. JQuery 3.1.1违反CSP指令
- 30. 同步AJAX(违反诺言)
热心理论家会说“[atomic](http://stackoverflow.com/a/24038895/3404097)”是一种无益的毫无意义的模糊化,而“1NF”并不好,因为它用来表示许多不同的东西,包括一些在“原子”方面;否则他们会同意你的观点,即任何你想量化的数据库状态都应该是一个属性。 PS该维基文章是一团糟。 – philipxy