new*_*int 2 mysql database-design
我正在为学校项目设计 dB- 机票数据库。(使用 MySQL 工作台)
到目前为止,我想出了以下设计:
以下是我无法弄清楚的几件事:
Varchar
)是个好主意吗?? Flight
特定航班的到达城市和出发城市(从表中)不同?小智 5
你得到你所支付的 SO。反对使用自然键(在这种情况下是名称而不是数字)的建议很常见,但被误导了。如果你不相信我,问问你的教授。
座位数似乎是飞机的财产,对吧?预订座位数似乎是预订座位数,按航班号分组。
到达和离开城市可以用约束来CHECK
约束。您可能还想确保在抵达之前出发(假设是 21 世纪机场)。
你的设计非常好,比你得到的一些建议要好。坚持下去,不要担心您的键的数据类型,不要寻找触发器之类的奇特来实现应用程序逻辑(并且不要忽视对应用程序的真正约束)。做CREATE TABLE
几次RTFM 。如果您认为某个约束无法声明,我建议您在项目中将其记录为 DBMS 中的缺陷。
一定要仔细考虑什么是独特的。我怀疑您是否需要 BookingID,因为PassengerID、Flight# 和Seat 似乎是唯一的。乘客是复杂的(在真实的数据库中你会有一堆表来描述某人)所以他们需要一个 ID 以便于参考,但你仍然可能不希望两条记录共享姓名和地址。
归档时间: |
|
查看次数: |
4278 次 |
最近记录: |