Разновидности операции 2-х соединений JOIN:
1)Тета-соединение (INNER JOIN-внутреннее соединение) – «T=R
»
Операция тета-соединения определяет отношение, которое содержит кортежи из декартова произведения отношений R и S, удовлетворяющие предикату C. Предикат C имеет вид:(
), где вместо
может быть указан один из операторов сравнения (>, >=, <, <=, =, <>). Если предикат С содержит только оператор равенства (=), то соединение называется соединением по эквивалентности. Используется, когда нужно включить все строки из обеих таблиц, удовлетворяющие условию объединения. В этом случае строится декартово произведение строк первой и второй таблиц, а из полученного набора данных отбираются записи, удовлетворяющие условиям объединения. Блоки данных из двух таблиц объединяются, как только в указанных полях будут найдены совпадающие значения. В условиях объединения могут участвовать поля, относящиеся к одному и тому же типу данных и содержащие один и тот же вид данных, но они не обязательно должны иметь одинаковые имена.
2)Соединение по эквивалентности – «T=R
=
».
Из этой формулы видно, что результат экви-соединения 2-х отношений представляет собой подмножество декартового соединения этих отношений. Если перечислять ряд таблиц или запросов и не указывать условия объединения, в качестве исходной таблицы будет выбрано декартовое (прямое) произведение всех таблиц. Из отношения (
)представляющего собой декартовое соединение выбираются только те картежи, которые удовлетворяют условию С. Также можно обойтись без экви-соединения, но декардовое – это трудоемкий процесс. Экви-соединение было создано, чтобы избежать вычисления декартового соединения.
3)Естественное соединение – «T=R
»
Естественным соединением называется соединение по эквивалентности двух отношений R и S, выполненное по всем общим атрибутам, из результатов которого исключается по одному экземпляру каждого общего атрибута. Отличия от экви-соединения: 1)предполагается, что атрибуты каждой пары Ai и Bi от 1 до n, значения которых проверяются на совпадения должны иметь одинаковые имена; 2)в результирующем отношении T из каждой пары атрибутов Ai и Bi остается только один атрибут. Естественное соединение можно получить из экви-соединения, применив операцию ЭПИ.
4)Левое внешнее соединение – «T=R
»
Левым внешним соединением называется соединение, при котором кортежи отношения R, не имеющие совпадающих значений в общих столбцах отношения S, также включаются в результирующее отношение. Предполагается, что поле отношений R и S, по которым производится соединение имеют одинаковые имена, как и у естественных соединений. Для обозначения отсутствующих значений в таблице S используется пустое или неопределенное значение Null.
5)Правое внешнее соединение – «T=R
»
Существует и правое внешнее соединение, называемое так потому, что в результирующем отношении содержатся все кортежи правого отношения.
6)Полное внешнее соединение – «T=R
»
Кроме того, имеется и полное внешнее соединение, в его результирующее отношение помещаются все кортежи из обоих отношений, а для обозначения несовпадающих значений кортежей в нем используются определители NULL.
7)Полусоединение – «T=R
»
Операция полусоединения определяет отношение, содержащее те кортежи отношения R, которые входят в соединение отношений R и S.
Типы данных языка SQL
1)Символьные типы данных – содержат буквы, цифры и специальные символы
· CHAR или CHAR(n) – символьные строки фиксированной длины. Длина строки определяется параметром (n). CHAR без параметра соответствует CHAR(1). Для хранения таких данных всегда отводится n байт вне зависимости от реальной длины строки.
· VARCHAR(n) – символьная строка переменной длины. Для хранения данных этого типа отводится число байт, соответствующее реальной длине строки.
2)Целые типы данных - поддерживают только целые числа. Над этими типами разрешается выполнять арифметические операции и применять к ним агрегирующие функции.
· INTEGER или INT – целое, для хранения которого отводится, как правило 4 байта.
3)Вещественные типы данных DECIMAL(p,n), где p – общее количество десятичных цифр, n- количество цифр после десятичной запятой, описывают числа с дробной частью.
4)Денежные типы данных – описывают, естественно, денежные величины. Для типа данных MONEY(p,n) все аналогично типу DECIMAL(p,n). Данный тип вводится потому, что некоторые СУБД предусматривают для него специальные методы форматирования
5)Типы данных Дата и Время –используются для хранения даты, времени и их комбинаций.
· DATE – тип данных для хранения даты.
· TIME – тип данных для хранения времени
6)Двоичные типы данных BINARY – позволяют хранить данные любого объема в двоичном коде. Определения этих типов наиболее сильно различаются от системы к системе, часто используется ключевое слово BINARY.
NULL – используется для всех типов данных и означает «не определено». При создании таблицы можно указать СУБД, могут ли элементы того или иного столбца иметь данное значение.






