Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_teoriyu_BD.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.06 Mб
Скачать
  1. Операторы соединения на языке sql

Ответ:

Операции соединения наборов записей возвращают таблицы, записи в которых получаются путем некоторой комбинации записей соединяемых таблиц. Для этого используется оператор JOIN (соединить).

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

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

  • В таблицах имеются поля с одинаковыми именами и согласованными типами данных, причем, одно из полей является ключевым;

  • Соединение было явно создано в окне схемы данных.

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

Другими словами, эквисоединение связывает данные полей записей таблиц отношением равенства.

Оператор SQL описывающие внутренние соединения INNER JOIN.

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

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

Различают два вида внешних соединений:

  • Левое внешние соединение LEFT JOIN;

  • Правое внешние соединение RIGHT JOIN.

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

Например, необходимо отобрать клиентов, у которых атрибуты Адрес клиента и Адрес получателя не совпадают:

Select Клиенты.Адрес, Заказы.Адрес получателя

From Клиенты INNER JOIN Заказы ON Клиенты.ИД = Заказы.ИД клиента

Where Заказы.Адрес получателя<>Клиенты.Адрес;

Для связывания данных в одной таблице применяют рекурсивные соединения.

Для этих целей в конструкторе запроса помещают копию таблицы (Таблица 1) и связывают поля идентичных таблиц.

  1. Типы отношений в концептуальной модели данных

Ответ:

Обобщение – это объектное множество, являющееся надмножеством другого объектного множества (содержащее его).

Пример обобщения:

Отношение – это связь между элементами двух объектных множеств.

Рассмотрим пример: для служащих компании можно выделить два ОМ ИНСПЕКТОР и РАБОЧИЙ, причём инспекторы контролируют рабочих.

Отношение Контролирует связывает каждого инспектора с рабочими, которых он контролирует.

Пример отношения Контролирует:

Мощность отношения – максимальное количество элементов одного объектного множества, связанных с одним элементом другого объектного множества.

Типы отношений объектных множеств:

  • Функциональным называется отношение, максимальная мощность которого как минимум в одном направлении равна 1. Отношение один-к-одному означает, что максимальная мощность равна 1 в обоих направлениях (1:1). Например, у АВТОМОБИЛЯ один ВОДИТЕЛЬ, у ВОДИТЕЛЯ один АВТОМОБИЛЬ.

  • Отношение один-ко-многим означает, что максимальная мощность равна 1 в одном направлении и многим в обратном (1:М ). Например СЛУЖАЩИЙ работает в одном ОТДЕЛЕ, но в ОТДЕЛЕ работает много СЛУЖАЩИХ.

  • Отношение многие-ко-многим означает, что максимальная мощность в обоих направлениях равна многим (М:М). Например: СТУДЕНТ посещает много КУРСОВ, каждый КУРС слушает много СТУДЕНТОВ.

Если в отношении участвуют два объектных множества, они называются бинарными. Отношения высокого порядка называют n-арными. 3-арное отношение называется терарным (трёхсторонним).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]