mysql:我使用什么数据模型来制作盐的组合

mysql:我使用什么数据模型来制作盐的组合,mysql,relational-database,database-normalization,Mysql,Relational Database,Database Normalization,我有一个盐表,下面列出了一长串的盐: **Salts**: ------------------------ | ID | NAME | ------------------------- | 1 | Paracetamol | ------------------------- | 2 | Aceclofenac | ------------------------- | 3 | Serratiopeptidase| -------------

我有一个盐表,下面列出了一长串的盐:

**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->是盐的单位), 组合的其他示例:

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

您可以创建一个包含列的表

salt_name varchar(100),
quantity int,
unit varchar(20)

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

,但在此方法中,salt和单元名称将变得多余
salt_name varchar(100),
quantity int,
unit varchar(20)