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. 如何在rails中實現這種數據庫關係
- 10. Sql-server如何存儲數據庫與這種關係
- 11. 我如何模擬這些關係?
- 12. 如何建模這種關係
- 13. 如何在關係數據庫模式中解決這種情況?
- 14. 我如何模擬像RavenDB這樣的面向文檔的數據庫系統中的heirarchal和關係數據?
- 15. 您將如何建模這個非關係數據庫?
- 16. 模擬關係數據庫的Python數據結構
- 17. 如何從Sybase ASA獲取數據庫模式11數據庫
- 18. 關係數據庫建模
- 19. 關係數據庫模型
- 20. 數據庫關係模式
- 21. 如何從CDM模式在PowerDesigner的SQLite數據庫?
- 22. 來自Sybase和Django的PowerDesigner 12
- 23. 數據庫是一種關係
- 24. 關係數據庫 - 多種類型
- 25. 如何模擬這種鋸齒形數據?
- 26. has_many:通過關係模擬這些數據的正確方法?
- 27. 在Django模型中正確定義這種數據關係
- 28. 如何模擬這種多繼承關係瓦特/ Ruby的ActiveRecord的?
- 29. 我應該如何設計這種情況下的數據庫關係
- 30. 如何模擬這種異步方法?
您將使用哪個數據庫?它可能會改變你如何處理這個問題。 – 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