MySQL 中违反 1NF

2023-12-10

MySQL supportsJSON 数据类型。 是否违规1NF rule为了字段的原子性?如果不是,那么它的合理性如何?


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

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

维基百科关于 1NF 的文章有一个原子性部分这描述了原子性解释的歧义:

原子性的概念没有绝对的意义”:[10]一个值可能是 出于某些目的被认为是原子的,但可以被认为是 用于其他目的的更基本元素的组合。

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 中违反 1NF 的相关文章

  • 如何在postgresql中编写有关最大行数的约束?

    我认为这是一个很常见的问题 我有一张桌子user id INT 和一张桌子photo id BIGINT owner INT 所有者是一个参考user id 我想向表照片添加一个约束 以防止每个用户将超过 10 张照片输入数据库 写这个的最
  • MySQL - 查找接近的匹配项

    MySQL 有没有办法在文本字段中找到紧密匹配的内容 说找到 email protected cdn cgi l email protection当搜索时 email protected cdn cgi l email protection
  • Mysql 将 --secure-file-priv 选项设置为 NULL

    我在 Ubuntu 中运行 MySQL 我在运行特定的查询集时收到此错误 MySQL 服务器正在使用 secure file priv 选项运行 因此无法执行此语句 当我这样做的时候SELECT secure file priv 在我的 m
  • 使用来自Processing-JS的JSON

    我想使用编写一个应用程序处理 JS http processingjs org 并且我希望能够使用服务器端数据加载它 我还没有编写服务器端 所以我可以使用任何东西 但似乎明显的 AJAX 事情是使用 JSON 将数据上传到页面中 如何从我的
  • 内连接 3 个表

    我正在使用 PHP 和 PDO 我需要重新收集连接 3 个表的信息 photos albums 相册照片 该表具有以下结构 photos photo id int path varchar nick varchar date timesta
  • 迁移问题:MS SQL > MySQL:插入缓冲区内存

    我在使用 MySQL Workbench 上的内置迁移工具时遇到问题 我正在将一个非常大的数据库从 MS SQL 2014 迁移到 MySQL MS SQL 服务器本地部署在我的 Windows 8 1 桌面上 MySQL 服务器在我的网络
  • 我们可以使用sql列出MS Access数据库中的所有表吗?

    我们可以使用 sql 找到 ms access 中的所有表吗 就像我们在 sql server 中所做的那样 select from sys tables 在sqlite中 SELECT FROM sqlite master where t
  • “create_date”时间戳字段的默认值无效

    我有以下 sql 创建语句 mysql gt CREATE TABLE IF NOT EXISTS erp je menus gt id INT 11 NOT NULL AUTO INCREMENT gt name VARCHAR 100
  • Jackson Kotlin - 反序列化 JsonNode

    Problem 我有字符串形式的 JSON 内容 我首先想用 Jackson 以编程方式遍历它 然后 当我有感兴趣的节点时 我想反序列化它 我尝试过的 我已使用 mapper readValue 成功反序列化字符串 但现在我想在 jsonN
  • 将数据表传递到存储过程。有没有更好的办法?

    数据表可以以某种方式传递到 SQL Server 2005 或 2008 中吗 我知道标准方法似乎是将 XML 传递给 SP 并且可以通过某种方式轻松地将数据表转换为 XML 来实现这一点 将 NET 对象传递到 SP 怎么样 那可能吗 我
  • DataTables 第 2 页的分页未调用放大弹出窗口

    所以我有这个启用分页的数据表 我编码了一种方式 以便用户可以编辑表的行 当用户调用它在放大弹出窗口中打开的编辑页面时 它在第 1 页 从第 2 页起都运行良好 DataTable 及其前面停止调用 Magnific Popup 我只是不明白
  • 如何在Python中将提取的文本从PDF转换为JSON或XML格式?

    我正在使用 PyPDF2 从 PDF 文件中提取数据 然后转换为文本格式 该文件的 PDF 格式如下 Name John Address 123street USA Phone No 123456 Gender Male Name Jim
  • Apache 子进程已退出,状态为 255

    经过大量的搜索 尝试 修复 等待和哭泣 在我放弃之前 我想为这个错误抓住最后的机会 我们正在奔跑Microsoft Windows Server 2012 Apache 2 4 6 Win64 OpenSSL 1 0 1e PHP 5 5
  • 什么是更好的?子查询或内连接十个表?

    一个旧系统已抵达我们的办公室进行一些更改和修复 但它也存在性能问题 我们并不确切知道这种缓慢的根源是什么 当我们重构旧代码时 我们发现了几个具有以下模式的 sql 查询 出于示例目的 简化了查询 SELECT SELECT X FROM A
  • 批处理文件并与数据库比较

    目前我正在开发一个 Spring Boot 应用程序 该应用程序定期尝试处理包含用户数据的文件 其中每行都包含userId and departamentId隔开 例如123534 13 该文件将包含数百万条记录 我的要求是以这样的方式将此
  • 使用 JSON 的 Pentaho HTTP Post

    我是 Pentaho 的新手 我正在尝试执行以下工作流程 从数据库中读取一堆行 做一些转换 将它们以 JSON 格式发布到 REST Web 服务 我已经使用输入步骤和 Json 输出步骤解决了前两个问题 但是 我在执行最后一步时遇到两个问
  • 如何在sql server 2008R2中将单个单元格拆分为多个列?

    我想将每个名称拆分为各个列 create table split test value integer Allnames varchar 40 insert into split test values 1 Vinoth Kumar Raj
  • MySQL 连接器 C++ 64 位在 Visual Studio 2012 中从源代码构建

    我正在尝试建立mySQL 连接器 C 从源头在视觉工作室2012为了64 bit建筑学 我知道这取决于一些boost头文件和C 连接器 跑步CMake生成一个项目文件 但该项目文件无法编译 因为有一大堆非常令人困惑的错误 这些错误可能与包含
  • 如何重置 SQL Server 中表的 IDENTITY 列? [复制]

    这个问题在这里已经有答案了 我怎样才能重置我的IDENTITY我已经填充的表中的列 我尝试过类似的方法 但它不起作用 WITH TBL AS SELECT ROW NUMBER OVER ORDER BY profile id AS RN
  • 在 Oracle 中如何将多行组合成逗号分隔的列表? [复制]

    这个问题在这里已经有答案了 我有一个简单的查询 select from countries 结果如下 country name Albania Andorra Antigua 我想在一行中返回结果 如下所示 Albania Andorra

