Структура MySQL базы.

Сергей17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
19.06.2011

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

Вот с какими проблемами я столкнулся:

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

Причем каждый файл/новость может одновременно относится ко всем жанрам, особеенностям, платформам так и к не одной из них, тоесть в таблице с информацией о файле/новости дожен быть( или не должен?:) ) перечислен список id особенностей, жанров, платформ.

Будет ли правильным если я в таблице с информацией о файле/новости создам еще 3 колонки, в которых через запятую буду перечислять соотвецвующие id особенностей, жанров, платформ и отображать эти файлы/новости по запросу пользователя, используя regexp (SQL)

Например пользователь хочет чтобы отобразились файлы/новости с особенностями 3D, криминал, онлайн, искуство (это для примера) и при запросе MySQL я id этих особенностей заношу в regexp (SQL) который ищет id этих особенностей указаных для файла/новости втаблице с информацией о файле или новости и отдает полученые данные на дальнейшую обработку, красота...:)

Но, есть мниусы данного решения:

- Не соотвецтвует даже первой нормальной форме модели данных.

- При выводе контента нужно использовать до 3 запросов с regexp - это нагрузка на сервер.

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

Возможно еще будет несколько задач в дальнейшем, поскольу я в этом новичек, очень желательно втсретится лично(Украина, Киев), чтобы мне все обьяснили:) Бюджет определяете вы.

Заявки фрилансеров