我有一個表稱爲隊(ID,名稱,...)我有一個表稱爲分區(ID,名稱,......)我想diviosn持有teams.id對於一個分區中的每個球隊而言,球隊可以有多於一個分區。我如何設置?MYSQL表設計幫助
回答
假設你的表看起來像這樣
teams
-teamId
-teamName
divisions
-divisionId
-divisionName
我想你正在尋找的是一個多一對多連接表
membership
-divisionId
-teamId
這將讓你找到所有球隊與
select teamId
from team t
join membership m
on m.teamId = t.teamId
where m.divisionId = 'theIdYouWant'
師這也讓儘可能多的團隊,只要你想屬於一個部門,爲你想要包含相同的團隊的許多部門。這是一個多對多的關係表。
您可以創建所謂的關係表。這是團隊表格和Divisions表格之間的中間表格。然後我們說球隊表(tbl_teams)和分區表(tbl_divisions)之間存在多對多的關係。你可以在一個部門擁有很多團隊,在許多部門擁有一個團隊,或者在許多部門擁有許多團隊。
tbl_teams_divisions_rel
ID INT PRIMARY KEY NOT NULL AUTO_INCREMENT
TEAM_ID INT NOT NULL
Division_ID INT NOT NULL
然後你建立的關係tbl_teams_divisions_ rel.Team_ID和tbl_team.ID,然後tbl_teams_divisions_rel.Division_ID和tbl_divisions.ID
之間如果你問的問題,如何列出一個特定部門的所有團隊ID 13,你會做以下幾點:
SELECT tbl_teams.*
FROM
tbl_teams
INNER JOIN tbl_teams_divisions_rel ON tbl_teams_divisions_rel.Team_ID = tbl_teams.ID
WHERE tbl_teams_divisions_rel.Division_ID = 13
希望它有幫助!
謝謝,我會試試看。 ID字段是否必需? – Rich 2011-01-22 21:38:36
這是多對多關係的標準方法:製作包含兩列team_id和division_id的單獨表格teams_divisons(或divisions_teams)。
您可以將兩列 - division_names
添加到將包含每個部門中團隊名稱的團隊,並將team_names
添加到包含團隊所屬部門名稱的部門。
當您添加團隊或部門,按照它由;
,那麼你可以通過使用$field = explode(";", $field);
創建基於該領域的團隊或部門的數組,然後使用foreach()
列表中的組或部門。
這是假設你正在使用PHP。如果我誤解了你,請告訴我。
您需要創建一個多對多聯結表來加入分區和團隊表。
CREATE TABLE division (division_id INT NOT NULL,
PRIMARY KEY (division_id)
);
CREATE TABLE team (team_id INT NOT NULL,
PRIMARY KEY (team_id)
);
CREATE TABLE division_team (division_team_id INT,
PRIMARY KEY (division_team_id)
division_id INT,
team_id INT,
FOREIGN KEY (division_id) REFERENCES division(division_id),
FOREIGN KEY (team_id) REFERENCES team(team_id),
);
- 1. SQL表設計幫助
- 2. 幫助設計表單
- 3. PHP表單設計幫助
- 4. 幫助Mysql數據庫設計
- 5. MySQL查詢設計需要幫助
- 6. Rails設計幫助
- 7. 幫助類設計
- 8. ERD設計幫助
- 9. SQL Server:表設計中的幫助
- 10. Javascript/python設計幫助
- 11. WCF設計需要幫助
- 12. 佈局設計幫助Android
- 13. iPhone UI設計幫助
- 14. 數據庫設計幫助
- 15. Windows服務設計幫助
- 16. 幫助數據庫設計
- 17. Rails幫助與設計
- 18. UI設計幫助/建議
- 19. 幫助數據庫設計
- 20. 桂設計幫助 - MFC
- 21. 建築設計幫助
- 22. 設計問題幫助
- 23. 幫助數據庫設計
- 24. 數據庫設計幫助
- 25. 課堂設計幫助
- 26. Android佈局設計幫助!
- 27. 幫助程序設計
- 28. 幫助設計此TableLayoutPanel
- 29. MYSQL查詢幫助(EAV表)
- 30. MySQL查詢幫助,多表
所以成員-divisionId -teamId我只有兩個字段都是主鍵?還是我需要一個自動遞增的附加密鑰? – Rich 2011-01-22 21:30:42