访问,多个一对一连接问题
Posted
技术标签:
【中文标题】访问,多个一对一连接问题【英文标题】:Acces, multiple one to one connections question 【发布时间】:2021-12-04 16:19:32 【问题描述】:我在访问时遇到问题,我正在尝试创建机场数据库,但无法真正实现一对一 - 一对一 - 一对一连接 beetwen 机票、乘客和行李。这个想法是,一个乘客可以拥有一张票和一个行李,当我像图片上那样做时,我不能从票上获取行李,也不能从乘客那里只从行李本身获取。
My diagram
【问题讨论】:
一种简单的方法是将所有内容放在一张表中(1-1可以看作是一张表的扩展),或者在其他表中只使用一个Key作为PK和FK 【参考方案1】:主要是图表应该是这样的:
简单的数据和键:
示例查询(所有带有相关链接数据的票证):
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;
第二个视图是目的,所以由你来做调整。
注意: 第三个人没有行李。 第 1 个人和第 2 个人使用相同的航班。
使用了 MS Access,但设计未绑定到特定的 rdbms(仅针对特定实现的方言调整)
另外,Persons-Tickets 的关系应该是 1-n 有一个错误。(类似 Flight-Tickets)。
还可以绑定额外的约束。 例如:一个人可以只在一个航班上是一个特定的时间。
【讨论】:
哦,我明白了,非常感谢,你的回答真的很有帮助,现在我知道它应该如何工作了以上是关于访问,多个一对一连接问题的主要内容,如果未能解决你的问题,请参考以下文章
MyBatis的对象关系映射---一对多等值连接策略★★★★★