Тогда прошу совета. Вот моя типичная задача. Есть база, в которой есть
следующие совершенно разнородные объекты:

1) Новости
2) Статьи
3) Ресурсы (картинки, музыкальные файлы и прочий контент)
4) В будущем будут ещё неизвестно какие...

Нужно разработать универсальный компонет, который можно положить в
нужную страницу, задать вид коментируемого объекта и чтобы это сразу
работало.
Иши по слову ORM - object relation manager.

Если кратко - есть несколько способов уложить объекты в таблицы:
1) Для каждого конкретного класса - своя таблица
2) Общая таблица для всех классов со всеми полями всех классов.
3) Общая таблица с для всех классов с общими для всех классов полями (общий предок) + таблицы на каждого потомка с оставшимися полями связанные.

Во 2м и 3м случае, вся базовая работа - идёт через общую таблицу. Так что проблем со ссылками нет. В 1м - придётся или дублировать таблицы, или отказываться от поддержки со стороны сервера.

P.S. В Postgres-е есть объектные расширения SQL - ты можешь явно объявить таблицу наследником + ещё некоторые радости.
Как мне кажеться, они просто вынесли поддержку 3го метода в сервер.

Ответить