Часто люди говорят об отношениях 1: 0..1 и называют это отношением 1: 1. На самом деле типичная СУБД в любом случае не может поддерживать буквальное соотношение 1: 1.
Таким образом, я думаю, что здесь будет справедливо обратиться к подклассам, даже если это технически требует отношения 1: 0..1, а не буквальной концепции 1: 1.
1: 0..1 весьма полезен, когда у вас есть поля, которые были бы одинаковыми для нескольких сущностей / таблиц. Например, поля контактной информации, такие как адрес, номер телефона, электронная почта и т. Д., Которые могут быть общими как для сотрудников, так и для клиентов, могут быть разбиты на объект, созданный исключительно для контактной информации.
Таблица контактов будет содержать общую информацию, такую как адрес и номер (а) телефона.
Таким образом, таблица сотрудников содержит информацию о сотрудниках, такую как номер сотрудника, дату найма и так далее. У него также будет ссылка внешнего ключа на таблицу контактов для контактной информации сотрудника.
Таблица клиентов будет содержать информацию о клиентах, такую как адрес электронной почты, имя их работодателя и, возможно, некоторые демографические данные, такие как пол и / или семейное положение. У клиента также будет ссылка внешнего ключа на таблицу контактов для их контактной информации.
При этом у каждого сотрудника будет контакт, но не у каждого контакта будет сотрудник. Та же концепция применима к клиентам.
person
James Marks
schedule
10.11.2016