- •1.Основные понятия и определения курса. Традиционные файловые системы.
- •5 История развития субд Oracle.
- •6 Общие сведения об инструкциях sql. Правила именования таблиц и столбцов
- •7 Общие сведения о dml.
- •8 Общий синтаксис инструкции select
- •9 Предложения select и from. Предикаты и вычисляемые столбцы (пример).
- •10 Предложение where и классификация условий отбора (привести примеры).
- •11 Составные условия отбора. Влияние значений null на результат отбора.
- •12 Многотабличные запросы и их особенности (привести пример).
- •13 Операторы комбинирования результирующих таблиц в многотабличных запросах (привести примеры).
- •14 Предложение group by. Статистические (агрегативные) функции в sql (примеры).
- •15 Условия отбора групп (предложение having)
- •16 Сортировка результатов запроса (предложение order by).
- •17 Подзапросы: типы, примеры, правила и ограничения, ключевые слова any, all, exist, not exist
- •18 Добавление данных (инструкции insert, merge).
- •19 Модификация и удаление данных (инструкции update, merge и delete).
- •20 Общие сведения о ddl.
- •21 Типы данных sql.
- •22 Создание таблиц (инструкция create table).
- •23 Изменение определения и удаление таблицы (инструкции alter ,drop table).
- •24 Создание псевдонимов и индексов таблиц (инструкции create/drop alias, create/drop index)
- •25 Создание представлений (инструкция create view). Преимущества и недостатки использования, основные виды
- •26 Проблемы обновления и удаление представлений.
- •27 Принципы защиты данных в sql: аутентификация пользователей, защищаемые объекты, использование привилегий и другие возможности обеспечения безопасности
- •28 Аутентификация. Создание и изменение пользователей. Аутентификация пользователей
- •29 Профили. Создание, изменение, удаление.
- •30 Привилегии. Системные привилегии.
- •31 Привилегии доступа к объектам схемы. Правила предоставления привилегий
- •32 Предоставление и отмена привилегий (инструкция grant и revoke).
- •33 Работа с привилегиями при помощи ролей. Системные роли, определение, изменение, удаление ролей
- •34 Аудит. Типы и применение аудита.
- •Типы аудита. В диспетчере авторизации можно использовать два вида аудита: аудит времени выполнения и аудит изменения хранилища данных авторизации. Аудит времени выполнения
- •Аудит изменений хранилища данных авторизации
- •35 Условия целостности данных
- •36 Правила добавления и удаления. Проблемы ссылочных циклов
- •37 Понятие транзакций. Инструкции обработки транзакций (commit и rollback)
- •38 Модель транзакции в стандарте ansi/iso
- •39 Журнал транзакций. Проблемы обработки параллельных транзакций.
- •40 Блокировки транзакций: уровни и виды, тупиковые ситуации.
- •41 Преимущества pl/sql и общие сведения о структуре pl/sql программ
- •42 Классификация блоков pl/sql.
- •43 Управление блоками в sql*Plus.
- •44 Лексические единицы pl/sql
- •45 Синтаксис объявления переменных, инициализация.
- •46 Скалярные типы pl/sql.
- •48 Коллекции (составные типы pl/sql).
- •Методы, применяемые при работе с коллекциями
- •Инициализация коллекций
- •50 Массовое связывание.
- •51 Преобразование типов данных. Область действия и область видимости переменных. Выражения и операции.
- •52 Управляющие структуры pl/sql. Область действия счетчика цикла, ограничения безусловных переходов условное управление
- •Итерационное управление
- •53 Понятие транзакции и виды блокировок Oracle
- •54 Операторы управления транзакциями в Oracle (commit, rollback, savepoint, set transaction, lock table).
- •55 Многоверсионная модель согласованности Oracle.
- •56 Автономные транзакции. Понятие прагмы.
- •57 Записи pl/sql. Использование %rowtype
- •58 Курсорные типы, переменные и выражения. Виды и назначение курсоров.
- •59 Обработка явных и неявных курсоров.
- •61 Динамический sql: использование пакета dbms_sql.
- •62 Алгоритма обработки данных в dbms_sql
- •63 Встроенный динамический sql (nds). (операторы execute immediate, open … for).
- •65 Классификация и определение программных единиц. Общие ключевые слова.
- •66 Создание и использование процедур
- •Вызов процедур и функций
- •67 Создание и использование (вызов) функций.
- •Вызов процедур и функций
- •68 Структура и определение пакета.
- •69 Триггеры бд: виды и создание
- •70 Последовательность событий и предикаты триггеров.
- •71 Пакет dbms_output.
- •72 Пакет utl_file(файловый ввод/вывод)
- •Безопасность
- •73 Пакет dbms_pipe: посылка и получение сообщений
- •74 Пакет dbms_pipe: создание программных каналов и управление ими.
- •75 Архитектура odbc и коды возврата
- •76 Основной алгоритм программ odbc. Инициализация и завершение.
- •77 Выполнение операторов: функции управления каталогом.
- •78 Непосредственное и подготавливаемое выполнение.
- •79 Выборка результатов.
- •80 Подробный алгоритм использования odbc в прикладных программах.
48 Коллекции (составные типы pl/sql).
В PL/SQL доступны следующие составные типы: записи, таблицы (вложенные и индексные) и изменяемые массивы. Составной тип содержит компоненты. В переменной, имеющей составной тип, находится одна или несколько скалярных переменных (называемых такжеатрибутами).
Коллекцией называется упорядоченная группа элементов одного типа. Язык PL/SQL поддерживает три вида коллекций:
вложенные таблицы (nested tables);
индексированные таблицы;
varray-массивы (variable-size arrays).
Доступ к любому элементу вложенной таблицыилиvarray-массиваосуществляется по его индексу, который указывается в скобках после имени переменной типа коллекции. Коллекция может быть передана в качестве параметра. Коллекцию можно использовать:
для обмена с таблицами баз данных и столбцами данных;
для передачи столбца данных из приложения клиента в хранимую процедуру или обратно.
Для создания коллекции следует определить тип коллекции -TABLEилиVARRAY- и объявить переменную этого типа. Определение типа выполняется в секции объявлений блока PL/SQL, подпрограммы или пакета.
Вложенную таблицуможно рассматривать как одномерный массив, в котором индексами служат значения целочисленного типа в диапазоне от1до2147483647.Вложенная таблицаможет иметь пустые элементы, которые появляются после их удаления встроенной процедуройDELETE.Вложенная таблицаможет динамически увеличиваться.
Индексированная таблица- это вариантвложенной таблицы, в которой элементы могут иметь произвольные целочисленные значения индексов. Такой тип данных очень удобен, если в качестве индекса использовать значение первичного ключа.
Максимальное количество элементов в Varray-массивеуказывается при определении типа и не может изменяться динамически. Доступ к каждому элементуVarray-массиваосуществляется по индексу.Varray-массивыможно передавать в качестве параметров.Varray-массивыне могут иметь пустот, так как для них нет операции удаления произвольного элемента массива.
Функции и методы коллекций. Инициализация коллекций.
Методы, применяемые при работе с коллекциями
В PL/SQL реализован ряд встроенных методов для работы с коллекциями. Эти методы вызываются как collection_name.method_name[(parameters)]
Эти методы нельзя вызывать из SQL-оператора. В следующей таблице приведено описание встроенных функций, используемых для работы с коллекциями.
|
Метод |
Описание |
|
EXISTS(n) |
Если n-ый элемент коллекции существует, то функция возвращает значениеTRUE |
|
COUNT |
Функция возвращает реальное количество элементов, которые содержит коллекция |
|
LIMIT |
Функция возвращает размер varray-массиваилиNULL- длявложенных таблиц |
|
DELETE(m,n) |
Эта процедура удаляет элементы из вложеннойилииндексированной таблицы. Если параметров не задано, то удаляются все элементы коллекции. При задании параметраnудаляетсяn-ый элементвложенной таблицы, а если задано оба параметра, то удаляются все элементы в диапазоне отnдоm |
|
FIRST,LAST |
Функции возвращают наименьший и наибольший индекс элементов коллекции. Для пустой вложенной таблицыобе функции возвращают значениеNULL. ДляVarray-массивоввызов функцииFIRSTвсегда возвращает значение1 |
|
PRIOR(n) |
Эта функция используется для цикла или последовательного просмотра элементов вложенных таблици возвращает индекс элемента, предшествующего указанному параметромn. Если такого элемента нет, то возвращается значениеNULL |
|
NEXT(n) |
Функция употребляется для цикла или последовательного просмотра элементов вложенных таблици возвращает индекс элемента, следующего за указанным параметромn. Если такого элемента нет, то возвращается значениеNULL |
|
EXTEND(n,i) |
Функция увеличивает размер вложеннойилииндексированной таблицы, позволяя добавлять в конец коллекции как один элемент, так и несколько элементов. Если параметров не задано, то в коллекцию добавляется одинnull-элемент, а если указан только параметрn, то добавляютсяn null-элементов. Если задано оба параметра, то добавляютсяnэлементов, являющихся копиямиi-го элемента коллекции |
|
TRIM(n) |
Функция выполняет удаление одного или нескольких элементов вложеннойилииндексированной таблицы. Если параметры не указаны, то удаляется один последний элемент, а при задании параметра удаляютсяnпоследних элементов коллекции. Если значение параметра превышает реальное количество элементов, возвращаемое функциейCOUNT, то инициируется исключение. Если элемент был ранее удален функциейDELETE, то он все равно будет входить в число удаляемых функциейTRIMэлементов |
