在数据处理中有没有一个术语来描述将一列更改为多列?
Is there a term to describe changing a column into multiple columns in data processing?
例如,假设我把这个 table:
+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 1 | A |
| 2 | B |
| 3 | A |
| 4 | C |
| 5 | A |
+--------+--------+
而是像这样呈现它:
+--------+---+---+---+
| Value1 | A | B | C |
+--------+---+---+---+
| 1 | 1 | 0 | 0 |
| 2 | 0 | 1 | 0 |
| 3 | 1 | 0 | 0 |
| 4 | 0 | 0 | 1 |
| 5 | 1 | 0 | 0 |
+--------+---+---+---+
有这个操作的词或术语吗?
其实这好像是数据库设计的规范化设计(First Normal Form)。想象一下,如果 Value1 行可能不仅有 A、B、C 之一,还有 A、B 和 C,例如。这将不满足数据库的第一范式,因为每列中的值必须是原子的。因此,进行更改以获得第二个 table 将解决第一个范式问题以及 DBMS 中的数据冗余。
相反的情况,就是把第二个table变成多个table,就叫分解。它通过将 table 分解为多个 table 来用许多更小的关系替换关系。分解可能有以下两种类型:
- 无损分解:如果它是无损的,那么如果你做自然连接
在所有分解上,你将得到原始关系。
- 依赖性保留:这是 DBMS 中的一个重要约束,并且
当分解是依赖性保留时,则至少有一个
分解后的 table 应该满足每个依赖项。
您可以在此处找到分解示例:
https://www.geeksforgeeks.org/data-base-dependency-preserving-decomposition/
我希望我能用我分享的知识帮助你。
从具有同一对象的属性的多行中获取数据并将它们转换为具有与这些属性对应的列的单行的过程称为data pivoting或数据转置。
例如,假设我把这个 table:
+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 1 | A |
| 2 | B |
| 3 | A |
| 4 | C |
| 5 | A |
+--------+--------+
而是像这样呈现它:
+--------+---+---+---+
| Value1 | A | B | C |
+--------+---+---+---+
| 1 | 1 | 0 | 0 |
| 2 | 0 | 1 | 0 |
| 3 | 1 | 0 | 0 |
| 4 | 0 | 0 | 1 |
| 5 | 1 | 0 | 0 |
+--------+---+---+---+
有这个操作的词或术语吗?
其实这好像是数据库设计的规范化设计(First Normal Form)。想象一下,如果 Value1 行可能不仅有 A、B、C 之一,还有 A、B 和 C,例如。这将不满足数据库的第一范式,因为每列中的值必须是原子的。因此,进行更改以获得第二个 table 将解决第一个范式问题以及 DBMS 中的数据冗余。 相反的情况,就是把第二个table变成多个table,就叫分解。它通过将 table 分解为多个 table 来用许多更小的关系替换关系。分解可能有以下两种类型:
- 无损分解:如果它是无损的,那么如果你做自然连接 在所有分解上,你将得到原始关系。
- 依赖性保留:这是 DBMS 中的一个重要约束,并且 当分解是依赖性保留时,则至少有一个 分解后的 table 应该满足每个依赖项。
您可以在此处找到分解示例: https://www.geeksforgeeks.org/data-base-dependency-preserving-decomposition/
我希望我能用我分享的知识帮助你。
从具有同一对象的属性的多行中获取数据并将它们转换为具有与这些属性对应的列的单行的过程称为data pivoting或数据转置。