如果我有一個像上面的圖片設計,我想有一個名爲「最喜歡的水果」另一個表,對每個人只選擇一個水果,會是有意義的將它作爲水果表的一個弱實體與pk (personid UNIQUE, fruitid, artificialid UNIQUE)
?
0
A
回答
0
觀看/敬請關注。即使在分區關係中(「ISA」關係),實體也只存在於圖表中,如果它們具有屬性/屬性的話。
[...]我想呼籲另一個表 「最喜歡的水果[...]」
也要小心。在概念模型中,沒有表格,而是實體。就像實體一樣,關係也可以變成表格。在這個階段,您可能會困惑地使用這些術語。
這就像用戶reaanb在評論中說的。關係/關係表達了這一點:事物之間的關係(在實例中)。你需要記住爲什麼你要在圖表中建立關係。總是問自己:
爲什麼這種關係存在?爲什麼我在X和Y之間創建這個?我真的需要堅持嗎?
您可以毫無問題地在兩個實體之間創建多個關係,因爲它們表示不同的事物(關係)。
現在。如果你知道用戶擁有最喜歡的水果,那麼你知道這兩個實體在某種程度上是相關的。因此,毫無疑問,我們有一種關係。
就你而言,如果用戶總是擁有最喜歡的水果,那麼我們有一個1-N關係,其中N部分在用戶中,因爲水果可以是許多用戶的最愛。另一方面,如果用戶可能有也可能沒有喜歡的水果,並且你不想要一個可爲空值的字段,我們必須定義一個N-N關係。分解後,這種關係將成爲表格。在這種情況下,您將只有一個只有兩列的表格。這兩個表是「用戶」和「水果」這兩個表的外鍵,它們也將成爲此表上的複合主鍵。因爲不可能重複記錄,在這種情況下,多個用戶擁有最喜歡的水果,請將「用戶」列設置爲唯一。
如果您有任何問題,請評論,我會回答。
相關問題
- 1. 初學者試圖設計和實現數據庫
- 2. SQL數據庫初學者
- 3. 初學者數據庫問題
- 4. NoSql初學者夥計。數據設計和關係
- 5. 核心數據初學者
- 6. 連接數據庫SQL Server初學者
- 7. 數據字典 - 初學者
- 8. VB.NET初學者設計的問題
- 9. 初學者的實體框架語法
- 10. C#實體框架 - 初學者
- 11. Struts初學者庫
- 12. 初學者WCF設置/實現設計方法
- 13. ER設計中的弱實體
- 14. 使用本地數據庫的數據倉庫 - 初學者
- 15. 初學者的Unity3D和遊戲設計
- 16. 網站設計初學者的書?
- 17. opengl - 渲染設計(初學者)
- 18. 初學者的數據庫最佳實踐
- 19. 多版本實體數據庫設計
- 20. 數據庫設計 - 關聯實體
- 21. 數據庫設計-relation實體之間
- 22. 初學者計算器
- 23. ScriptSharp初學者設置
- 24. 初學者核心數據和關係
- 25. 設計班(初學者)。如何設計協會
- 26. 培訓弱學習者
- 27. 需要學校數據庫設計
- 28. 實體框架數據庫初始化者添加列
- 29. 學生課程數據庫設計
- 30. 視頻學習的數據庫設計
如果你每個人只有一個喜歡的水果,你可以使用'person'表本身存儲這些信息。如果你仍然需要一個單獨的表格,'personid'列本身(或者'personid'和'fruitid'的組合)應該足以唯一地標識表格的每一行,並且你不需要'artificialid' 。 – pgngp
在這種情況下,「最喜歡的水果」應該是「人」和「水果」之間的關係,而不是弱實體。 – reaanb
可以說我有一個問題,我添加了一個名爲favouritefruit的屬性作爲fk指向水果中的fruitid,但水果桌中沒有包含fruitid的元組。這不會導致後退參考錯誤?此外,每個人必須只有1個最喜歡的水果(不多不少)。此外,爲了進一步澄清,水果表顯示了該人擁有的水果。 – QuantumKomputing