Пользователи, фотографии и фото-категории, как соотнести / связать эти записи / таблицы? - PullRequest
0 голосов
/ 22 апреля 2020

Фотографы после входа в систему могут загружать фотографии и разбивать их по категориям (портреты, природа и т. Д. c.). Как я могу связать эти таблицы?

  1. Итак, первая таблица ПОЛЬЗОВАТЕЛИ -> для регистрации и входа в систему необходимо некоторое
    • имя пользователя,
    • электронная почта,
    • пароль и, конечно,
    • ИД пользователя
  2. Второй стол - ФОТО ->
    • photoID,
    • userID,
    • categoryID?
  3. Третий стол - КАТЕГОРИИ ??

Я не знаю, как связать категории с фотографиями, может быть, структура второй таблицы неверна?

1 Ответ

0 голосов
/ 22 апреля 2020

Вы бы использовали четыре таблицы: users, categories и photos являются ссылочными таблицами. photos ссылается на идентификатор пользователя, который сделал снимок. Тогда таблица моста photo_categories представляет отношение «многие ко многим» между фотографиями и категориями.

Вот упрощенный DDL для этой схемы:

create table users(
    user_id int primary key,
    name varchar(50),
    email varchar(50)
);

create table categories(
    category_id int primary key,
    name varchar(50)
);

create table photos(
    photo_id int primary key,
    user_id int,
    name varchar(50),
    foreign key(user_id) references users(user_id)
 );

create table photo_categories(
    photo_id int
    category_id int,
    primary key(photo_id, category_id),
    foreign key(photo_id) references photos(photo_id),
    foreign key(category_id) references categories(category_id)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...