我正在设计一个用于存储应用程序信息的关系数据库。
每份申请都可以包含不同类型的参与者:法人和自然人。
法人和自然人的形式不同,包含不同的领域。
我希望参与者有一个共同的PK,因此我创建了三个表:
这种方法的缺点是我有困难的结构和获取信息 参与者我必须使用左连接加入三个不同的表。
另一种解决方案是将这三个表统一为一个(参与者)。 这个解决方案的缺点是表格很大且含糊不清。
请告诉我选择哪种解决方案以及为什么,或者针对此问题提供其他更好的解决方案。
答案 0 :(得分:1)
你应该选择你在问题中提到的第一种分为三个表的方法。这可以让您远离update
,delete
,insert
等不同的异常情况。
This是关于规范化的好读物。通过此链接,您将了解规范化的工作原理以及我们如何规范化数据库设计。希望它有所帮助:)