首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我创建了一个出租房间的ER图表,我有一些问题

我创建了一个出租房间的ER图表,我有一些问题
EN

Stack Overflow用户
提问于 2016-02-04 15:47:27
回答 1查看 3.7K关注 0票数 0

链接到ER图

这个房间的主人把这个房间租给游客和参观这个地区的人住几天,他们需要一个地方住几天。每位客人都需要预订房间,只有一个房间可用。所以我想出了这个实体关系图,表示了所有的实体和关系。

我想知道预订实体是否需要两把外键?此外,ER图的总体设计是否正确到一个可接受的级别,包括键和属性?

EN

回答 1

Stack Overflow用户

发布于 2016-02-05 21:25:53

您的模型有几个问题:

  • 每个房主只能拥有一个房间。在现实世界中,业主可以拥有许多房间。即使现在您想要一种双射关系,我还是建议您将这种关系从所有者表中删除,以防您以后要更改它。
  • 每个房间都只有一个客户。如果是真实世界,在不同的预订过程中,房间可以容纳不同的客户。从Room表中删除与客户端的关系。
  • 每个客户只有一次预订。在现实世界中,随着时间的推移,客户可能会有不同的预订。从客户端表中删除与预订的关系。
  • Booking_ID听起来像是预订的代孕密钥。为什么客户端是主键的一部分?我认为它应该是一个非素数属性,并表示它将处于一个外键约束中,就像图中已经描述的那样。
  • 预订在Room_ID上有一个外键约束,但是您的图表没有描述它。
  • 支付表中的Payment_ID位于外键约束中,但听起来像该表的代理键。我认为预订表中的Payment_ID和付款中的Booking_ID都应该受到限制。
  • 付款表的目的是什么?它看起来是多余的,即使不是,您也可以将这些函数依赖项移到订票表中,这样就可以消除Payment_ID。
  • 如果从预订表中删除Payment_ID,那么仍然有两个键在外键约束中。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35205434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档