我在一个存储船只(船只)信息的表格中添加了许多字段。
这些数值与油耗有关。
有八个值,任何时候都可以使用四个值:
在港口IFO 180
在港口IFO 380
在港口MDO
在MGO港口
航行IFO 180
航行IFO 380
帆船MDO
航行MGO
现在,用户可以输入端口IFO 180或IFO 380和端口MDO或MGO的值,而不是两者。同样适用于航行价值。
我一直在寻找存储这些数据的最佳方式。
我提出的两种方式如下:
第一:
燃料类型,港口或航行领域:
AtPortIFOType,nvarchar(3)
AtPortMFOType,nvarchar(3)
SailingIFOType,nvarchar(3)
SailingMFOType,nvarchar(3)
这些字段将包含用户(180或380,MDO或MGO)所做的相应选择
港口或航行的消费价值领域:
AtPortIFOConsumption,int
AtPortMFOConsumption,int
SailingIFOConsumption,int
SailingMFOConsumption,int
我想要存储这些值的第二种方法是根据用户选择的燃料类型为每个值设置一个字段,将另一个值归零:
AtPortIFO180,int
AtPortIFO380,int
AtPortMDO,int
AtPortMGO,int
SailingIFO180,int
SailingIFO380,int
SailingMDO,int
SailingMGO,int
我在这看似十次来回走动,哪种选择效率最高?或者我没有看到第三种选择?
谢谢!
答案 0 :(得分:0)
两种方式看起来都会消耗数据库中大致相似的空间,因此这两种方法的内存含义都不是很重要。
如果您需要对记录中的值进行总结,那么您的第二种方法可能更为可取,因为意外地将IFO180和IFO360值相加会更加困难,因为它们将位于不同的字段中。
然而,第一种方法看起来更适合用户输入数据的方式,即选择燃料类型并输入消耗值。如果有人手动将记录添加到数据库中,它还会使在数据库中输入不兼容的数字变得更加困难。
虽然这里没有严格的规则,所以不熟悉数据的使用方式,我不建议高于另一种。