私はすべてのデータベースの中で全く新しいです。私がしたいのは、ユーザーに属するムービーのリストを保存することです。例えば、ユーザー「james」は、以下の映画「james bond、matrix、revenant、batman」が好きです。私はこの映画のリストをユーザー "james"に割り当てる方法を知らないので、テーブルとフィールドを作成する方法はわかりません。もしあなたが私にヒントを与えることができれば、私は評価するだろう。ムービーのリストをユーザーに割り当てます。
おかげ
私はすべてのデータベースの中で全く新しいです。私がしたいのは、ユーザーに属するムービーのリストを保存することです。例えば、ユーザー「james」は、以下の映画「james bond、matrix、revenant、batman」が好きです。私はこの映画のリストをユーザー "james"に割り当てる方法を知らないので、テーブルとフィールドを作成する方法はわかりません。もしあなたが私にヒントを与えることができれば、私は評価するだろう。ムービーのリストをユーザーに割り当てます。
おかげ
ユーザテーブル
id | user | other | email
映画テーブル
id | name | year | etc
user_movie(これはピボットテーブルと呼ばれます)
user_id | movie_id
ピボットテーブルはかなり驚異的です。 例
users
id | name | details
3 | Hakim | xxxxxxx
4 | Mohammed | xxxxxxx
videos
id | name | year
2 | matrix | 2000
3 | Batman R.| 2008
4 | deadpool | 2016
5 | Minions | 2015
user_video (pivot table)
user_id | video_id
3 | 3
3 | 5
4 | 2
4 | 3
4 | 4
1つのユーザーはその逆、多くのビデオを見て、することができますこの方法。 :)
リンクこれは、3番目のテーブルのPK、ユーザーID、MOVIEIDすることができ、映画のID を持つユーザID、
あなたは映画とユーザーが多対多の関係にあると言っています。これをリレーショナルデータベースで表現するには、リンクテーブルが必要です。お使いのDBMSによっては、SQLは、テーブルのステートメントを作成するには、このようなものになります。
CREATE TABLE movie (
NUMBER id PRIMARY KEY,
TEXT name
);
CREATE TABLE user (
NUMBER id PRIMARY KEY,
TEXT name
);
CREATE TABLE user_movie(
NUMBER movie_id REFERENCES movie(id),
NUMBER user_id REFERENCES user(id)
);
をSQLについての記事を読むには、あなたが今、あなたはフィールドで(CREATE TABLEが必要
MySQLこっち迅速かつ簡単なヘルプを見つけることができ、称賛... ) このような操作を行うには3つのテーブルが必要です(例:users、movies、user_movies )。
幸運!
SQLの基本的な紹介の中の正規化を参照してください。 – Strawberry