В настоящее время я просматриваю реструктуризацию нашей базы данных управления контактами, и я хотел услышать мнения людей о решении проблемы нескольких типов контактов, имеющих общие атрибуты.
В основном у нас есть 6 типов контактов, которые включают Person, Company и Position @Company.
В текущей структуре все они имеют адрес, однако в таблице адресов вы должны сохранить свой тип, чтобы присоединиться к контакту.
Это постоянное требование присоединиться к типу контакта становится разочаровывающим через некоторое время.
Сегодня я наткнулся на сообщение с обсуждением "Наследование таблиц" (http://www.sqlteam.com/article/implementing-table-inheritance-in-sql-server).
В принципе у вас есть родительская таблица и несколько подэлементов (в этом случае каждый тип контакта). Оттуда вы обеспечиваете целостность, чтобы подзадача должна иметь главный эквивалент, где он задан.
То, как я это вижу, с помощью этого метода мне больше не нужно будет хранить тип в таблицах, таких как адрес, поскольку идентификатор уникален для всех типов.
Я просто хотел узнать, есть ли у кого-нибудь чувства к этому методу, будь то хороший способ или альтернативы?
Я использую SQL Server 05 и 08, если это имеет значение.
Спасибо
Ed