gpt4 book ai didi

database - 在数据库中(不仅是关系型), "row"与 "column"到底是什么

转载 作者:搜寻专家 更新时间:2023-10-30 22:11:10 24 4
gpt4 key购买 nike

我看到大多数新的 NoSQL 数据库供应商都使用古老的行列词汇表来描述他们的特定数据模型。这让我很困惑。

我的问题是:在 NoSQL 数据库不再是关系数据库/SQL 数据库的二等公民的新世界中,有人可以协助对“行”与“列”进行精确的普遍适用定义。

(顺便说一句,我不是在寻找面向行和面向列的数据库之间的差异)

这是一个例子:

让我们假设这样一种情况,您被告知每隔 0.01 秒就会一个接一个地递给您球形物体。每个球都由一个唯一的数字(整数)标识。你被告知这些球可以改变颜色。假设多色球是不可能的。对于任何给定的测量值,您得到的球将具有由颜色十六进制代码标识的颜色。

要求您以行-列格式将数据制成表格。

您不知道总共有多少个独特的球。 (球的数量可能比可能的颜色数量少得多。或者,颜色的数量可能比球的数量少得多)

您需要以时间序列格式将数据制成表格。每次测量都会有:时间戳对象的标识(正整数)颜色的标识。(十六进制代码)

您如何决定测量结果是垂直分组还是水平分组?是否有多种方法可以在不“错误”的情况下以行-列格式表示数据?

这是一种将数据制成表格的方法:

时间戳|球 |颜色代码

0.02 344 #3452b3

0.03 34556 #001000

0.03 00007 #766cc3

在上面的例子中,每个测量都是一行(水平)

这是对相同数据进行制表的另一种方法:

时间戳 0.02 | 0.03 | 0.04

球 344 | 34556 | 00007

颜色代码 #3452b3 | #001000 | #766cc3

我重新表示了相同的数据,但我发现将每个测量的所有数据垂直分组更直观。这本质上是错误的吗?我的第二个表示中的垂直列实际上是 nosql(或关系)数据建模中的“水平行”吗?

我了解关于数据库如何将其数据存储在磁盘上的实际物理模型独立于其文档中的数据模型表示。如果最后一个陈述是正确的,那么他们(数据库模型文档的作者)如何决定在他们的数据图中什么是水平放置的,什么是垂直放置的?

最佳答案

行或记录是表示单个相关数据的水平形式的数据。

列或字段是数据的垂直形式,代表数据的一个特定特征。

例如,拿下表:

UID | Name
----+--------
1 | "Harry"
2 | "Sarah"

UID 和名称是描述数据的两个独立字段,而每个水平行都是此类数据的一个实例。

在您的示例中,行/列的含义发生了变化; 但是它是 不是 术语的变化。/p>

在英语中,一行总是水平的,一列总是垂直的,但与它们相关的作业会根据数据的表示方式而改变。

对象数据库没有行和列的概念(即数据不以表格形式表示);相反,数据表示为单独的实体。

在 ODB 中,类类似于表,对象或实例类似于记录。对象属性是描述此类数据的字段。

总结

  1. 关系数据库中,数据以表的形式表示。记录是数据的实例,字段描述数据。
  2. 行总是水平的,而列总是垂直的(英语是英语;仅仅因为这些术语在数据库中使用并不意味着它们的表示发生变化)。
  3. 在不使用 sql 的数据库中,数据可能以其他格式表示。例如,
  4. 在对象数据库中,类定义数据结构,对象表示每个数据实例,属性描述数据的每个单独特征。
  5. 行和列仅在表格数据中有意义。例如,对象数据库不以表格形式表示数据。
  6. 多种种数据库;关系数据库是最常见的

关于database - 在数据库中(不仅是关系型), "row"与 "column"到底是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28254182/

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