我有以下情況:
- 客戶端(ID)
- 合同(ID,客戶端ID)
- ClientEmployee(ID,客戶端Id)如何在關係數據庫中建模這個關係?
客戶可以有很多合約,並且客戶端可以有許多ClientEmployees。
對於任何合同,我需要關聯在其上工作的ClientEmployees。
目前,我的解決方案非常簡單,我可以在合同和客戶僱員之間建立多對多的關係 。
- ContractClientEmployee(ID,ContractID,ClientEmployeeID)
採用這種設計,也沒辦法(在數據庫設計的水平),以防止被關聯到另一個客戶端的合同ClientEmployee,那將是一個錯誤的課程。
我覺得必須有一個「好」的解決方案,即在架構上進一步約束捕捉,但我無法弄清楚如何... :-(
更新:我收到兩個有效和非常好的我接受了倫佐的一個,因爲它是第一個......對不起,重申...
查看我的回答[如何確保不相關表之間的完整性](https://stackoverflow.com/questions/43413488/how-do-i-ensure-integrity-between-unrelated-tables/43416765#43416765) – reaanb
哇......看起來很複雜! :-)我需要時間閱讀它......目前,非常感謝!我會告訴你我的想法! – Andrea