您如何规范具有多值字段的表?

时间:2019-06-28 13:25:19

标签: sql tsql database-normalization

我想将登台表标准化为两个表。输入数据的字段之一包含多个用分号分隔的值。

df.groupby(['Altitude_[m]']).mean()

我确定您的数据向导都知道这是怎么回事,但是我希望将其标准化:

DATETIME | FILENAME | MULTIVALUEDFIELD
7-22-18 | somefile.txt | value1;value2;value3

ID | FILENAME |
1 | somefile.txt

很抱歉格式化问题:我没有找到处理表格的方法。任何帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

听起来您实际上在这里有多对多关系; filename可以引用许多singlevalues,而singlevalues可以出现在许多filename中。

传统的表示方式是使用桥表,该桥表包含对filenamesinglevalues主键的外键引用,并且,如果适用于您的设计,则包含任何其他字段代表关系。

dbo.filename
+-------------+---------------+
| filename_sk |   filename    |
+-------------+---------------+
|           1 | somefile.txt  |
|           2 | otherfile.txt |
+-------------+---------------+
dbo.value
+----------+--------+
| value_sk | value  |
+----------+--------+
|        1 | value1 |
|        2 | value2 |
|        3 | value3 |
+----------+--------+
dbo.bridge
+-------------+----------+
| filename_sk | value_sk |
+-------------+----------+
|           1 |        1 |
|           1 |        2 |
|           2 |        2 |
|           2 |        3 |
+-------------+----------+