Я бы использовал комбинацию 1 и 2. Если вы часто добавляете атрибуты, я не думаю, что вы справитесь с требованиями к данным.
Я предполагаю, что некоторые из добавляемых атрибутов принадлежат другой таблице. Если вы продолжаете добавлять атрибуты, такие как сертифицированный Java, сертифицированный Asp, ..., то вам нужна таблица сертификации. Это может быть отношение к таблице кодов сертификатов, в которой перечислены доступные сертификаты.
Атрибуты, такие как менеджер, могут быть таблицей атрибутов или отношений. Если у вас есть несколько отношений между сотрудниками, рассмотрите таблицу отношений с типом публикации. Организациям с матричной структурой управления понадобится таблица соответствия.
Адреса и телефоны часто указываются в отдельных таблицах. Адресный ключ, такой как employee_id, address_type, будет подходящим. Если требуется история, добавьте столбец start_date к ключу.
Если вы храните историю, я рекомендую использовать столбцы start_date и end_date в соответствующих столбцах. Я пытаюсь использовать отношение, в котором запись активна, когда 'start_date <= date-Being -ised <end_date' имеет значение true.
Атрибуты, такие как вес, цвет глаз и т. Д. </p>