Хранение данных в базе MYSQL

dima4321

Новичок
Ссори за занудство )...

Имею контент.

Это треклисты к альбомам.

Вид такой.

Hello (название альбома)
наз.песни 1
назв. песни 2
назв. песни 3


Все это добро изначально получаю в виде индексированного массива.

Вот и думаю как лучше сложить в базу.

В итоге на страницу будет выводится 7 альбомов.

Поэтому никак не могу определится со структурой

Полагаю, что в любом случае, независимо от того, сколько текста я помещу в ячейку лучше иметь его там изначально в виде строковой перменной, нежели массива.

Поправьте, если не прав. )

вот варианты:


1 альбом -одна ячейка

все альбомы-одна ячейка

7альбомов -одна ячейка.

название альбома -одна ячейка, тело альбома другая ячейка




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

Архитектуру на связку хочу сделать такой.


Две таблицы:
{Имя исполнителя }=>{ Назавние альбома, Тело альбома }

Связка id исполнителя будет = id_name во второй таблице.

т.е к примеру группа moderntalking id=1 если альбомов 10,
то и строк с id_name во второй таблице 10.

Буду рад услышать полезные комментарии и советы ).
 

Вурдалак

Продвинутый новичок
Нужно 3 таблицы (исполнители, альбомы, треки). Чтобы выводить 7 альбомов на страницу, или там 42, нужно делать постраничную навигацию.
 

dima4321

Новичок
а смысл в данном случае делать третью таблицу ??
если кол-во названий альбомов будет соотвествовать кол-ву треклистов этих альбомов. т.е. фактически поля друг на против друг друга.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
dima4321
Здесть будет не 3 таблицы, а больше, открою секрет так сказать. Еще будут таблицы связки albun-track и author-album
 

Вурдалак

Продвинутый новичок
Ну, кстати, да, по-хорошему даже стоило бы сделать так, поскольку сам знаю примеры альбомов нескольких исполнителей и одни и те же треки, которые присутствуют на разных альбомах (к примеру, single и обычный).
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Alien85
там Вурдалак выше все написал, или ты хочешь дублировать по 20 раз данные о названии исполнителя у трека?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Трек может находиться в двух-трех альбомах одновременно
 

Вурдалак

Продвинутый новичок
Ну, вот есть у Rammstein замечательный трек Sonne. Он присутствует на 18-ти альбомах. Будешь создавать 18 записей в таблице треков? Даже если так, то потом вылезут более серьёзные проблемы (комментарии к песне будут разбросаны по разным копиям трека, в личной библиотеке пользователя могут быть повторы только из-за того, что зайдя на очередную копию трека он увидит, что песня не добавлена в его библиотеку и т.д.).
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Это если не учитывать того, что вообще в теории над альбомом может работать не один автор (исполнитель), а больше, отсюда еще одна связка по таблицам. Хоть это и редко бывает, вероятность есть. И Каждого исполнителя надо хранить отдельно, иначе потому будут записи в виде исполнителей

Metallica && Aerosmith && ZZ top
ZZ top && Blur

Хотя это все отдельные группы.
 

dima4321

Новичок
Вурдалак
иc0dex
То, что вы описали называется грандиозным проектом ). И для того, чтобы набивать такую базу надо иметь целую команду музыкальных экспертов.

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

Т.к. все делает робот он будет тупо складывать одно и то же в разные места.
 

Alien85

I like my cat
Трек может находиться в двух-трех альбомах одновременно
ну так то да, не сообразил сначала. Тогда вот БД:
1. albums: id, name
2. autor: id, name
3. track: id, name, duration
4. base: id, album_id, autor_id, track_id

3 табличную структуру лучше не использовать в этом случае.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
В общем я сказал, как бы сделал я, а уж там как автор решит - дело его. Думаю ему и трех таблиц хватит)
 
Сверху