我想是因爲我聽到這很好(我是新手Web開發人員),以限制我的數據庫表中的約。我想讓用戶在數據庫中輸入一個列表。所以他們輸入一個標題,整體評論,然後開始製作清單。我無法弄清楚如何在不爲每個列表製作新表的情況下做到這一點。因爲,例如,一個用戶想要一個包含44個值的列表,而另一個用戶需要一個包含10個值的列表。如果不爲每個列表製作一個新表格,我都無法想象如何做到這一點。我非常感謝你能給我的任何幫助/見解。SQL數據庫設計需要幫助
2
A
回答
5
基本上,你想爲用戶列表,在表中的每一行是指一個用戶的名單表,另一個表用戶列表值,其中表中的每一行都有一列參考到它所屬的列表,以及用戶輸入的值列。
0
你的表可能是: 用戶名,INT ListID,INT(主鍵唯一標識符) 標題,VARCHAR(250) 評論,VARCHAR(MAX)
Example Content:
1 | 1 | The Title | My Comment
1 | 2 | The Other Title | My other comment
2 | 3 | First Comment | Second Person, first comment
Eacher用戶只是得到他們的從查詢列表:
選擇ListID,影片名稱,評論作者the_Table 其中UserID = @UserID
0
你可以用一個逃脫對於所有列表行的表,比方說簡單地
CREATE TABLE ListLines (
listID INTEGER,
lineNo INTEGER,
line TEXT,
PRIMARY KEY (listID, lineNo),
FOREIGN KEY (listID) REFERENCES Lists
);
與列出的表格成爲:
CREATE TABLE Lists (
listID INTEGER PRIMARY KEY,
userID INTEGER,
title TEXT,
comment TEXT,
FOREIGN KEY (userID) REFERENCES Users
);
假設你有一個Users
表與每個用戶的信息主鍵userID INTEGER
(名等等)。
因此,要獲得給予其ID你剛纔
SELECT line FROM ListLines
WHERE listID=:whateverid
ORDER BY lineNo;
,或者你可以UNION與例如在一個列表中的所有行標題:
SELECT title AS line FROM Lists
WHERE listID=:whateverid
UNION ALL
SELECT line FROM ListLines
WHERE listID=:whateverid
ORDER BY lineNo;
等等。這種靈活和高效的安排是做事的關係的方式...
相關問題
- 1. 需要數據庫設計幫助
- 2. 需要數據庫設計幫助
- 3. 需要數據庫設計幫助
- 4. 需要數據庫設計幫助
- 5. 需要數據庫設計幫助
- 6. 需要數據庫幫助
- 7. 數據庫設計幫助
- 8. 幫助數據庫設計
- 9. 幫助數據庫設計
- 10. 幫助數據庫設計
- 11. 數據庫設計幫助
- 12. WCF設計需要幫助
- 13. 需要數據庫表格設計幫助
- 14. 需要關於設計數據庫的幫助
- 15. 需要數據庫設計方面的幫助前10位
- 16. 需要幫助數據庫設計請假應用模塊PHP
- 17. 需要數據庫設計規範化幫助(5nf)
- 18. 需要幫助設計數據庫 - 對於非DBA
- 19. 需要幫助重構查詢/數據庫設計
- 20. 在數據庫設計上需要幫助
- 21. 產品及其規格的數據庫設計需要幫助
- 22. 需要幫助,我的數據庫設計
- 23. 需要幫助,使MyBatis可怕的數據庫設計工作
- 24. 創建數據庫。需要設計幫助
- 25. 需要幫助設計我的發票數據庫結構
- 26. PHP極客需要數據庫設計幫助
- 27. 需要幫助設計大型數據庫更新過程
- 28. 需要優先表數據庫設計的幫助
- 29. 圖形數據庫(neo4j)vs關係數據庫。需要設計幫助
- 30. SQL - 數據庫設計,需要建議