Связи между сущностями

Основные понятия в теории баз данных

ОСНОВЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ

База данных может быть определена как структурная совокупность данных, поддерживаемых в актуальном состоянии и отображающих свойства объектов реального мира.

Предметная область базы данных - это описание области реального мира, интересующей создателя базы данных, на естественном языке.

Для обозначения прообраза понятия любой природы используется термин «сущность». Можно сказать, что в теории баз данных под сущностью понимают любой объект реального мира, процесс или абстрактное понятие. Примеры таких сущностей легко обнаруживаются в окружающее мире – сущность «сотрудник» (физический объект), сущность «поставка товара» (процесс), сущность «преподаваемая дисциплина». Необходимо различать такие понятия, как тип сущности и экземпляр сущности (тип сущности – «Город», экземпляр сущности – «Москва»).

Каждая сущность обладает набором характеристик, при помощи которых можно отличить один экземпляр сущности от другого – фамилия сотрудника, стоимость товара, название дисциплины и т.п. В теории баз данных эти характеристики называются атрибутами сущности. Необходимо различать тип атрибута и экземпляр атрибута.

Каждый атрибут может заполняться значениями из какого-либо домена. Доменом называется совокупность однотипных значений данных. Примерами являются домен денежных сумм, домен имен, домен целых чисел и т. д. Несколько атрибутов могут получать значения из одного домена. Таким образом, значения домена по-разному интерпретируются в разных атрибутах, используемых при описании информационной структуры. Например, атрибуты «зарплата» и «комиссионные» сущности «служащие» получают значения из домена денежных сумм.

 

Объекты реального мира могут находиться друг с другом в сложных взаимоотношениях. Следовательно, в базе данных должны моделироваться такие взаимоотношения, существующие в реальном мире. Такие взаимоотношения представляются как связи между сущностями. Каждая связь может быть отнесена к одному из трех типов.

Пусть имеются сущности А и В.

6.2.1 Связь «один-к-одному» (краткое обозначение «1:1»), означает, что каждому экземпляру сущности А может соответствовать только один экземпляр сущности В, а каждому экземпляру сущности В может соответствовать только один экземпляр сущности А.

Для пояснения данного определения рассмотрим следующий пример. Пусть имеются две сущности – «гражданин РФ» и «паспорт гражданина РФ». У одного гражданина может быть только один паспорт (имеются в виду внутренние паспорта, загранпаспорта не рассматриваются). В то же время, каждый паспорт может быть выдан только одному гражданину.

В приведенном определении следует обратить внимание на словосочетание «может соответствовать». Это означает, что в обеих сущностях могут быть экземпляры, не связанные с экземплярами другой сущности. Например, гражданин не достиг возраста, при котором выдается паспорт. Так же и бланки паспортов могут существовать, находиться в уполномоченном органе, выдающем паспорта, но пока не быть выданными какому-либо гражданину.

Следует отметить, что тип связи 1:1 достаточно редко реализуется в базе данных с использованием двух сущностей. В рассмотренном примере такая реализация может иметь место, если база данных разрабатывается для паспортного стола или какой-либо другой службы, в которой необходимо учитывать отдельно граждан и бланки паспортов. Если же база данных будет функционировать на предприятии и использоваться для учета сотрудников, то необходимости выделять бланки паспортов в отдельную сущность отсутствует. В этом случае оптимальным решением было бы включение паспортных данных сотрудника в набор свойств сущности «сотрудник», наряду с такими атрибутами, как фамилия, имя, отчество, дата рождения и т.п.

6.2.2 Связь «один-ко-многим» (краткое обозначение «1:М»), означает, что каждому экземпляру сущности А может соответствовать несколько экземпляров сущности В, а каждому экземпляру сущности В может соответствовать только один экземпляр сущности А.

Для пояснения данного определения рассмотрим следующий пример. Пусть имеются две сущности – «Корпус ВУЗа» и «Аудитория». В одном корпусе может находиться несколько аудиторий, одна аудитория или ни одной, например, если корпус административный или хозяйственный. В то же время каждая аудитория может физически располагаться только в одном корпусе .

6.2.3 Связь «многие-ко-многим» (краткое обозначение «М:N»), означает, что каждому экземпляру сущности А может соответствовать несколько экземпляров сущности В, а каждому экземпляру сущности В может соответствовать несколько экземпляров сущности А.

Для пояснения данного определения рассмотрим следующий пример. Пусть имеются две сущности – «Студент» и «Изучаемая дисциплина». Студент может изучать несколько дисциплин, в то же время каждую дисциплину может изучать несколько.

 

Таким образом, при проектировании базы данных необходимо определить не только наличие взаимосвязей между сущностями, но и тип этих связей.