Введение в дисциплину «Безопасность систем баз данных». Теоретические основы построения реляционных баз данных. Верификация баз данных и проведение аудита в СБД. Распределенные базы данных, страница 16

faculties

chairs

id_faculty

abbreviation

id_chair

abbreviation

id_faculty

1

ЭТ

1

АиТ

1

2

УПП

2

ИнИБ

2

3

ЭСУ

3

УЭР

2

4

ИВС

1

а)

id_faculty

abbreviation

id_chair

abbreviation

1

ЭТ

1

АиТ

1

ЭТ

4

ИВС

2

УПП

2

ИнИБ

2

УПП

3

УЭР

б)

Рисунок 2.16 – Пример естественного соединения отношений

Тета-соединение

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

Соединение отношений, при котором кортежи отбираются по произвольному условию, отличному от равенства общих атрибутов, называется тета-соединением. Математическое обозначение операции: . Здесь x – простой или составной атрибут отношения , а C(x) – логическое условие ограничения .

Внешние соединения

Операция естественного соединения не включает в результирующие отношения «висящие» кортежи – те, которые не совпадают по общему атрибуту ни с одним кортежем другого отношения. Рассмотрим пример на рис. 2.17 (а). Исходные отношения R1 и R2 имеют общий атрибут x0. Заметим, что значениям 1 и 5 в R1.x0 не соответствует ни один кортеж R2 – первый и последний кортежи R1 являются «висящими». Третий кортеж отношения R2 – также «висящий», т. к. значения общего атрибута в нем не определено.

Естественное соединение этих отношений (рис. 2.17 (б)) не содержит информации о «висящих» кортежах. Если подобный исход нежелателен, то следует воспользоваться другой операцией – внешним соединением (рис. 2.17 (в)).  Она имеет следующее обозначение: . Результатом внешнего соединения является естественное соединение с последующим включением «висящих» кортежей обоих отношений, причем значения недостающих атрибутов принимаются за неопределенные. В отношении на рис. 2.17 (в) висящими являются первый, шестой и седьмой кортежи. Первый и шестой взяты из R1, в NULL установлены значения атрибута x21, отсутствующего в R1. Седьмой кортеж взят из отношения R2, в котором отсутствует атрибут x11; значение этого атрибута в кортеже принудительно установлено в NULL.

Частными случаями внешнего соединения являются левое внешнее соединение () и правое внешнее соединение (). Левое внешнее соединение содержит «висящие» кортежи отношения R1 (рис. 2.17 (г)), правое – «висящие» кортежи отношения R2 (рис. 2.17 (д)).