说我有2个项目:
- 粉末(以克为单位)
- 果汁(以毫升为单位)
我自然有一张桌子PRODUCT (product_id,product_name)
product_id,product_name
1,powder
2,juice
现在,果汁可以分别存储在1升和250ml的瓶子中,而粉末可以存储在100g或500g的香囊中。创建表BASE_UNIT(bunit_id,bunit_name)
,我有
bunit_id,bunit_name
1,ml
2,g
和UNIT(unit_id,unit_name,unit_multiplier,bunit_fk)
与
unit_id,bunit_fk
1,1l bottle,1000,1
2,250ml bottle,250,1
3,100g sachet,100,2
4,500g sachet,500,2
我如何使用这种结构(以3NF形式)强制执行,使得果汁只能存储在ml
中,同时能够添加更多的BASE_UNIT
,例如ea
?