當某人執行復選框搜索時,是否可以在一列中包含多個變量?比方說,複選框是這樣的:一列中有多個變量?
音樂跳舞: 1.Oldies 2.Reggae 3.pop 4.house
而且我們說,有通過「活動」的名稱是一個表,其中一列是音樂。 列可能包含比方說1,3,4,如果有人選擇複選框1,3或4,它將被搜索它會返回此行嗎?
謝謝:)
當某人執行復選框搜索時,是否可以在一列中包含多個變量?比方說,複選框是這樣的:一列中有多個變量?
音樂跳舞: 1.Oldies 2.Reggae 3.pop 4.house
而且我們說,有通過「活動」的名稱是一個表,其中一列是音樂。 列可能包含比方說1,3,4,如果有人選擇複選框1,3或4,它將被搜索它會返回此行嗎?
謝謝:)
你所描述的是一種多對多的關係。這意味着可以有很多事件,每個事件可以包含多種風格的音樂。另一方面,一種音樂風格可以在許多事件中表現出來。
通常,您可以使用助手錶和兩個不同的表來表示'事件'和'音樂'的這種關係:假設'事件'具有主鍵ID,'音樂'也是如此,但是沒有「音樂」或「事件」中的列相互引用。相反,要在它們之間建立鏈接,您需要創建第三個表'Event_Music',其中包含'event_id'和'music_id'列。考慮下面這個例子:
Table Event
id | name
1 | Event A
2 | Event B
3 | Event C
Table Music
id | style
1 | oldies
2 | reggae
3 | pop
4 | house
Table Event_Music
event_id | music_id
1 | 1
1 | 3
3 | 4
這告訴你,有將是事件A與老歌和流行,有將是事件C只有音樂房子。
您需要查看許多數據庫結構。做一些研究,設置一些表格,並給它一個鏡頭。這是數據庫的基本形式之一。
將音樂類型放入單獨的表格中,並創建一個列和一個從事件指向音樂類型表的外鍵。然後,您將音樂表的PK存儲到事件表中。
如果我理解正確的話,不,你不能在同一領域多個值(至少在一個健全的方式)。
您可以在單獨的表格中這樣做,我們可以將其稱爲[events_genres],它的[Events]表主鍵和[genres]表主鍵上的另一個外鍵具有foreign key。
例如:
[events_genres]
events_id genre_id
1 1
1 2
1 3
2 3
的events_id
是事件的表的ID [事件]和genre_id
是體裁的id(老歌,雷鬼,PHP ...)在[流派]表。
這可以工作,但是一個壞主意:你應該規範化這些數據。創建一個額外的表格musicForEvent,其中包含一個EventID和一個音樂列,如果事件有三個音樂,現在添加三行。 – Konerak
標準化不是這裏的解決方案。你想要的是比關係模型更具表現力的東西,所以我不妨建議使用NoSQL。 – Halcyon
@Frits破壞了NoSQL,noice! –