我在 Access 方面遇到问题,我正在尝试创建机场数据库,但无法真正在机票、乘客和行李之间建立一对一 - 一对一 - 一对一的连接。这个想法是,一名乘客可以拥有一张机票和一件行李,当我像图片上那样操作时,我无法从机票上获取行李,也不能从乘客处获取行李,只能从行李本身获取行李。
最佳答案
主要的图表应该是这样的:
简单数据和 key :
示例查询(所有带有相关链接数据的工单):
SELECT Tickets.Ticket,
Tickets.Person,
Flights.Flight,
Luggages.Luggage
FROM Flights
INNER JOIN (
(Persons INNER JOIN Tickets ON Persons.ID = Tickets.Person)
LEFT JOIN Luggages ON Tickets.ID = Luggages.ID)
ON Flights.ID = Tickets.Flight;
第二个 View 就是目的,因此由您来进行调整。
注意: 3号人没有行李。 第 1 人和第 2 人乘坐同一航类。
使用了 MS Access,但设计并未绑定(bind)到特定的 RDBMS(仅针对特定实现进行方言调整)
此外,Persons-Tickets 关系存在错误,应为 1-n。(类似 Flight-Tickets)。
还可以绑定(bind)额外的约束。 例如:一个人可以在特定时间只乘坐一次航类。
关于ms-access - Access 、多个一对一连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70227397/