我的问题很简单。我可以用图像解释。我将创建一个数据库,并且此 ALL表包含相同的数据库列(IsDeleted,IsActive,CreatedDate,UpdateDate,CreatedUserId等)。设计该数据库的最佳方法是什么?我应该像第一个表一样希望所有表都具有相同的列,还是应该像第二个一样希望 ALL表与基表相关?
答案 0 :(得分:0)
第一种方法更适合您的情况。
答案 1 :(得分:0)
除非您的选择和回显不包含用户ID和名称,否则看不到您选择第二种设计的原因。
答案 2 :(得分:0)
通常,您应将User
表中所有属于User
的字段保留在表中,但有一些例外情况:
可选性;如果存在一组仅适用于一部分用户的字段,则您可能会有一个与User分开的一对一表,因为它对大多数用户没有用。例如,如果您有一个Employee
表,其中仅包含适用于管理人员的详细信息,则可以将一个仅包含该经理特定信息的Manager
表分开。
具有很多与User
一对一的字段的可读性:如果您对此感到担忧,则可以将User
拆分成多个表,每个表处理一个主题用户,例如用户的联系信息,用户的账单信息等。
性能,例如由于您需要不断运行一些更新来锁定整个User
表以访问该表中的一个或两个值,因此性能降低了。在这种情况下,您可以将User
拆分为多个表,以免每次运行时整个事情都不会被锁定。