我被撕毁了。我正在处理非常难以处理的数据;目前,“职位”有100列。
我将所有列都放入工作中,因为每次获得工作的信息时,我将有99.99%的时间需要全部数据。因此,如果我是学生,将它拆分可能会给我更高的成绩,但是每次加载数据时,它都可以分解为联合。
我发现很难决定一个例子是货物。一艘船可以有一件(80%的时间),2件(99%的时间)或3件(1%的时间)货物。从不4.与工作按1:n关系存储货物非常容易,但这也意味着:
但是,现在我的数据库中有这些列:
cargoId1, cargoDescription1, contractTonnage1,
contractTonnageTolerance1, commentsOnTonnageTolerance1,
tonnageToBeLoaded1, tonnageLoaded1
cargoId2, cargoDescription2, contractTonnage2,
contractTonnageTolerance2, commentsOnTonnageTolerance2,
tonnageToBeLoaded2, tonnageLoaded2
cargoId3, cargoDescription3, contractTonnage3,
contractTonnageTolerance3, commentsOnTonnageTolerance3,
tonnageToBeLoaded3, tonnageLoaded3
你会怎么做?想法?
答案 0 :(得分:1)
我必须警告您,对于“主要基于观点的”问题,您可能会投票,关闭投票和/或删除投票。我认为您的问题主要基于观点,因为它实质上是“规范化的利与弊”的同义词。 (ps:我讨厌这样的事实,尽管这样会使您不满意)。
如果您希望两全其美,那么您可以做的一件事就是使表格标准化,并创建一个视图,该视图将使用PIVOT返回非标准化形式。这样,您的数据的完整性就可以通过规范化得到改善,并且编写查询将变得更加容易。将执行(稍微有一个好的索引)会影响性能的联接,但是imo这对于完整性来说是很小的代价。