Допустим, таблица "Объект" (см. картинку) будет содержать разные объекты. Под объектом имеется в виду конкретный вариант из множества: гараж, квартира, дача. У них имеются разные атрибуты: площадь, этаж, количество комнат - если это квартира; площадь участка, фундамент, туалет - если это дача.
Идея: вынести в таблицы - по причине имеющихся совершенно разных атрибутов у разных типов объекта (например, у гаража не будет атрибута "площадь кухни", "количество комнат", сколько соток, имеется ли баня в наличии, туалет и т.д.
Таким образом добавим к таблице "Объект" FK на "Тип" объекта. Таблица "Тип" связана связью многим-ко-многим с таблицей "Атрибуты". Так мы можем узнать какие атрибуты есть у конкретного объекта (иначе говоря - какие атрибуты разрешены для конкретного типа объекта). Ну и таблица "Значение атрибута" ссылается как на объекты, так и на атрибуты и содержит значение конкретного атрибута какого-либо объекта (например, "Площадь: 40".
Как избавиться от круговой связи (кольца), чтобы при удалении записи не возникало ошибок?


