ユーザーからアイテムへの接続を持つシンプルなWebアプリケーションを作成したいと考えています。 各ユーザーには、彼に割り当てられたアイテムがいくつかあるとします(この場合は、シリーズとエピソード、およびその多く)。大きなシステム用のデータベースの構造
このようなシステム(テーブル、フィールドなど)のデータベース構造をどのように計画する必要がありますか?私がこのような事態に遭遇したのは初めてです。
ユーザーからアイテムへの接続を持つシンプルなWebアプリケーションを作成したいと考えています。 各ユーザーには、彼に割り当てられたアイテムがいくつかあるとします(この場合は、シリーズとエピソード、およびその多く)。大きなシステム用のデータベースの構造
このようなシステム(テーブル、フィールドなど)のデータベース構造をどのように計画する必要がありますか?私がこのような事態に遭遇したのは初めてです。
典型的なM:N関連のように見えます。
create table person (
id number not null primary key,
username varchar not null, -- login
-- email, etc
);
create table episode (
id number not null primary key,
ordinal number not null, -- which episode in the series
name varchar not null,
-- whatever else, for instance, a link to series:
-- series_id not null number foreign key referencing series(id)
);
-- the link table you asked about
create table person_x_episode (
person_id number not null foreign key referencing person(id),
episode_id number not null foreign key referencing episode(id),
-- whatever else, like seen date, rating, etc
);
シリーズや季節の細分化やユーザーグループなどが必要な場合は、さらに多くの表があります。
基本事項は、ユーザーのテーブルとアイテムのテーブルです。これらは、「マスター」テーブルと呼ばれることもあります。次に、項目への外部キーとユーザーへの外部キーを持つ相互参照表users-itemsがあります。これは「多対多」表と呼ばれることがあります。
列やその他の詳細については、あなたが追跡しようとしていることについてもっと多くのことを教えてください。一般に、それぞれの事実は表の列になります。だから、テレビシリーズ(私はあなたが私たちに多くを教えてくれなかったと思う)には、シーズン、シーズン1、シーズン2などのコラムがあります。
おそらく、そのシーズン中に星をリストするitemsテーブルの子テーブル(シリーズと呼ばれることもあります)があります。
詳細を入力した場合、私は少し答えを編集できます。