我正在尝试设计一个用于存储单元的表,这个表用于单位转换,我的表的结构也像图像中那样
这个表结构足以将单位从一种类型转换为另一种
答案 0 :(得分:1)
这假设UnitSymbol
是唯一的,如果你混合公制,英制等,则不是这种情况,例如tblsp
= table-spoon可能是英制,公制,加拿大,美国等。在这种情况下,使用UnitID (integer)
作为主键。
答案 1 :(得分:0)
足够,但是,查询会不必要地变得困难。例如,想象一下,如果有人询问“每吨多少公斤?或毫克?”。您必须有许多行“Kilograms”相互引用,或者运行查询几次,直到达到您需要的级别。
通常,您在连接表中执行此操作。因此,使用列的命名,它将类似于:
Units (unit_ID, Name, unit_Type, unit_Group, IsDeleted)
IsFactorOf(unit_ID, parent_ID, factor)
其中在“IsFactorOf”中,unit_ID是FK到子单位,parent_ID是FK到父单位(child-parent是关于factor
元素 - 'child是父系数的因子'),以及两个键制作PK。
现在,您可以通过为每次转换输入IsFactorOf来定义相同类型的可用单位中的公斤数。显然,你会得到双向转换......