LINUX.ORG.RU

Вопрос по SQL

 ,


0

1

Добрый вечер! По своей дурости я свалил всю информацию по своей музыкальной библиотеке в одну таблицу. Теперь передо мной стоит проблема организации схемы БД.

Я хочу чтобы при добавлении записи в таблицу tracks, вида: имя_композиции, исполнитель, альбом. В поле «исполнитель» вместо строки с его именем указывался соответствующий ему ключ из таблицы «artists», и если соответствующего ключа нет, он был создан.

Как это реализовать в коде я представляю, но может быть это реализуется средствами самой MySQL?

Я-бы предпочёл оставить это в коде, что-бы не вносить дополнительную логику в хранилище.

MrClon ★★★★★
()

Имеет ли смысл заморачиваться ? По одной такой таблице очень удобно искать, индексы только повесить и все. Таблица все равно маленькая будет, никак не больше 300К записей. А скорее всего не больше 40K

handbrake ★★★
()
Последнее исправление: handbrake (всего исправлений: 1)

В поле «исполнитель» вместо строки с его именем указывался соответствующий ему ключ из таблицы «artists»

Почему бы не сделать поле «исполнитель» ключем?

pru-mike ★★
()
Ответ на: комментарий от anonymous

Ну если только не заметить что хранить мету от музычки в MySQL это вообще извращение ...

И похоже аноним прав, пока засыпал вспомнил статью: http://habrahabr.ru/post/231213/ Возможно, действительно имеет смысл отказаться от реляционной модели данных.

shooter93 ★★
() автор топика
Ответ на: комментарий от shooter93

Не, я в смысле использовать как ключ реальное имя ( реальный ключ, не сурогатный ключ)

Но если надо

и если соответствующего ключа нет, он был создан.

что бы создавался в другой таблице, то как без триггера, не знаю.

pru-mike ★★
()

По своей дурости я свалил всю информацию по своей музыкальной библиотеке в одну таблицу.
Теперь передо мной стоит проблема организации схемы БД.

ты еще не понимаешь, что тебе это не нужно? оставь как есть

umren ★★★★★
()
Ответ на: комментарий от anonymous

Не нормализованные таблицы — на.уй так жить.

Так не живи.
TC: при чем тут монго, PK. PK это PK, пихнуть id и черт с ним. Максимум индексы на поля повесть для ускорения поиска, а можно и без них, данных немного. Тут и sqlite и даже csv за глаза - при отсутствии индекса все равно фулскан будет.

handbrake ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.