我正在为我正在开始的数据库项目构造布局。自从我上一次构造外键等以来已经一年多了,称我为生锈是轻描淡写。

因此,对于我的数据库,我们将有一个包含车辆的表和一个位置表。每个车辆都有一个ID(VehID),一个位置(位置)和一个名称(标题)。位置表具有以下字段:LocID,该位置所针对的车辆ID(VehID)(是车辆数据库中的外键),还具有车辆的纬度和经度。

这些表如下所示:

-----------
| vehicle | - //Holds all vehicles
-----------
|  VehID  | - PK, auto_incrementing
|Locations| - //should link to most current location, with location.VehID == vehicle.VehID
|  Title  | - varchar(40)
-----------

-----------
|location |   - //Holds all locations where a vehicle has been
-----------
|LocID    |   - PK, auto_incrementing
|VehID    |   - Foreign Key from vehicle
|Latitude |   - decimal(10,6)
|Longitude|   - decimal(10,6)
-----------


如果有帮助,我正在为ORM使用django框架。每次我尝试向位置表添加新条目时,尝试设置为VehID时都会出错...我将如何设置它?如果不能,如何链接车辆和位置字段?就像我说的..已经有一段时间了。

最佳答案

这是我要解决的方法:


删除vehicle.Locations(否则,您在两个表之间有循环关系)
timestamp中添加一个location字段,其中包含车辆到达特定位置的时间
确保始终在vehicle中引用条目之前将其插入location


要查找车辆的当前位置,请在GROUP BY上进行vehicle.VehId搜索,并选择时间戳小于当前时间的时间戳。

10-04 15:41