關於設計數據庫
回答
都沒有。如果兩個學生住在宿舍裏,並且擁有(共用)相同的電話號碼(宿舍電話),或者是在家生活的兄弟姐妹?電話號碼錶應該是一個組合鍵,phonenumber
,和studentId
作爲複合主鍵。這反映了所謂的多對多或關聯關係,它們不容易用XML表示。
下面的模式假設每個學生都可以確定他/她使用該行的電話的「類型」。如果電話類型僅由電話確定,那麼您將爲電話號碼和電話類型添加另一個單獨的表格,而不使用studentId
,並在關聯表中將phoneNumber
字段設置爲該新電話的外鍵(FK)表
謝謝你的回答,我會支付你的更正。 但是,這並不是我期待的答案,我想學習的是「哪種方法更有用,關係還是XML?」 再次感謝您。 –
ahhhh,如果這就是你感興趣的所有內容,那麼關係就是答案。您不能輕鬆地在XML中執行多對多的關係。 –
我會與設計1走,但有修改。電話號碼錶,但是,將學生ID作爲主鍵。這樣,您可以讓多個學生使用同一部電話,這對我來說是完全正常的場景。
謝謝你的回答,我會考慮你的警告。 –
如果電話號碼錶具有'studentId'作爲主鍵,則每個學生只能有一條記錄。不,需要在'studentId'和'phoneNumber'上有一個COMPOSITE主鍵。 –
我不會通過將電話號碼標準化爲某些潛在的無限列表來解決此問題。
你真的需要一個學生多少個/什麼類型的電話號碼?比如,你需要傳真號碼嗎? 也許你需要一個學期時間和一個非學期時間數?
您似乎更有可能需要一個主號碼和一個備用號碼,並且這些號碼可以存儲在學生表本身中。
比你的答案。但我注意到,你們所有人都迷戀我的小學生例子,我設計這個數據庫只是爲了「示例」的目的。我真正想學的是,使用XML是設計數據庫的一個不好的習慣。 –
@OnurEryilmaz我們只能回答你提出的問題,並且描述那些花時間幫助「迷戀」的人是非常粗魯的。你應該問:「使用XML是設計數據庫的一個不好的做法嗎?」,或者更好地提到關於該主題的任何現有問題。 –
我對我的語言感到抱歉,我沒有想到「癡迷」是無禮的。但是,正如我問我的問題:「哪個設計」更好。我沒有問:「我的第一張圖是錯的嗎?」。但是,我很抱歉。 –
- 1. 關於數據庫設計
- 2. 關於數據庫設計的建議
- 3. 關於數據庫設計懷疑
- 4. 關於數據庫表格設計
- 5. 關係數據庫設計
- 6. 關係數據庫設計
- 7. 數據庫設計/關係
- 8. 數據庫設計關係
- 9. 關於MySQL關係數據庫設計的快速提示
- 10. 關於客戶評論的關係數據庫設計
- 11. 關於數據庫關係的SOA設計原則
- 12. 關於設計支持庫
- 13. 關係數據庫設計用MySQL,
- 14. 關係數據庫設計問題
- 15. 多對多關係數據庫設計
- 16. 關係數據庫設計 - 「循環」圖
- 17. 數據庫設計 - 關聯實體
- 18. 1-M關係數據庫設計
- 19. 數據庫設計一對一關係
- 20. 關係數據庫設計週期
- 21. 有關數據庫的設計
- 22. 努力與數據庫設計/關係
- 23. 關係數據庫設計方案
- 24. MySQL數據庫設計 - 關係表
- 25. 關係數據庫設計 - 拆分表
- 26. 數據庫架構設計的關係
- 27. 數據庫表關係的設計
- 28. 數據庫設計:OR關係
- 29. 關聯數據庫設計中的3NF
- 30. 關係數據庫設計(MySQL的)
請編輯您的問題,以解釋我們應該如何閱讀第二個圖表。 – philipxy
@philipxy我認爲圖很清楚。首先我們將學生電話號碼存儲在另一個表格中,第二個我們使用XML將學生電話號碼存儲在同一個表格中。 –