我有两张桌子: 1.使用case_id作为主键和事件的事件 2.带有vehicle_no作为主键的车辆。 是否可以使vehicle_no引用case_id?
答案 0 :(得分:1)
是的。虽然两个看似不同的实体共享一个密钥有点奇怪。这通常发生在相关实体上。 (特别关注的是,他们将这些东西命名为完全不同的东西,这可能会导致后来出现混淆。)但无论如何,相同的模式都有效。
你会得到Incident
表:
Incident
----------
case_id PK auto-increment
some_other_field
etc.
这将创建一个正常的自动增量键,就像任何其他键一样。那么你的Vehicle
表只会有一个外键,它也是它的主键:
Vehicle
----------
vehicle_no PK FK to Incident
another_field
etc.
插入Vehicle
时,只需要为INSERT
语句提供外键的有效值,就像在外键字段中插入任何其他值一样。
答案 1 :(得分:0)
标准化不足。车辆肯定会涉及多个事故?一个事件可能涉及多个车辆?因此,您不希望将车辆行直接与案例相关联,或者反之亦然。你需要的是第三个表,{case_id,vehicle_id}
对。