繁体   English   中英

SQL Server-一对一关系最佳实践

[英]SQL Server - 1 to 1 relationship best practice

我有一个名为Station的表,其中包含许多字段,其中一个字段是-StationPrice。

我想保存有关付款过程的更多信息,例如-货币,paymentStatus等(约10个字段)。 我的问题是我是否需要扩展当前表-带有新字段的Station或具有一个名为-StationPriceId的字段,该字段将成为另一个名为StationPrices的表的外键,该表将存储与该站有关的价格的所有信息。

您的问题的答案是DB世界上最流行的答案之一- 这取决于 如果将此信息拆分为2个不同的表,则看起来会更好,但是,您需要了解,如果将其拆分,则将需要2次插入而不是1次插入,与update和Deletes相同。 此外,您每次需要此数据时都需要联接该表。 我将首先使用单个表,然后在出现特定需求时将其移至单独的列。

从另一方面来看,如果很少访问该数据并且JOIN / DELETE / INSERT开销很小,那么可以移动它。

My question is if I need to expand the current table - Station with the new fields or to have a field called - StationPriceId that will be a foreign key to another table called StationPrices which will store all the information about the price related to that station.

是的,根据您提供的信息,最好使用两个表-最好使用单独的表。

  1. 您可能要保留价格变动记录
  2. 因此,如果您维护一个单独的表,则可以将较早的价格设为Active = false并为该特定车站输入新价格

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM