petushok55
@petushok55
Обучаюсь на практике.

Какой тип данных использовать в sql для для обозначения жанров например?

Если я хочу в 'genres' поместить несколько разных значений - боевик, триллер, драма и т.д.
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега SQL
Седой и строгий
Отношение многие-ко-многим в таких случаях используется.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
rozhnev
@rozhnev Куратор тега SQL
Fullstack programmer, DBA, медленно, дорого
integer:
create table genres (
  	id int primary key auto_increment,
  	name varchar(255)
);

create table films (
	id int primary key auto_increment,
  	name varchar(255)
);

create table film_genres (
	film_id int,
  	genre_id int
);


SQL fiddle
Ответ написан
Комментировать
longclaps
@longclaps
Смотри сюда.
Потенциально не слишком много данных, чтобы париться насчет размера как таблицы с фильмами, так и таблицы с жанрами.
Ответ написан
Комментировать
vabka
@vabka
Токсичный шарпист
В Postgresql можно сделать массив из енамов.
Правда я хз как с индексацией будет.

Самый распространённый вариант - сделать таблицу с жанрами и сделать отношение Many-to-Many между ей и таблицей с фильмами. Это будет просто ещё одна промежуточная таблица с ID фильма и ID жанра.
Slava Rozhnev дал пример кода для такого случая..
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы