- •Базы данных
- •Бд основные понятия и определения
- •Классификация моделей бд
- •Основные понятия иерархической модели данных
- •Основные понятия сетевой модели данных
- •Основные понятия реляционных моделей данных
- •Сортировка, поиск и замена данных в таблицах
- •Индексирование данных в реляционных таблицах
- •Концептуальная модель данных, основные понятия и определения
- •Язык sql, стандарты, основные операторы sqLзапроса
- •Типы данных sql
- •Операторы создания базы данных на языке sql
- •Запросы, назначения запросов, виды запросов
- •Использование агрегированных функций запросов
- •Использование вложенных запросов
- •Операторы соединения на языке sql
- •Типы отношений в концептуальной модели данных
- •Теоретико-множественные операции реляционной алгебры (с примерами)
- •Специальные операции реляционной алгебры (с примерами)
- •Использование хранимых процедур и пользовательских функций
- •Понятие и применение триггеров
Операторы соединения на языке sql
Ответ:
Операции соединения наборов записей возвращают таблицы, записи в которых получаются путем некоторой комбинации записей соединяемых таблиц. Для этого используется оператор JOIN (соединить).
Внутреннее соединение (эквисоединение): если таблицы связаны отношением «один-ко-многим», соединения основываются на уникальном значении поля первичного ключа одной таблицы и значениях поля внешнего ключа в другой таблице. В результирующее множество запроса попадают все записи из главной таблицы, для которых имеются соответствующие записи в подчиненной таблице.
Если в подчиненной таблице записи с заданной величиной отсутствуют, то соответствующие записи из главной таблицы в результирующее множество не включаются. Такие соединения между таблицами создаются автоматически, если:
В таблицах имеются поля с одинаковыми именами и согласованными типами данных, причем, одно из полей является ключевым;
Соединение было явно создано в окне схемы данных.
Результатом такого запроса являются все записи, значения связанных полей которых в обеих таблицах совпадают.
Другими словами, эквисоединение связывает данные полей записей таблиц отношением равенства.
Оператор SQL описывающие внутренние соединения INNER JOIN.
Для создания запроса, объединяющего все записи из одной таблицы и только те записи из другой таблицы, в которых связанные поля совпадают, используют внешние соединения.
Независимо от того имеются ли соответствующие записи во второй таблице, все записи первой таблицы попадают в результирующее множество запроса.
Различают два вида внешних соединений:
Левое внешние соединение LEFT JOIN;
Правое внешние соединение RIGHT JOIN.
Если необходимо связать данные любым отношением, кроме отношения равенства, используют соединения по отношению или тэта-соединения.
Например, необходимо отобрать клиентов, у которых атрибуты Адрес клиента и Адрес получателя не совпадают:
Select Клиенты.Адрес, Заказы.Адрес получателя
From Клиенты INNER JOIN Заказы ON Клиенты.ИД = Заказы.ИД клиента
Where Заказы.Адрес получателя<>Клиенты.Адрес;
Для связывания данных в одной таблице применяют рекурсивные соединения.
Для этих целей в конструкторе запроса помещают копию таблицы (Таблица 1) и связывают поля идентичных таблиц.
Типы отношений в концептуальной модели данных
Ответ:
Обобщение – это объектное множество, являющееся надмножеством другого объектного множества (содержащее его).
Пример обобщения:
Отношение – это связь между элементами двух объектных множеств.
Рассмотрим пример: для служащих компании можно выделить два ОМ ИНСПЕКТОР и РАБОЧИЙ, причём инспекторы контролируют рабочих.
Отношение Контролирует связывает каждого инспектора с рабочими, которых он контролирует.
Пример отношения Контролирует:
Мощность отношения – максимальное количество элементов одного объектного множества, связанных с одним элементом другого объектного множества.
Типы отношений объектных множеств:
Функциональным называется отношение, максимальная мощность которого как минимум в одном направлении равна 1. Отношение один-к-одному означает, что максимальная мощность равна 1 в обоих направлениях (1:1). Например, у АВТОМОБИЛЯ один ВОДИТЕЛЬ, у ВОДИТЕЛЯ один АВТОМОБИЛЬ.
Отношение один-ко-многим означает, что максимальная мощность равна 1 в одном направлении и многим в обратном (1:М ). Например СЛУЖАЩИЙ работает в одном ОТДЕЛЕ, но в ОТДЕЛЕ работает много СЛУЖАЩИХ.
Отношение многие-ко-многим означает, что максимальная мощность в обоих направлениях равна многим (М:М). Например: СТУДЕНТ посещает много КУРСОВ, каждый КУРС слушает много СТУДЕНТОВ.
Если в отношении участвуют два объектных множества, они называются бинарными. Отношения высокого порядка называют n-арными. 3-арное отношение называется терарным (трёхсторонним).
