【问题标题】:Normalization/ERD for Flight Schedule航班时刻表的标准化/ERD
【发布时间】:2015-05-04 20:18:30
【问题描述】:

为航班安排飞机的用户可以确定每个航班每天使用的飞机类型,并且可以在必要时更改飞机类型。归一化为 3NF 并提出一个关系模型。您应该仔细查看数据并注意像航班号这样的细节并不是唯一的,但它们似乎决定了其他属性。

我怎样才能正常化呢?如果没有唯一标识符(主键),那么如何做到这一点?我已经开始绘制依赖项(如下),但我不确定从这里去哪里/如果我做得对。

【问题讨论】:

  • 即使最终结果不使用 ID,但这并不意味着您的基表不应该有 int 字段主键。

标签: mysql normalization erd 3nf


【解决方案1】:

我会做这样的事情

**Flight**
Flightid, flight_num, plane_typeid, destinationid, departdatetime

**Reservation**
Reservationid, Flightid, seatsreserved, userid

**Destination**
Destinationid, destination

**Plane_type**
Plane_typeid, Plane_type, capacity

**User**
Userid, firstname, lastname

【讨论】:

  • 最终报告中的所有其他值都可以从表格中的信息中得出,例如出发时间和出发日期只是对查询语句的修改。
  • 嗨@Chris,如果这个或任何答案解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
  • 我不应该创建任何其他列,但我可以创建一个复合标识符。所以我结合了 flight_num 和 date 来制作 flight_id 复合键。所以我仍然可以做类似于你建议的事情。谢谢
猜你喜欢
  • 1970-01-01
  • 2021-06-15
  • 2017-12-09
  • 2012-12-10
  • 1970-01-01
  • 1970-01-01
  • 2014-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多