我正在爲一家大公司構建一個基於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