私はデータベースにユーザーを追加するために会社を作ったので、今度は2つのテーブルが必要です。 1つのテーブルは、ユーザが知っている言語とユーザが使用する設計ソフトウェアの別のテーブルを追跡します。複数のテーブルを使用してユーザープロファイルを作成するにはどうすればよいですか?
私はフィールドを持つ3つのテーブル(プロファイル、言語、ソフトウェア)を作成できますか?ユーザーを追加して各テーブルに行を追加すると、
私はデータベースにユーザーを追加するために会社を作ったので、今度は2つのテーブルが必要です。 1つのテーブルは、ユーザが知っている言語とユーザが使用する設計ソフトウェアの別のテーブルを追跡します。複数のテーブルを使用してユーザープロファイルを作成するにはどうすればよいですか?
私はフィールドを持つ3つのテーブル(プロファイル、言語、ソフトウェア)を作成できますか?ユーザーを追加して各テーブルに行を追加すると、
複数の多対多リレーションシップを追加するには、情報をいっしょに 'リンクする'ためのテーブルがさらに必要です。
IDはすべて一意のインデックス付き列である必要があります。 AUTO_INCREMENT
の使用を検討してください。
表1:ストア可能な言語
|LanguageID |LanguageName|
|========================|
| 50 | Python |
|------------------------|
| 51 | Java |
|------------------------|
のように...
表3:は
| ProfileID |UserInfo |
|=======================|
| 0 | Info |
|-----------------------|
| 1 | Info2 |
|-----------------------|
表ユーザのプロファイル情報2が含まれています: languagへのプロファイルリンクを格納します。 es
|ProfileID |LanguageID |
|========================|
| 0 | 50 |
|------------------------|
| 0 | 51 |
|------------------------|
| 1 | 50 |
|------------------------|
言語をユーザーのプロファイルに追加するたびに、このテーブルにエントリを作成します。
ユーザーが知っているソフトウェア用にさらに2つのテーブルを追加します。すべての可能なタイプのソフトウェアの1つのテーブル、およびリンクを格納する別のテーブル。
あなたが情報を取得したいときは、下記のような操作を行うだろう:
SELECT * FROM Table3
LEFT JOIN Table2
ON Table3.LanguageID = Table2.LanguageID
WHERE ProfileID = [TheProfileIDToSearch]
この構造は、一度に複数のテーブルからの情報を返すために一緒にテーブルをリンクするJOINを使用しています。ここにW3Schoolsの簡単な説明SQL JOINS
についてです。
2つの異なる多対多リレーションシップを維持する必要があるため、5つのテーブルが必要です。私は、ユーザーが複数の言語を知っていて、複数のソフトウェアツールを使用していると仮定します。 –
5は何ですか?私はちょうどプロファイル、言語、ソフトウェアと思った – BBDev