我正在为一家大公司构建一个基于Web的应用程序,我对数据库部分有疑问。让我们首先为您介绍的情况:数据库设计:外键困境
但是也有一些与外键连接的4个极表:
表1:roadlists
roadlist (roadListNumber, vehicleId, driverId, date, start, end, fuel,...)
- roadListNumber - PrimaryKey的
- vehicleId - foreignKey
- driverId - foreignKey
表2:驱动
drivers(driverId, firstName, middleName, lastName, and so on...)
- driverId - 的PrimaryKey
表3:车辆
vehicles(vehicleId, group, type, model, gpsDevice, and so on...)
- vehicleId - 的PrimaryKey
表4:cargo_zones
cargo_zones(zoneId, name, permiter, area, latitures, longtitudes, and so on...)
- 了zoneid - 的PrimaryKey
表5:roadLists_cargoZones_mapping
roadLists_cargoZones_mapping(roadListNumber, zoneId, spentFuel, tkm, mcm,...)
- roadListNumber - FOREIGNKEY
所以这里的问题是:
如果我删除驱动程序表中roadlists表中的值将被设置为NULL或整排将是一个驾驶根据约束删除。在第一种情况下,如果某人在某个日期列出所有报告时将它设置为NULL,他将无法查看值班人员的姓名,因为其ID不链接到驱动程序表中的任何行。在秒数情况下,如果整个行从道路列表表中删除,则系统丢失重要数据。
那么我该如何处理这种情况呢?
+1。从我.... – 2013-02-24 00:51:16