Совет по структуре таблиц и запросу
Что хочу сделать. Вместо 2х таблиц в базе сделать одну, и просто добавить поле type.
Тогда я смогу в любой момент добавить 3й, 4й, 5й тип страниц, не создавая таблиц.
В этом есть смысл?
Дальше все поля "описание", "краткое", "картинка" вынести в отдельные таблицы, т.к. если картинки допустим нет, поле пустое, а это не есть хорошо.
Но тогда во всех этих табличках нужно добавлять кроме id еще 2 ключа parent_id и parent_type..
снова много полей...
В этом есть смысл?
В зависимости от цели которую ты хочешь достичь можно дать два диаметрально противоположных ответа. Так что определись с целью.
Дальше все поля "описание", "краткое", "картинка" вынести в отдельные таблицы, т.к. если картинки допустим нет, поле пустое, а это не есть хорошо.
Но тогда во всех этих табличках нужно добавлять кроме id еще 2 ключа parent_id и parent_type..
снова много полей...
Таблицы или таблицу? О_о
Вообще поля (атрибуты) можно просто вынести в одну отдельную таблицу. И даже type то атрибут который можно держать не в поле, а в значении (т.е. не column, а row).
Вообще вся схема легко ложится в 3 таблицы. page - в ней страницы (новость, статьи), attribute - свойства страницы (описание, краткое) и page_attribute - линковочная таблица многие-ко-многим минимум с 3 полями: первичный ключ из page, первичный ключ из attribute и со значением атрибута. В общем EAV (http://en.wikipedia.org/wiki/Entity–attribute–value_model).
В зависимости от условий и задачи тут еще огромные возможности для модификации данной схемы.
А к трём таблицам можно свести любую задачу. Главное, чтобы потом не пришлось плакать от рутины.
А к трём таблицам можно свести любую задачу. Главное, чтобы потом не пришлось плакать от рутины.
конечно. ведь когда захочется добавить например обратные ссылки - всю рутину как рукой снимет. А если дополнеий более чем десяток и разные для разных типов?