http://i.stack.imgur.com/exoYY.jpg
我无法创建此图表关系。我知道什么是错的,理解为什么。飞行腿(左)中的Route_ID可以为空,并且Route_id在路径表(右)中无法为空。
但是FlightLeg中的Route_ID可以合法地为空。也许用户还没有指定路线。但是当指定 时,我想确保路由表中有一个相关的行。我可以(并且已经确保)确保从路由表中的有效路由列表中选择Route_ID,因此不存在用户输入错误的可能性。他们总是选择有效的路线。他们根本不会选择一条路线。这阻止了我创建这种图表关系。
因此,我知道图表工具是正确的,这意味着我以错误的方式解决这个问题。任何人都可以建议如何使这项工作?
我需要允许用户不指定路由,但是当他们这样做时,它必须是有效的路由。
我如何计算并创建关系?
谢谢!
编辑:不能发布没有10个重复点的friggin pic。 AARGH!希望链接有效。
答案 0 :(得分:0)
绘制此图的正确方法是使用多个到可选的一个关系。所以
request_flight_legs >--o route
关系意味着request_flight_legs
可能有路线,在这种情况下request_flight_legs.route_id
会有一个值。如果request_flight_legs
没有路由(尚未),则该表中的route_id
将为空。它在request_flight_legs
的外键中实现为可为空的列。在所有情况下,route.route_id
将始终具有值。这是一个不可为空的专栏。
有什么事阻止你这样做吗?