Структура базы данных для большой системы - PullRequest
0 голосов
/ 05 февраля 2011

Я хочу создать простое веб-приложение, которое будет иметь связь между пользователями и элементами.Допустим, каждому пользователю будет назначено несколько элементов (в данном случае, серии и эпизоды, и многие из них).

Как мне планировать структуру базы данных для такой системы (таблицы, поляи так далее)?Я впервые сталкиваюсь с таким случаем.

Ответы [ 2 ]

1 голос
/ 05 февраля 2011

Похоже на типичную ассоциацию 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
);

Если вам нужно подразделение по сериям и сезонам, или группы пользователей и т. Д., У вас будет больше таблиц.

0 голосов
/ 05 февраля 2011

Основами являются таблица пользователей и таблица предметов. Их иногда называют «основными» таблицами. Затем у вас есть таблица перекрестных ссылок user-items, которая имеет внешний ключ для элементов и внешний ключ для пользователей. Это иногда называют таблицей «многие ко многим».

Что касается столбцов и других деталей, вам придется рассказать нам намного больше о том, что вы пытаетесь отслеживать. Как правило, каждый факт становится столбцом в таблице. Так что для телесериала (я полагаю, что здесь вы не сказали нам много), возможно, у вас будет колонка для сезона, сезона 1, сезона и т. Д., Года, когда этот сезон вышел.

Возможно, тогда это дочерняя таблица таблицы предметов (которую, возможно, следует назвать серией), в которой перечислены звезды в течение этого сезона.

Если вы предоставите более подробную информацию, я могу немного отредактировать ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...