Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vse_otvety_1.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
847.36 Кб
Скачать

63 Sql: Объединение таблиц (команда union). Общая структура команды. Отличие от команды join.

"ОБЪЕДИНЕНИЕ" (UNION) над отношениями, являющимися результатами оператора SELECT. Естественно, эти отношения должны быть определены по одной схеме. Пример: получить все Интеренет-ссылки, хранимые в базе данных publications.

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

Во всех таблицах имеется одинаковое количество столбцов.

У всех соответствующих столбцов должны быть идентичный тип данных и одинаковая длина.

(представление должно базироваться на единcтвенном запросе (UNION не допустимо)

64 SQL: Представления (VIEW). Создание, удаление, использование. Представление (view) - это таблица, содержимое которой берется из других таблиц посредством запроса. При этом новые копии данных не создаются

Когда содержимое базовых таблиц меняется, СУБД автоматически перевыполняет запросы, создающие view, что приводит к соответствующи изменениям в представлениях.

Представление создается с помощью команды

CREATE VIEW <имя_представления> [<имя_столбца>,...]

AS <запрос>

При этом должны соблюдаться следующие ограничения:

1.представление должно базироваться на единcтвенном запросе (UNION не допустимо)

2.выходные данные запроса, формирующего представление, должны быть не упорядочены (ORDER BY не допустимо)

Использование: Любой пользователь, чьих прав на доступ к данному представлению достаточно, может осуществлять выборку данных из books. Например:

SELECT titles FROM books WHERE author LIKE '%Date'

SELECT author,count(title) FROM books GROUP BY author

Удаление представления производится с помощью оператора:

DROP VIEW <имя_представления>

65 Sql: Курсоры (cursor). Создание, удаление, использование.

Курсор — это вид переменной, которая связана с запросом. Значением этой переменной может быть каждая строка, которая выводится при запросе. Подобно главным переменным, курсоры должны быть обьявлены прежде, чем они будут использованы. Это делается командой DECLARE CURSOR

Запрос не выполнится немедленно; он — только определяется. в отличие от базовых таблиц или представлений, строки курсора упорядочены: имеются первая, вторая... ...и последняя строка курсора. Этот порядок может быть произвольным, с явным управлением с помощью предложения ORDER BY в запросе или же по умолчанию следовать какому-то упорядочению, определяемому инструментально-определяемой схемой.

Когда вы находите точку в вашей программе, в которой вы хотите выполнить запрос, вы открываете курсор с помощью следующей команды:

Имеется оператор CLOSE CURSOR соответствующий оператору OPEN CURSOR. Он, как вы поняли, освобождает курсор значений, поэтому запрос будет нужно выполнить повторно с оператором OPEN CURSOR, прежде чем перейти в выбору следующих значений.

Пока курсор закрыт, SQL не следит за тем, какие строки были выбраны. Если вы открываете курсор снова, запрос повторно выполняется с этой точки, и вы начинаете все сначала.

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