Право q
Тип_самолета |
Тогда в результате получим отношение
Пилот |
Иванов |
Сидоров |
Право ÷ q
Соединение отношений – создание нового отношения, кортеж которого является результатом сцепления кортежей исходных отношений. Различают соединения отношений двух видов: естественное и по условию.
При соединении отношений А и В по условию производится сцепление строк отношений А и В, и проверка полученной строки на соответствии заданному условию. Если условие выполнено, то полученная строка включается в результирующее отношение. Условие представляет собой логическое выражение, в которое могут входить атрибуты отношений A и B и (или) скалярные выражения. Т.о., операция соединения по условию есть результат последовательного применения операций декартового произведения и выборки.
Пусть даны отношения A(A1,A2,...,An,X1,X2,...Xn) и B(X1,X2,...Xn,B1,B2,...,Bn), причем атрибуты X1,X2,...Xn‑ общие для двух отношений. Тогда естественным соединением отношений A и B называется отношение с заголовком (A1,A2,...,An, X1,X2,...Xn,B1,B2,...,Bm) и телом, содержащим множество кортежей (a1,a2,...,an,x1,x2,...,xn,b1, ,b2,...,bn), таких, что (a1,a2,...,an,x1,x2,...,xn) из A и (x1,x2,...,xn,b1,b2,...,bn) из B.
Естественное соединение производится по всем одинаковым атрибутам.
Например требуется соединить отношения Студенты и Оценки, для которой общим атрибутом является Ном_зач_книжки.
Студенты Оценки
ФИО | Дата_рожд | Ном_зач_книжки |
Белков Ю.Г. | 06.08.86 | |
Романов О.Р. | 12.04.90 | |
Шариков А.И. | 21.09.88 |
Код_дисциплины | Ном_зач_книжки | Оценки |
Результатом операции естественного соединения будет отношение
ФИО | Дата_рожд | Ном_зач_книжки | Код_дисциплины | Оценки |
Белков Ю.Г. | 06.08.86 | |||
Белков Ю.Г. | 06.08.86 | |||
Романов О.Р. | 12.04.90 | |||
Романов О.Р. | 12.04.90 | |||
Шариков А.И. | 21.09.88 |
Перечислите основные отличия SQL от процедурных языков программирования. Назовите существующие формы языка SQL. Охарактеризуйте основные категории команд языка SQL (DDL, DML, DQL, DCL и др.) и перечислите основные достоинства языка SQL.
Структурированный язык запросов SQL был разработан в 1970 г. корпорацией IBM как язык управления реляционных баз данных. Существует две формы SQL: Интерактивный и Вложенный. Как правило, обе формы работают одинаково, но используются различно.
Вложенный SQL состоит из команд SQL помещенных внутри программ, которые обычно написаны на некотором другом языке (Си, Delphi и др.). Это делает эти программы более мощными и эффективными.
Интерактивный SQL используется непосредственно в базе данных для осуществления к ней запросов пользователей. В этой форме SQL команда выполняется непосредственно после ее ввода, так что можно увидеть результат немедленно.
SQL относится к классу непроцедурных языков программирования.