I'm doing a conceptual model in Sybase PowerDesigner. The restriction is following: One doctor can work in only one office at a time during his working time (shift). I guess Doctor - Office relationship should be many-many, but what about time restriction ("during his working time")? Should it be a new table SHIFT? So I guess I should have four tables (DOCTOR, OFFICE, SHIFT and OFFICE SCHEDULE). OFFICE SCHEDULE should be a table connecting all 3 other entities and should have composite primary key (id_doctor, id_office, id_shift)?
回答
OFFICE SCHEDULE的主鍵應該是(id_office,id_shift)。 id_doctor應該在表中,但不是主鍵的一部分。這將強制執行規定,在給定辦公室的情況下,如果發生輪班,該辦公室最多隻能有一名醫生。
當然,除了構成主鍵的兩個外,這三個都是外鍵。
上但那麼醫生可以在兩個辦公室進行同一輪班。辦公室日程表需要兩個唯一的限制 – Mark 2009-09-24 08:49:54
這個鍵(id_doctor,id_office,id_shift)將允許醫生在一個班次在許多辦公室工作。嘗試一下醫生和輪班辦公室作爲一個相關領域的關鍵。但是,這可以讓辦公室在輪班時有多位醫生,我不確定是否允許這樣做。
在一個班次中,只有一名醫生可以在一個辦公室工作 – 2009-09-23 17:05:08
好吧,您需要另一個唯一密鑰id_office,id_shift在同一個表 – Mark 2009-09-23 18:05:15
我會改變你的主鍵只包括辦公室和班次,但也增加了一個單獨的獨特的約束對醫生和轉移在一起。
- 1. 你將如何模擬這種數據庫關係?
- 2. 如何模擬這種關係?
- 3. 如何在數據庫模式中設計這種關係
- 4. 如何在關係數據庫中建模這個關係?
- 5. 使用XML模擬關係數據庫
- 6. 如何模擬這種一對一的關係?
- 7. 我如何在Rails中模擬這種關係
- 8. 我如何模擬這些關係?
- 9. 如何在關係數據庫模式中解決這種情況?
- 10. 我如何模擬像RavenDB這樣的面向文檔的數據庫系統中的heirarchal和關係數據?
- 11. 模擬關係數據庫的Python數據結構
- 12. 如何從Sybase ASA獲取數據庫模式11數據庫
- 13. 如何從CDM模式在PowerDesigner的SQLite數據庫?
- 14. 來自Sybase和Django的PowerDesigner 12
- 15. 關係數據庫模型
- 16. 數據庫關係模式
- 17. 如何模擬這種鋸齒形數據?
- 18. 在Django模型中正確定義這種數據關係
- 19. 如何模擬這種多繼承關係瓦特/ Ruby的ActiveRecord的?
- 20. Sybase SQL動態選擇(加入?)關係數據庫
- 21. 多種類別/產品關係的數據庫模式
- 22. 我該如何執行這種關係? (Formerley:是否有這種類型的數據庫結構的名稱?)
- 23. 如何解決這種復發關係?
- 24. Laravel:如何定義這種關係
- 25. 在jTDS中模擬數據庫連接?
- 26. 如何關係數據庫管理系統數據庫與圖形數據庫
- 27. 如何使一系列非數據庫方法模擬事務。
- 28. 如何模擬Sybase ASE中的GREATEST()?
- 29. 如何優化Sybase ASE數據庫?
- 30. 如何在Android中模擬數據庫
您將使用哪個數據庫?它可能會改變你如何處理這個問題。 – 2009-09-23 16:53:58
此外,辦公時間表與OFFICE的1:M(或M:M)關係如何? 如果它是1:1的關係,那麼OFFICE SCHEDULE應該是OFFICE表的一部分 – 2009-09-23 17:00:52
MS SQL 當我需要將多對多關係(醫生辦公室)分隔到一個單獨的表中時,我有點困惑,但我認爲它的辦公室時間表應該是1:M – 2009-09-23 17:11:04