Пример. Агентство Недвижимости. -Есть ряд свойств которые присутствуют у ВСЕХ объектов (цена, адрес). -Есть ряд св-в, которые присутствуют у объектов АРЕНДЫ/ПРОДАЖИ. -Есть ряд свойств, принадлежащих СООТВЕТСТВУЮЩИМ ОБЪЕКТАМ (квартирам, домам, etc). Если есть три таблицы base, rent, rent_apartment то как реализовать(/или эффективно реализовать) их наследование (подобно ООП классам)? Т.к. мы не знаем какому именно "классу" соответствует объект находящийся в таблице base, нужно сначала прочитать поле "object_type". Т.е нужно делать подзапрос. Сколько уровней наследования - столько подзапросов. Соответственно вопрос: как правильно/эффективно осуществлять наследование таблиц? Может есть какие-то встроенные средства в самой MySQL. P.S. Кстати говоря, наследование таблиц появилось еще в SQL99
выделяем отдельные сущности, и храним их в отдельных таблицах. связываем между собой через ключи. вот и все наследование)
Есть разные стратегии отображения классов на базу. http://www.ibm.com/developerworks/library/ws-mapping-to-rdb/#h4 Например, если отображать все классы на одну таблицу с полным набором атрибутов, то запросы становятся белыми и пушистыми.