我正在努力为大学住宿办公室建模和实施数据库。
这是我到目前为止的ER图:
规范说,大厅有一个马槽,公寓有多个房间。否则属性是相同的。发票和地址需要有公寓或大厅的地址。
我应该将平面和大厅实体存放在同一张桌子上吗?我怎么能有一个实体(地方)连接其他两个实体?
答案 0 :(得分:0)
在以下标记的信息标签中查找:single-table-inheritance class-table-inheritance shared-primary-key。
对于像你这样的简单案例,单表继承可能是你最好的选择。您将在不适用于所有行的属性中有一些NULL,但这不应该是一个主要问题。
对于复杂的情况,类表继承更好,但这是一些额外的工作。
Shared-primary-key是一种额外的技术,可以与class-table-inheritance一起使用,以强制实现“is a”关系的一对一性。