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

jenia

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

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

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

P.S. Для хранения разделов используется отдельная таблица.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
jenia
сделать универсальную таблицу для всех данных?
Соль и сахар тоже в одной "универсальной" коробке хранить будете?
 

jenia

Новичок
Вообще-то нет. Но у меня была мысль, например, хранить в одной таблице тексты (статьи, новости и т.д.), а в другой информацию о файлах (фото, видео). Такой подход чем-то лучше? Или оставить всё как есть?
 

Qwerty

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

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Qwerty
Мое субъективное мнение
1. Способ для любителей создать себе лишние проблемы.
2. Это ж в голове нужно в голове хранить все эти нюансы.
Типа если table_flag=1 - статья, table_flag=2, новость и т.д.
Голову и так есть чем занять.
3. После Вас над проектом может работать кто-то ещё. Пожалейте "наследников"

4. И вообще зачем эта БД нужна?
Предлагаю хранить всё в файле :D
 

jenia

Новичок
Mr_Max, вообще-то у меня всё сделано сейчас раздельно. Всё в разных таблицах. Этот вопрос был задан потому, что, если для вывода одной страницы раньше нужно было сделать один запрос к таблице с данными, то сейчас нужно будет делать три. Вот меня и заинтересовало, насколько это оптимально.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Количество таблиц это не то место где нужна оптимизация.

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

Вот меня и заинтересовало, насколько это оптимально.
Никто же не мешает протестировать Ваш сайт с обеими структурами БД.
 

jenia

Новичок
Я всё понял. Оставлю как есть. Спасибо за помощь.
 

Qwerty

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

-~{}~ 07.09.07 15:04:

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