我在想數據庫的設計。 我有一個表的列是一個外鍵。我希望外鍵可以引用三個不同表格的列。 這可能嗎?我將如何爲此編寫創建表查詢? 示例 三個表:電影,書,電視..每個都有一列稱爲URL。 另一個表人們有列URL可以引用三個表中的任何一個的URL 這是可能的嗎?一個屬性是一個外鍵。外鍵可以參考三個不同的表
回答
您可以使用兩列用於此目的:一列包含另一個表中的行的ID,另一列包含項目的類型(例如電影,書籍,電視)。
要回答你的問題,是的,這是可能的,但只是數字不夠,因爲在不同的表中可能有多行具有相同的ID。
如果你需要這樣的東西,它應該是你的設計有問題的標誌。
處理此類性質的最佳方法是製作URL
表,並將所有URL
引用指向該表。
這似乎是合理的,三個表中的每一個都有url作爲主鍵。添加另一個將在創建或刪除時使用的新表。這是不好的設計,因爲它需要額外的空間,只用於刪除和創建 – 2012-04-13 20:17:10
URL是主鍵?這對PK來說似乎是一個非常糟糕的選擇,因爲網址可以很容易地改變...... – JNK 2012-04-13 20:20:23
oki我會認爲abt主鍵別的東西,但無論如何,你可以評論我以前對額外空間的評論? – 2012-04-13 21:39:19
- 1. 兩個外鍵請參考另一個表的同一列?
- 2. 一個屬性可以有兩個外鍵嗎?
- 3. 外鍵參考相同表
- 4. 將三個外鍵的MySQL表連接到同一個表
- 5. MySQL不會將外鍵多於一個外鍵添加到同一個表
- 6. 一個外鍵引用不同表的兩個主鍵?
- 7. 外鍵屬性可以是組合主鍵的一部分嗎?
- 8. 如何爲三個主表添加三個外鍵給同一個子表?
- 9. 2不同表中的主鍵作爲另一個表中的一個外鍵
- 10. 針對同一個表的外鍵?
- 11. CakePHP的兩個外鍵在同一表
- 12. 向同一主表的兩個外鍵
- 13. 如何使一個表的主鍵,同一表的外鍵
- 14. MySQL的外鍵到另一個外鍵
- 15. SQL,獲取外鍵值。外鍵引用同一個表
- 16. NHibernate:對同一列的同一個表中的兩個外鍵
- 17. 外鍵可以是另一個表的複合主鍵的一部分嗎?
- 18. 同一個表和外鍵上的兩個主鍵
- 19. SQL,兩個外鍵引用另一個表的相同主鍵
- 20. 什麼是可能使用一個參考場爲多個外鍵約束
- 21. 同一表中有多個外鍵
- 22. 列出一張表的所有外鍵,同一表的多個外鍵
- 23. JoinColumn一個外鍵
- 24. Rails 5 - 多個外鍵屬於同一個表
- 25. 聯接表屬性可以用作另一個表中的外鍵嗎?
- 26. 幾個表中的一個的外鍵
- 27. 可以使用一個外鍵引用兩個不同的表嗎?
- 28. mysql表有兩個來自另一個同一表的外鍵
- 29. 來自一個表的兩個外鍵
- 30. 來自一個表的多個外鍵
這是可能的,但可能不適合我的設計 – 2012-04-13 21:38:09