音樂家與樂隊和樂器之間會有一對多的關係。因此,創建你的音樂家表並將所有關於音樂家的信息添加到該表中。
創建一個樂器表來保存關於樂器的信息,併爲樂隊執行相同的操作。這將照顧你所有的個人物品。
然後創建一些類似'band_assignments'的表,其中只有一個樂隊的ID和音樂家的ID,並將兩者連接在一起。創建一個'instrument_assignment'表來做同樣的事情。
現在,當您查詢音樂家時,您可以將所有這些表格連接在一起,以獲取您需要的數據或選擇性地只加入樂器,樂隊或根據「加入日期」進行排序並限制以獲得最後一個樂隊他們加入或他們學到的最後一個工具。
基本上5張桌子應該覆蓋這一切。
musicians (musician_id, first_name, last_name)
bands (band_id, name)
instruments (instrument_id, name)
band_instument_assignments (musician_id, band_id, instrument_id, date_played)
正如你可以在編輯的版本見上你會有多行的「band_instrument_assignments」表 - 爲每個每個用戶在每個樂隊演奏樂器。您將需要使用一些GROUP BY和LIMIT子句來獲取所需的數據,但它應該適用於您。
音樂家可以在多個樂隊? – Andrew 2010-02-16 03:50:24
我正在努力與模特建立關係...... – 2010-02-16 03:53:55
:)不錯。是的,音樂家可以在多個樂隊中。 – someoneinomaha 2010-02-16 04:02:20