我正在为我正在开始的数据库项目构造布局。自从我上一次构造外键等以来已经一年多了,称我为生锈是轻描淡写。
因此,对于我的数据库,我们将有一个包含车辆的表和一个位置表。每个车辆都有一个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
搜索,并选择时间戳小于当前时间的时间戳。