MySQL: 如何设计 table 转换(例如衣服尺码)?

MySQL: How to design table for conversion (e.g. dress sizes)?

美国的“2”码连衣裙在英国是“6”码。

如何在 table(或 table 系列)中建模,以便将美国 2 与英国 6 相关联?一种可能的方法是使用这样的列执行 table:

设计的问题是我无法轻松获得给定的 2 个字母国家/地区代码(例如 "us")的所有着装尺码列表,因为该信息是列名称。

另外,我想知道一件衣服的尺码是大于还是小于另一件。我不能依靠数值的高低来确定这一点,因为例如,俄罗斯的尺寸“56”小于其尺寸“24”。参见:

您的网格代表一种尺码 类别(连衣裙 - 存在其他尺码类别,如鞋子、牛仔裤、胸罩等。)

然后是您的网格中的列,我们可以将其称为 regions 一个与 USA、UK/AU/NZ 等完美匹配的名称,但也包括 S-M-L,其中不是真正的 "region".

然后您的网格中的行代表给定类别的每个大小

你的网格中终于有了单元格,我们可以调用区域大小

制作四张表:

categories

id | category
---+------------
C1 | dress sizes
C2 | shoe sizes
regions

id | region
---+--------------
R1 | S, M, L, etc.
R2 | USA
R3 | UK, AU, NZ
sizes

id | id_category | sortkey
---+-------------+--------
S1 | C1          | 1
S2 | C1          | 2
S3 | C1          | 3
regional_sizes

id   | sizes | id_region | size
-----+-------------------+-----
RS1  | S1    | R1        | S
RS2  | S1    | R2        | 2
RS3  | S1    | R3        | 6
RS4  | S2    | R1        | S
RS5  | S2    | R2        | 4
RS5  | S2    | R3        | 8