2.2.1. Отношение "один к одному"


Если между двумя таблицами базы данных появляется отношение "один к одному", то лучше объединить эти таблицы в одну. Основной причиной использования этого отношения является экономия памяти и увеличение скорости выполнения запросов.

Такое отношение используется в том случае, если связь между двумя таблицами не является обязательной.
Не так часто в реальной жизни встречаются случаи, когда требуется использовать отношение "один к одному".

Рассмотрим связь между человеком и адресом его фактического проживания. Это связь "один к одному". В данном случае используются две таблицы. Одна содержит какие-то сведения о человеке, другая — сведения о его адресе. Такая связь между двумя таблицами представляется на диаграмме линией, не содержащей стрелок (рис. 2.1).
Если данные об адресе поместить в первую таблицу, то при отсутствии соответствующих сведений это привело бы к некоторому количеству пустых полей в таблице и перерасходу внешней памяти. Надо сказать, что на самом деле на это не потребуется большого количества памяти, поскольку физическое хранение в SQL Server хорошо продумано, и пустые поля используют минимальное количество внешней памяти.

Реализация такого отношения осуществляется очень просто. Первая таблица (Человек) имеет первичный ключ (скорее всего, искусственный). Во второй таблице (Адрес) нужно сделать такой же искусственный первичный ключ и указать, что он к тому же является и внешним ключом, ссылающимся на первичный ключ первой таблицы.

Можно привести еще некоторое количество примеров отношения "один к одному".
Это, в частности, отношение между сотрудником организации (или студентом в учебном заведении) и его личным делом в отделе кадров. 

Похожие новости

Комментариев 0

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.