我是MySQL的新手,但在各種編程語言中擁有非常紮實的背景。MySQL設計澄清
現在我正在設計我的第一個數據庫。我瞭解MySQL表的基本功能以及關係數據庫是什麼,但是我在解決一些問題時遇到了困難,所以我發佈了這個幫助(搜索沒有奏效,我一直使用的術語是太籠統了,我不知道如何縮小範圍)。這裏是我卡在哪裏:
我想拉Facebook的數據,特別是興趣(「喜歡」)和用戶位置。
如果這是一些面向對象的語言,我只是創建一個用戶的數據結構,其中的所有信息(Facebook ID,興趣作爲一個數組,位置),但我不知道如何在MySQL中重新創建。
現在,我的思維創造一個用戶表
- Facebook的ID(主鍵?)
- 名稱
- 位置
- 註冊日期
然後創建一個的興趣表與
- 利息名(索引,按字母順序排序?)
- 也許用戶提供這種興趣
- 是涉及回給每個用戶
我覺得這是我的欠缺外鍵計數的理解進來。我如何在MySQL中複製列表或數組的概念,使我能夠將每個興趣映射到每個「喜歡」這個興趣的用戶?
任何其他建議,想法或指導優秀教程網站的方式都將不勝感激。我是一個有觸覺的學習者,所以讓我的手弄髒教程對我來說會很好,但我還沒有找到一個涵蓋這個。
感謝靈格的快速反應。幾個問題根據你的回答和克里姆森的回答。多個用戶可能擁有數千種興趣是否可以?相反,預計我會爲每個User_ID看到大量的行嗎?這種第三映射表是多對多關係的標準嗎? 謝謝! –
是的,它是鏈接多對多關係的標準。它將能夠處理與INSERT一樣多的記錄。所以,千千萬萬的利益***應該不成問題。您正在使用主鍵和外鍵,因此它們將被索引並幫助自然加速。 – Linger
另一點:在User_Interest表中,確保在「Interest_ID」和「User_ID」上合併***合成鍵***。這將確保您不會對同一用戶獲得任何重複興趣。你可以用*** StudentCourseEnrollment表格在*** Krimson的***答案中直觀地看到這一點。 – Linger