关系数据库,多个主要细节

时间:2017-04-18 14:04:42

标签: rdbms

我正在设计一个用于存储应用程序信息的关系数据库。

每份申请都可以包含不同类型的参与者:法人和自然人。

法人和自然人的形式不同,包含不同的领域。

我希望参与者有一个共同的PK,因此我创建了三个表:

  • 参与者 - 这里我存储了常用信息;
  • participant_phys_dtls - 这里我存储了自然人的字段;
  • participant_lgl_dtls - 这里我存储了法人的字段;

这种方法的缺点是我有困难的结构和获取信息 参与者我必须使用左连接加入三个不同的表。

另一种解决方案是将这三个表统一为一个(参与者)。 这个解决方案的缺点是表格很大且含糊不清。

请告诉我选择哪种解决方案以及为什么,或者针对此问题提供其他更好的解决方案。

1 个答案:

答案 0 :(得分:1)

你应该选择你在问题中提到的第一种分为三个表的方法。这可以让您远离updatedeleteinsert等不同的异常情况。

This是关于规范化的好读物。通过此链接,您将了解规范化的工作原理以及我们如何规范化数据库设计。希望它有所帮助:)