私はそれが良いと聞いて私のデータベースのテーブルの約を制限しようとしています(私は初心者のWeb開発者です)。私はユーザーがデータベースにリストを入力させたいと思っています。そこで、彼らはタイトル、全体的なコメントを入力して、リストを作成し始めます。私はどのように各リストのための新しいテーブルを作成せずにこれを行う方法を把握することはできません。たとえば、あるユーザーが44の値を持つリストを希望し、別のユーザーが10の値のリストを希望しているとします。私は各リストのための新しいテーブルを作ることなくこれを行う方法を考えることができません。私はあなたに私に与えることができる助け/洞察力に本当に感謝します。SQLデータベースの設計の助けが必要
2
A
答えて
5
基本的に、ユーザーリスト用のテーブルを作成する場合、テーブル内の各行は1つのユーザーのリストを参照し、別のテーブルはユーザーリスト値用です。ここで、テーブル内の各行には参照用の列がありますそれが属するリストと、ユーザーが入力した値の列。
0
あなたの表は次のようになります。 ユーザーID、 ListIDをint型、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、TITEL、ユーザーID = @UserID
0
あなたが単一で逃げることができthe_Table からのコメントすべてのリストの行のテーブル、になってリストのテーブルで、たとえば単に
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
);
あなたは、ユーザーごとの情報を主キーuserID INTEGER
でUsers
テーブルを持っていると仮定すると(名、等)。だから、その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. トップ10のデータベース設計の助けが必要
- 2. 質問/データベース設計のリファクタリングの助けが必要
- 3. フレンドシップリクエストSQLテーブルの設計の助けが必要
- 4. ゲーマーの評価計算のためのデータベース/クエリ設計の助けが必要
- 5. SQLステートメントを設計する際に助けが必要
- 6. データベース構築の手助けが必要
- 7. Rickshaw - ライン+バートグルチャートを設計するのに助けが必要
- 8. ソーシャルネットワークサイトのデータベース設計。助けて!
- 9. 学校データベースの設計が必要
- 10. dp4jの助けが必要
- 11. 助けが必要です、Pythonを書くBMIの計算
- 12. 加速度計のコードを理解する助けが必要
- 13. XQuery - 助けが必要
- 14. Python UnboundLocalError "助けが必要"
- 15. javascriptで助けが必要
- 16. システムの設計に関する助言が必要
- 17. MyBatisがひどいデータベース設計で動作するように助けが必要
- 18. このSQLクエリを理解するのに助けが必要
- 19. データベース機能 - 初心者の助けが必要なハスケル!
- 20. データベースの作成に手助けが必要
- 21. JAXB出力の書式設定の助けが必要
- 22. django-filetransfersの設定の手助けが必要
- 23. 一部のSQLに関する助けが必要
- 24. SQLテーブルを結合するのに助けが必要
- 25. php、sql行からxmlファイルへの変換。助けが必要
- 26. はSQLインジェクションの助けが必要です
- 27. クラスのモデリングの助けが必要
- 28. データベース設計SQL
- 29. Android:コードのビューアラインメントを設定する際に助けが必要
- 30. JenkinsでSphinxを設定するのに手助けが必要