Какую структуру БД выбрать?

  • Автор темы Автор темы jenia
  • Дата начала Дата начала

jenia

Новичок
Какую структуру БД выбрать?

Сейчас у меня на сайте три раздела: фото, литература, видео. Для каждого раздела в БД есть таблица с данными для материалов (для фоток, для статей и т.д.). Но возникла необходимость переделать структуру сайта. Теперь в разделах сайта будут данные без разделения на фото/статьи/видео. То есть, в разделе «Раздел 1» могут быть и фотографии, и видео, и литература.

Как правильнее изменить структуру БД в таком случае? Оставить данные в трёх таблицах и при запросе материалов определённого раздела делать запрос ко всем трём или сделать универсальную таблицу для всех данных?

P.S. Для хранения разделов используется отдельная таблица.
 
jenia
сделать универсальную таблицу для всех данных?
Соль и сахар тоже в одной "универсальной" коробке хранить будете?
 
Вообще-то нет. Но у меня была мысль, например, хранить в одной таблице тексты (статьи, новости и т.д.), а в другой информацию о файлах (фото, видео). Такой подход чем-то лучше? Или оставить всё как есть?
 
Если поля в таблицах видео, фото, статьи одинаковые, то имхо, разумно хранить в одной таблице.
Если у новостей и статей одни, а у фото и видео другие - сообветственно в двух.
 
Qwerty
Мое субъективное мнение
1. Способ для любителей создать себе лишние проблемы.
2. Это ж в голове нужно в голове хранить все эти нюансы.
Типа если table_flag=1 - статья, table_flag=2, новость и т.д.
Голову и так есть чем занять.
3. После Вас над проектом может работать кто-то ещё. Пожалейте "наследников"

4. И вообще зачем эта БД нужна?
Предлагаю хранить всё в файле :D
 
Mr_Max, вообще-то у меня всё сделано сейчас раздельно. Всё в разных таблицах. Этот вопрос был задан потому, что, если для вывода одной страницы раньше нужно было сделать один запрос к таблице с данными, то сейчас нужно будет делать три. Вот меня и заинтересовало, насколько это оптимально.
 
Количество таблиц это не то место где нужна оптимизация.

один запрос к таблице с данными
Ага. Один, но очень кривой.

Вот меня и заинтересовало, насколько это оптимально.
Никто же не мешает протестировать Ваш сайт с обеими структурами БД.
 
Mr_Max
Имхо, если список полей у хранимых данных полностью идентичен, нет смысла плодить таблицы для каждого типа данных. А если нужно будет еще 10 типов ввести? А если потом в добавить везде пару поле описания?
А типы полей не обязательно в голове хранить, даже наоборот - ненужно. В идеале это еще одна таблица в БД, сопоставляющая id и название типа контента. И не для того, чтобы разработчик знал, а чтобы выводить на сайте и в админке.

-~{}~ 07.09.07 15:04:

А уж тем более, если у человека в одном разделе должно выводиться всё, независимо от типа, тем более не вижу смысла в нескольких таблицах.
 
Сверху