这个表中的这种数据/字段需要在MYSQL中规范化吗?

Alg*_*lgo 2 mysql phpmyadmin php

我在 MYSQL 中有这个uom表:

ID 乌姆
1
2
3

MYSQL 中的产品表:

ID 编号 标题 乌姆
1 19421 测试1 1:1:10.00,3:1:56.17
2 7878 测试2 1:1:24.33
3 123456 测试3 2:12:63.22,3:1:14.00
4 666565 测试4 1:1:10.00,2:12:20.00,3:1:30.00

产品表是否需要标准化?有人说这个表没有多值字段/数据......这是正确的吗?简而言之,产品表包含产品的名称、标题和 uom列Uom 列包含存储单位、数量包以及基于单位的价格。这意味着每种产品都有不同的单位和基于单位的价格。

例如,test4 产品具有三个单位 1:1:10.00, 2:12:20.00, 3:1:30.00。我们以第一个单元为例:1:1:10.00

  • 第一个数字是单位表中单位的 ID
  • 第二个数字是包装数量
  • 第三个数字是价格

所以,1:1:10.00是一个单位。2:12:20.00并且3:1:30.00是不同的单位。所以,test4一共3个单元。

J.D*_*.D. 5

我会投票赞成使其正常化。测量单位,即一UOM列,实际上应该是测量单位,例如“米”,“码”,“磅”,“吨”等。我在您当前存储的值中根本看不到这一点它,比如1:1:10.00。您甚至自己说,这些是不同的数据点“第三个数字是价格”。那么你可能应该有一个Price专栏。如果您只想存储列中的ID,那没问题,但我建议适当地标准化其他数据点。UOMUOM

通过将多个数据点填充到一列中,您会损害该列的可读性、可维护性和查询能力。如果您需要针对该列运行函数来解析其中的某些数据点,它甚至可能会影响性能,特别是如果这些数据点在查询中的任何谓词( JOIN, WHERE,子句)中使用。HAVING

  • 我赞同这个答案。 (2认同)