Материализованное представление 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Материализованное представление



Временные таблицы

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

Временные таблицы впервые появились в Oracle8I. Они предназначались для хранения данных на протяжении сеанса или транзакции. Отличительной особенностью этих таблиц являлось то, что они располагались во временных сегментах и данные в этих таблицах хранились только на период сессии или транзакции в зависимости от реализации. Поэтому они нашли большое применение в качестве промежуточных таблиц при расчётах, отчетах и оптимизации сложных запросов.

Предложение ON COMMIT DELETE ROWSуказывает, что временная таблица предназначена для транзакции. В этом случае таблица будет очищена (будут удалены все строки) после каждой фиксации транзакции.

Предложение ON COMMIT PRESERVE ROWS указывает, что временная таблица предназначена для сеанса. Она будет очищаться при завершении сеанса.

Порядок создания инфраструктуры базы данных Oracle.

создание табличных пространств;

создание ролей;

назначение ролям системных привилегий;

создание профилей безопасности пользователей;

создание пользователей (владелец и др. пользователи);

назначение пользователям ролей;

создание объектов базы данных (таблиц, индексов, представлений, функций, процедур, пакетов,...);

назначение ролям объектных привилегий.

PL/SQL: общая характеристика.

Характеристика языка PL/SQL:

процедурное расширение языка SQL;

содержит элементы объектно-ориентированного программирования;

блоки, процедуры, функции, пакеты, объектные типы;

интегрирован с базой данных Oracle;

интерпретация (режим по умолчанию):

компиляция (промежуточный код на C и конечный объектный код процессора) дает выигрыш в скорости выполнения до 30%;

среда выполнения: SQL*Plus, другие пакеты, сервер.

Предупреждения компилятора:

- ALL (все);

- PERFOMANCE (производительность);

- INFORMATIONAL (информационные);

- SEVERE (логика программы);

- Specific error (ошибка)

Типы данных PL/SQL (не путать с типами данных базы данных):

скалярные (Scalar);

ссылочные (Reference);

составные (Composite);

большие объекты (LOB).

Скалярные типы данных можно разбить на семейства:

символ/строка;

число;

булев;

дата/время.

CHAR(n byte|char) n <= 2000
VARCHAR2(n) n <= 4000 bytes
NUMBER(n,s) n <= 38, s = [-84,127]
LONG символы до 2GB
RAW(n) бинарные данные n <= 2000 byte
ROWID 64 byte уникальный адрес строки в таблице, псевдо-столбец
NCHAR(n) n <= 2000 bytes
NVARCHAR2(n) n <= 4000 bytes
DATE 01.01.4712 до н.э – 31.12.9999
BINARY_FLOAT 32bit
BINARY_DOUBLE 64bit
TIMESTAMP(n) дата и время n = [0,9] – точность секунд
TIMESTAMP (n) WITH TIME ZONE TIMESTAMP+значение смещение часового пояса
TIMESTAMP WITH(n) LOCAL TIME ZONE TIMESTAMP нормализованный для локального времени
INTERVAL YEAR(n) TO MOUNT n = [0,9] период времени в годах и месяцах
INTERVAL DAY(n) TO SECOND(m) n = [0,9], m =[0,9] период времени в днях, минутах и секундах
LONG RAW бинарные данные до 2GB
UROWID(n) n <= 4000, логический адрес строки в индексно-организованной таблице
CLOB большой символьный объект до 4GB
NLOB CLOB для многобайтных символов
BLOB большой двоичный объект до 4GB
BFILE указатель на двоичный файл операционной системы

IF-THEN; IF-THEN-ELSE; IF-THEN-ELSEIF; CASE WHEN; LOOP EXIT WHEN; FOR i in от..до LOOP; WHILE(условие)LOOP

SQLERRM – получить сообщение ошибки

SQLCODE – получить код ошибки

PL/SQL: курсоры (неявные и явные)

Курсор Oracle указатель на область в PGA (контекстная область) в которой хранится: 1)строки запроса, 2)число строк, 2)указатель на разобранный запрос в общем пуле.

Открытие курсора–создание контекстной области PGA (создается моментальный снимок (snapshot) данных запроса).

WHERE CURRENT OF – определяет только что считанную строку.

ROWID-двухбайтовая величина, которая соответствует физическому положению любой строки БД.

ROWNUM-используется для ограничения кол-ва выводимых записей.

PL/SQL: исключения.

Исключение – прерывание, которое возникает при наступлении какого-либо события.

Встроенное исключение исключение которое определено в СУБД.

Пользовательское исключение исключение, которое определил пользователь.

RAISE - инициализация именованного исключения.

RAISE_APPLICATION_ERROR - создает собственное сообщение об ошибке.

24. PL/SQL: константы, %TYPE, %ROWTYPE, записи

%TYPE используется для объявления переменной того же типа что и строка в необходимой таблице.

%ROWTYPE используется для объявления записи того же типа, что и строка в необходимой таблице, представлении или курсоре.

Тип данных записи (RECORD) тип данных, инкапсулирующий в себе несколько переменных одного или нескольких типов.

PL/SQL: локальные процедуры и функции.??????

Локальные процедуры и функции – такие процедуры и функции, которые создаются во время выполнения программы.

PL/SQL: коллекции

PL/SQL-коллекции:

массивы переменной длинны – объект содержащий объекты одного типа(размер ограничен сверху, т.е. нужно его указать заранее)

вложенные таблицы – таблицы, содержащие в себе строки, являющиеся объектами (в отличие от массивов переменной длинны размер не ограничен сверху)

ассоциативные массивы – индексированные таблицы (массивы, доступ к которым осуществляется не по индексу, а по ключу)

оператор над множествами MULTISET EXCEPT для извлечения из вложенной таблицы happyfamily родителей и поместим их имена во вложенную таблицу parents. Выведем содержимое таблицы parents.

PL/SQL: динамический SQL

Динамический sql операторы sql, которые формируются и исполняются во время выполнения программы. Применяется для понимания кода, адаптирующегося к структуре таблиц.

Предложение EXECUTE IMMEDIATE подготавливает (делает синтаксический разбор) и сразу же выполняет динамическое SQL-предложение или анонимный PL/SQL-блок.



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 197; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.139.141 (0.009 с.)