随机推荐

  • 如何在 HttpPost 中使用参数

    我正在通过以下方法使用 RESTful Web 服务 POST Consumes application json Path create public void create String str1 String str2 System
  • 定期运行 JavaScript 函数

    我目前正在建立一个网站来托管软件 我想要的是在项目页面中添加循环截图的幻灯片 大约每 5 秒更改一次图像 有没有办法仅使用 JavaScript 在一定时间间隔触发脚本 或者我是否必须采用替代方法来实现我想要的功能 预先感谢您的任何帮助 s
  • Typescript 类型、泛型和抽象类

    我尝试了一种对我来说似乎很奇怪的行为 让我们考虑以下示例 在 Typescript Playground 中测试它 abstract class FooAbstract abstract bar class Foo extends FooA
  • MonoTouch“无法 AOT 程序集”

    我正在使用 MonoTouch 6 2 并且我有一个应用程序可以在模拟器上构建并运行良好 但当我为实际设备构建时 会出现 无法 AOT 程序集 错误 有没有人见过这个 这是编译器的输出 Applications Xcode app Cont
  • 在 Tomcat 上运行 JasperViewer 作为 Web 应用程序的一部分

    我了解到贾斯珀浏览器 默认预览组件贾斯珀报告 is a Swing组件 那么有什么方法可以将其转换或嵌入到Web应用程序中吗 有人说我应该使用Java网络启动 但据我所知这个链接 JWS在客户端计算机上下载并安装应用程序非常有用 但这不是我
  • 如何禁用特定控件的视图状态?

  • jquery 显示 [object object] 而不是数组 [重复]

    这个问题在这里已经有答案了 只是试图在视图中显示我通过 ajax 从控制器获取的数组 但它显示 object Object object Object 而不是数组 请检查我的js文件如下 faq title click function v
  • 如何在 PHP 中循环使用十六进制颜色代码?

    我想要一个数组 其中数组中的每个字段都包含一个颜色代码 array 0 gt 4CFF00 1 gt FFE97F 我希望它能够经历从绿色到黑色的整个颜色范围 绿色 gt 蓝色 gt 深蓝色 gt 紫色 gt 黄色 gt 橙色 gt 红色
  • 前面带有“0”的数字文字[重复]

    这个问题在这里已经有答案了 Using insert 我将值推入Array as myarray 22 33 44 myarray insert 0 02 gt 2 22 33 44 如果执行以下操作 我得到 myarray insert
  • 获取数组中特定项目的索引

    我想检索数组的索引 但我只知道数组中实际值的一部分 例如 我在数组中动态存储作者姓名 author xyz 现在我想找到包含它的数组项的索引 因为我不知道值部分 这个怎么做 您可以使用查找索引 var index Array FindInd
  • javascript 创建日期错误的月份

    使用 Mozilla Firefox Firebug var myDate new Date 2012 9 23 0 0 0 0 myDate 日期 2012 年 10 月 23 日星期二 00 00 00 GMT 0400 东部夏令时间
  • 如何验证机器人是否正在输入信息

    我有一个网络表单 用户填写该表单并将信息发送到服务器并存储在数据库中 我担心机器人可能只是填写表格 而我最终会得到一个充满无用记录的数据库 如何防止机器人填写我的表格 我在想也许类似于 Stackoverflow 的机器人检测 如果它认为你
  • 如何在 Ubuntu 16.04 上使用带有 Python 3.7 的 sqlite3 python 模块的 FTS5 扩展?

    为了测试带有 sqlite3 Python 模块的 FTS5 扩展是否有效 我使用了这个code from 技术进步 import sqlite3 conn sqlite3 connect memory conn execute creat
  • 在javascript中将输入框滚动到光标位置

    我编写了一个简单的 JS 函数 当输入框接收焦点时 它将光标置于输入框内容的末尾 框中最常见的操作是追加 我没有在 IE 中检查过 但是当文本多于可见文本时 即使将光标移动到输入末尾也不会在 Firefox 3 6 中将视图滚动到输入末尾
  • MacOS 上列表中的 SwiftUI 键盘导航

    我正在尝试实现一个可以使用箭头键 向上 向下 导航的列表 我已经创建了布局 但现在我不完全理解如何 以及在 哪里 拦截向上 向下键 以便我可以添加自定义逻辑 我已经尝试过了onMoveCommand with focusable但这不起作用
  • 从 Hive 表将 DataFrame 中的 ArrayBuffer 转换为 HashSet 到 RDD 时出现 GenericRowWithSchema 异常

    我有一个镶木地板格式的 Hive 表 是使用生成的 create table myTable var1 int var2 string var3 int var4 string var5 array
  • 使用 AJAX 加载 Bootstrap 弹出窗口内容。这可能吗?

    我尝试过的适当部分在这里 a href Click here a button popover html true button click function this popover show my popover load my stu
  • 使用具有各种引号级别和空格的变量构建命令字符串

    我有一个运行的脚本curl 我希望能够有选择地添加 H参数 如果字符串不为空 复杂的是引用和空格的级别 caption Test Caption if caption then CAPT H X Caption caption fi cur
  • android 更改图像按钮背景

    我似乎无法更改图像按钮的背景图像 这是我当前尝试使用的代码 ImageButton imgButton ImageButton findViewById R id showSportsButton imgButton setBackgrou
  • MySQL 中违反 1NF

    MySQL supportsJSON 数据类型 是否违规1NF rule为了字段的原子性 如果不是 那么它的合理性如何 这取决于数据在 RDBMS 中的使用方式 而不仅仅是数据类型本身 以及是否有任何数据 不仅仅是 json 违反 1NF