"резиновые" таблицы, чтоли...

Novice

Новичок
"резиновые" таблицы, чтоли...

Возьмем, например новостную ленту или каталог чего-либо.
Иногда приходиться добавлять/изменять/удалять поля в таких структурах. Что если хранить такие данные в двух таблицах - фиксированного (не имеющих VARCHAR, TEXT...) и динамического типов. Типа:

фиксированная:
id name author date ..........

динамическая
id name value

связь (фикс.) 1...N (динам).

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

Можно было бы перенести все доп. поля во вторую таблицу, но тогда возникают проблемы с сортировкой и поиском по отдельным полям или производить ужасные запросы типа

SELECT t.some, t_1.some, t_2.some.... FROM table as t, table as t_1, table as t_2....

Хотелось бы узнать недостатки такого подхода.
Спасибо.
 

Vital_N

Новичок
А что ужасного ты видишь в запросе, котрый затрагивает несколько таблиц - по твоему sql - это только select * from table where id=2?
кстати, этот вопрос обсуждался уже не раз на форуме
 

Лексеич

Московский калмык
моё имхо, что структура таблицы никогда не должна меняться.
 

Novice

Новичок
я имел ввиду запросы которые затрагивают одну таблицу под несколькими псевдонимами, если например поиск ведется по 5 полям будет объединение пяти таблиц.

Автор оригинала: Vital_N
кстати, этот вопрос обсуждался уже не раз на форуме
не подскажешь по какому запросу можно такое найти?
 
Сверху