Правильная ли нормализация БД?

Есть такая ситуация:
Таблица `artist`. Поля: `arstist_id`, `artist_name`.
Таблица `song`. Поля: `song_id`, `song_artist`.
Артиста лучше добавлять в поле `song_artist`, а если их несколько, что через запятую?
Или как по правилам нормализации нужна промежуточная таблица, связывающая ид песни и артиста?
  • Вопрос задан
  • 2613 просмотров
Решения вопроса 2
@lookid
1 форма - атомарность / done
2 форма - ключи / done
3 форма - многие-ко-многим / failed

3я форма
Таблица `artist`. Поля: `arstist_id`, `artist_name`.
Таблица `song`. Поля: `song_id`, `song_name`.
Таблица `artist_song`. Поля: `arstist_id`, `song_id`.
Ответ написан
По поводу нормализации: @lookid прав (кстати, если вы храните в столбце song_id, то во всех таблицах оно должно именоваться именно song_id - так проще JOIN`ить таблицы используя USING(`song_id`)).
По поводу 20 запросов: A Visual Explanation of SQL Joins
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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