【发布时间】:2017-07-04 00:31:01
【问题描述】:
我对如何为这个示例 SQL 数据库设计我的表有点困惑。
我有Customer 实体。客户可以拥有许多Pet 实体。每只宠物都必须有自己的MedicalHistory。但是有些宠物是女性,所以他们有一个FemaleMedicalHistory。最后,每个FemaleMedicalHistory 都可以有很多Birth 记录。
所以FemaleMedicalHistory 似乎是MedicalHistory 的子类,包含相同的字段以及指向Birth 表的内容。是这样吗?
您将如何将这些关系建模为表? MedicalHistory & FemaleMedicalHistory 表是否应该共享相同的主键(例如 mid)?
编辑:
这是我的想法,但我不确定它是否适合:
【问题讨论】:
-
家庭作业?您为什么不向我们展示您当前的解决方法。
-
@BjoernRennhak 不,它是我目前正在尝试开发的项目应用程序的数据库关系。我上传了我的第一个模式尝试,但由于某种原因它似乎不合适。你怎么看?
-
有人吗?我认为这很简单,我只是错过了一些东西..
-
@LePhleg:“medical_history”本身就是一个非常糟糕的主意,这导致您定义了“medical_history_female”表。最好有一个只有几个字段的表——mid、pid、curdate、treatment_type 和 details——但有很多行。每一行都是每只宠物的治疗记录。
标签: database-design entity-relationship