mysql:我用什么数据模型来组合盐

时间:2015-04-01 09:13:40

标签: mysql relational-database database-normalization

我有一张下面给出的Salts表,里面有很长的盐列表:

**Salts**:
------------------------
| ID | NAME             |
-------------------------
| 1  | Paracetamol      |
-------------------------
| 2  | Aceclofenac      |
-------------------------
| 3  | Serratiopeptidase|
-------------------------
| 4  | Tizanidine       |
-------------------------

我也有单位表

单元

--------------
| ID | NAME  |
--------------
| 1  | mg    |
-------------
| 2  | gm    |
-------------
| 3  | mcg   |
-------------

现在我想使用单位和数量创建这些盐的组合,每个组合应该是唯一的,组合的例子是:

Paracetamol [300 mg]
Paracetamol [200 mg]

(在上面的例子中对乙酰氨基酚 - >是盐名 200 - >是盐的数量 mg - >是单位盐), 其他组合示例:

Paracetamol [200 mcg]
Aceclofenac [50 mcg] + Paracetamol [250 mg]
Aceclofenac [50 mcg] + Paracetamol [250 mcg]
Aceclofenac [100 mg] + Paracetamol [500 mg] + Serratiopeptidase [15 mg] + Tizanidine [2 mg]

在上面的列表中,所有组合都是唯一的,不能重复。 所以我的问题是什么应该是存储组合的最佳数据模型(模式),以便它是唯一的,并且数据库保持标准化。

1 个答案:

答案 0 :(得分:0)

您可以创建一个包含列

的表格
salt_name varchar(100),
quantity int,
unit varchar(20)

对于此表,您可以将这3列组合为唯一键