Задать вопрос

Как будет лучше

Подскажите, пожалуйста. Почитал много про нормализацию бд, но возник вопрос.
Есть таблица name: id, name, birthday
Есть таблица album: id, id_name, name
В id_name я вставляю id из name.

Что лучше вставлять ид и делать Join в запросе или лучше вставлять в id_name сразу имя (с учетом того, что имя не будет меняться)?

Спасибо.
  • Вопрос задан
  • 2481 просмотр
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@denis_vl
Программист. Админ. Да и от скуки - на все руки.
Немного не понятен вопрос. Но если Вы о том, что как делать связку, то лучше по числовому ID. То есть name->id = album->name_id. Для простейшей связки по ID Вам не потребуется делать индекс. Ну и конечно лучше использовать таблицы InnoDB с внешними ключами.
Ответ написан
Kerman
@Kerman
Если делать по-уму:
1. Нужно сделать промежуточную таблицу между name и album. Там будет всего два поля id_name и id_album. Оба поля должны являться индексами. Уникальными индексами.
2. Left join нужно делать двойным при выборке по album. Да и по name тоже.
3. name переименовать в Artist. Это же таблица исполнителей, да?
4. Добавить таблицу Band. Держать в ней название группы.
5. Добавить id_band в таблицу album.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы