Вы бы использовали четыре таблицы: 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)
);