Хранение музыкальных плейлистов пользователя для веб-сайта - PullRequest
1 голос
/ 18 мая 2011

Я хочу создать музыкальный веб-сайт, на котором пользователи могут сохранять плейлисты песен, которые потом будут регенерированы. Я новичок в sql, но кажется, что базы данных предназначены для хранения переменных фиксированной длины, тогда как сгенерированный пользователем список воспроизведения будет произвольной длины. Есть несколько способов справиться с этим:

  • Отдельные таблицы (может быть, другая таблица для каждого списка воспроизведения?)
  • XML

Я чувствую, что третий легкий путь мне не хватает. Я делаю это в php, но если есть супер простой способ использования django, мне тоже будет интересно.

Ответы [ 2 ]

2 голосов
/ 18 мая 2011

Как насчет этого:

Playlists: list_id|title|owner_id
Songs: song_id|title|artist|album|year|length|style|whatevereelseyouwnattoadd
Songs_In_Lists: song_id|list_id

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

2 голосов
/ 18 мая 2011

2 таблицы:

  1. Списки воспроизведения. Поля: id | название | owner_id (ссылка на user.id)
  2. Песни. Поля: id | название | длина | playlist_id (ссылка на playlist.id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...