表具有相同列的最佳方法数据库设计?

时间:2019-03-26 20:47:24

标签: database

我的问题很简单。我可以用图像解释。我将创建一个数据库,并且此 ALL表包含相同的数据库列(IsDeleted,IsActive,CreatedDate,UpdateDate,CreatedUserId等)。设计该数据库的最佳方法是什么?我应该像第一个表一样希望所有表都具有相同的列,还是应该像第二个一样希望 ALL表与基表相关?

只是一个样本 enter image description here

3 个答案:

答案 0 :(得分:0)

第一种方法更适合您的情况。

答案 1 :(得分:0)

除非您的选择和回显不包含用户ID和名称,否则看不到您选择第二种设计的原因。

答案 2 :(得分:0)

通常,您应将User表中所有属于User的字段保留在表中,但有一些例外情况:

  • 可选性;如果存在一组仅适用于一部分用户的字段,则您可能会有一个与User分开的一对一表,因为它对大多数用户没有用。例如,如果您有一个Employee表,其中仅包含适用于管理人员的详细信息,则可以将一个仅包含该经理特定信息的Manager表分开。

  • 具有很多与User一对一的字段的可读性:如果您对此感到担忧,则可以将User拆分成多个表,每个表处理一个主题用户,例如用户的联系信息,用户的账单信息等。

  • 性能,例如由于您需要不断运行一些更新来锁定整个User表以访问该表中的一个或两个值,因此性能降低了。在这种情况下,您可以将User拆分为多个表,以免每次运行时整个事情都不会被锁定。