- •12 Правил Кодда:
- •Словарь субд Oracle: состав, назначение, применение.
- •Структура вторичной памяти субд Oracle: табличные пространства, сегменты, экстенты, блоки, структура блока.
- •Архитектура программного обеспечения с точки зрения программиста, объекты разработки, роли разработчиков и их функциональное наполнение.
- •Режимы старта и останова экземпляра Oracle, операторы alter перевода экземпляра Oracle из одного состояния в другое.
- •Понятия субд Oracle: системные привилегии, объектные привилегии, роль, профиль безопасности, пользователь.
- •Табличные пространства: назначение, типы, основные параметры, необходимые привилегии, операторы создания и удаления, представления словаря.
- •Кластер: назначение, типы, основные параметры, необходимые привилегии, операторы создания, модификации и удаления, представления словаря. Оператор создания таблиц с кластеризованными столбцами.
- •Индекс: назначение, типы (b*,bitmap), основные параметры, необходимые привилегии, операторы создания, модификации и удаления, представления словаря.
- •Синоним: назначение, типы, необходимые привилегии, операторы создания и удаления, представления словаря.
- •Представление: назначение, необходимые привилегии, операторы создания, модификации и удаления, представления словаря, опции with check option/read only.
- •Материализованное представление: назначение, необходимые привилегии, операторы создания, модификации и удаления, представления словаря.
- •Временные таблицы: назначение, принцип применения, необходимые привилегии, операторы создания, опции on commit delete rows/ on commit preserve rows.
- •Порядок создания инфраструктуры базы данных Oracle.
- •Pl/sql: исключения, встроенные исключения и пользовательские исключения, генерация (raise, raise_application_error) и обработка исключений, порядок распространения исключений.
- •Pl/sql:константы, %type, %rowtype, записи (record) и их применение, вложенные записи, присваивание записей.
- •Pl/sql: локальные процедуры и функции, параметры, позиционный и параметрический способ передачи параметров
- •Pl/sql: динамический sql, оператор execute immediate, опции using (входные и выходные параметры), опция returning.
- •Хранимые процедуры и функции: назначение, принцип применения, необходимые привилегии, операторы создания, опция authid current_user/definer, объектная привилегия execute, представления словаря.
- •Пакеты: назначение, принцип применения, необходимые привилегии, операторы создания, опция authid current_user/definer, объектная привилегия execute, представления словаря.
- •Триггеры замещения (instead of)
- •Тип xmltype: назначение, создание таблиц с xml-полями, основные функции для работы с xmltype.
- •Большие типы: clob, blob, bfile, назначение, создание и применение.
- •Табличные и поточные функции
- •Расписание (Schedule)
- •Программа (Program)
- •Секцинирвание
- •Диапазонное секционирование
- •Интервальное секционирование
- •Списочное секционирование
- •Композитное секционирование
- •Эквисекционирование
- •Секционирование по ссылке
- •Секционирование по виртуальному столбцу
- •Системное секционирование
Pl/sql: исключения, встроенные исключения и пользовательские исключения, генерация (raise, raise_application_error) и обработка исключений, порядок распространения исключений.
Исключение – прерывание, которое возникает при наступлении какого-либо события.
Встроенное исключение – исключение которое определено в СУБД.
Пользовательское исключение – исключение, которое определил пользователь.
RAISE-инициализация именованного исключения.
RAISE_APPLICATION_ERROR-создает собственное сообщение об ошибке.
Типы ошибок: 1) ошибки компиляции (уровнем сообщений можно управлять); 2)ошибки времени выполнения (могут быть обработаны). Если используется динамический SQL, то можно обработать ошибку компиляции, т.к. компиляция исполняется во время исполнения.
Исключительная ситуация – событие, возникающее в программе и требующее незамедлительной обработки.
Два типа исключительных ситуаций: 1) определяемые пользователем; 2) предопределенные (стандартные).
Pl/sql:константы, %type, %rowtype, записи (record) и их применение, вложенные записи, присваивание записей.
%TYPE – используется для объявления переменной того же типа что и строка в необходимой таблице.
%ROWTYPE – используется для объявления записи того же типа, что и строка в необходимой таблице, представлении или курсоре.
Тип данных записи (RECORD) – тип данных, инкапсулирующий в себе несколько переменных одного или нескольких типов.
Pl/sql: локальные процедуры и функции, параметры, позиционный и параметрический способ передачи параметров
Локальные процедуры и функции – такие процедуры и функции, которые создаются во время выполнения программы.
Процедуры и функции могут содержать входные и выходные параметры. Позиционный способ, когда пишем имя параметра и => а затем значение. В этом случае мы указываем параметры в любой последовательности.
Позиционный способ, когда указываем параметры (без имени) в строгой последовательности как и при создании процедуры или функции.
PL/SQL: коллекции (массивы переменной длины, вложенные таблицы, ассоциативные массивы), назначение, принципы работы с коллекциями, различия, общие методы и встроенные исключения. Операторы MULTISET.
PL/SQL-коллекции:
массивы переменной длинны – объект содержащий объекты одного типа (размер ограничен сверху, т.е. нужно его указать заранее)
вложенные таблицы – таблицы, содержащие в себе строки, являющиеся объектами (в отличие от массивов переменной длинны размер не ограничен сверху)
ассоциативные массивы – индексированные таблицы (массивы, доступ к которым осуществляется не по индексу, а по ключу)
оператор над множествами MULTISET EXCEPT для извлечения из вложенной таблицы happyfamily родителей и поместим их имена во вложенную таблицу parents. Выведем содержимое таблицы parents.
Pl/sql: динамический sql, оператор execute immediate, опции using (входные и выходные параметры), опция returning.
Динамический sql – операторы sql, которые формируются и исполняются во время выполнения программы. Применяется для понимания кода, адаптирующегося к структуре таблиц.
Предложение EXECUTE IMMEDIATE подготавливает (делает синтаксический разбор) и сразу же выполняет динамическое SQL-предложение или анонимный PL/SQL-блок.
Основные преимущества динамического SQL:
можно выполнять в PL/SQL-блоках операторы DDL;
можно писать программы, адаптирующиеся к структуре таблиц;
