- •А рхитектура базы данных. Физическая и логическая независимость (трехуровневая модель ansi)
- •Пользователи баз данных. Основные функции группы администратора бд
- •Описание процесса прохождения пользовательского запроса
- •Перечислить классы субд. Какие возможности обеспечивает использование профессиональных субд
- •Этапы разработки аис
- •Модели данных
- •Режимы работы с базой данных
- •Архитектура клиент-сервер: структура типового интерактивного приложения
- •Инфологическое моделирование. Er - модель.
- •Системный анализ предметной области
- •Этапы жизненного цикла ис. Этапы проектирования бд
- •Алгоритм перехода от er к реляционной модели данных.
- •Даталогическое проектирование, корректная схема бд.
- •Последовательность нормальных форм. Их свойства. Первая нормальная форма (1нф), вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф), нормальная форма Бойса-Кодда (бк нф)
- •Сурбд Oracle. Конфигурации Oracle. Архитектура Oracle (физический и логический уровень)
- •Субд Oracle. Табличные пространства. Сегменты, экстенты и блоки данных.
- •Объекты бд Oracle. Создание таблиц. Типы данных. Пользовательские типы данных
- •Субд Oracle. Создание индексов.
- •Субд Oracle. Создание представлений
- •Субд Oracle. Создание последовательностей
- •Субд Oracle. Определенные пользователем типы данных. Создание синонимов
- •Субд Oracle. Создание ограничений
- •Субд Oracle. Создание табличных пространств
- •Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Основные операции
- •Реляционная алгебра. Специальные операции.
- •Язык sql. История развития sql. Структура sql. Типы данных.
- •Операторы описания данных (ddl).
- •Операторы манипулирования данными (dml)
- •Основные понятия и конструкции pl/sql. Архитектура pl/sql
- •Язык запросов dql. Оператор выбора select.
- •Агрегатные функции в операторе выбора. Вложенные запросы.
- •Поддерживаемый набор символов pl/sql. Арифметические операторы и операторы отношения
- •Предикаты раздела where
- •Структура программы и переменные pl/sql
- •Null-значения, трехзначная логика
- •Pl/sql. Условные операторы if
- •Pl/sql. Циклы
- •Pl/sql. Курсоры. Курсорный цикл for.
- •Pl/sql. Хранимые процедуры
- •Pl/sql. Функции
- •Pl/sql. Триггеры
Pl/sql. Хранимые процедуры
Хранимая процедура — это программа на языке PL/SQL или Java, которая хранится в базе данных. Хранимые процедуры могут иметь параметры, вызывать другие процедуры и функции, возвращать значения и генерировать исключения. Хранимые процедуры могут вызываться удаленно.
Синтаксис:
CREATE [OR REPLACE] PROCEDURE имя_процедуры
[ (параметр [, параметр, …]) ] IS
[локальные объявления]
BEGIN
исполняемые предложения
[EXCEPTION обработчики исключений]
END [имя_процедуры];
При создании процедуры или функции, можно определить три типа параметров, которые могут быть объявлены:
IN – Параметр может ссылаться на процедуру или функцию. Значение параметра не может быть изменено процедурой или функцией.
OUT – параметр не может ссылаться на процедуру или функцию, но значение параметра может быть изменено процедурой или функцией.
IN OUT – Параметр может ссылаться на процедуру или функцию и значения параметра может быть изменено процедурой или функцией.
Pl/sql. Функции
Функция - это подпрограмма, которая вычисляет значение. Функции структурируются так же, как и процедуры, с той разницей, что функции содержат фразу RETURN. Функции, в отличии от процедур, могут вызываться в запросах SELECT.
CREATE [OR REPLACE] FUNCTION имя_функции
(аргумент [IN] [OUT] [IN OUT] тип данных [{:= | DEFAULT} знач]) IS
[локальные объявления]
BEGIN
/* тело процедуры */
[EXCEPTION обработчики исключений]
RETURN (возвращаемое_значение)
END [имя_функции];
IN – Параметр может ссылаться на процедуру или функцию. Значение параметра не может быть изменено процедурой или функцией.
OUT – параметр не может ссылаться на процедуру или функцию, но значение параметра может быть изменено процедурой или функцией.
IN OUT – Параметр может ссылаться на процедуру или функцию и значения параметра может быть изменено процедурой или функцией.
Посредством оператора RETURN функция возвращает значение. Предложение RETURN немедленно завершает выполнение подпрограммы и возвращает управление вызывающей программе.
В PL/SQL существует ряд встроенных функций:
CONCAT(строка 1, строка2) Возвращает "строка 1", конкатенированную, (сцепленную) со "строка 2".
UPPER(строка) Возвращает "строка", в которой все символы прописные. Символы не являющиеся буквами не изменяются.
LOWER(строка) Возвращает "строка", со строчными символами. Символы не являющиеся буквами не изменяются.
Pl/sql. Триггеры
Триггеры – это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено действием по модификации данных. В Oracle различают следующие виды триггеров: BEFORE INSERT, AFTER INSERT, BEFORE UPDATE, AFTER UPDATE, BEFORE DELETE, AFTER DELETE (CREATE TRIGGER).
Действие, которое выполняет триггер, задается в теле триггера блоком кода PL/SQL, который̆ не может содержать команд управления транзакциями, таких как COMMIT, ROLLBACK, SAVEPOINT.
Синтаксис:
CREATE [ OR REPLACE ] TRIGGER имя_триггера
BEFORE INSERT | AFTER INSERT | BEFORE UPDATE | AFTER UPDATE | BEFORE DELETE | AFTER DELETE
ON имя_таблицы
[ FOR EACH ROW ]
DECLARE
/* объявление переменных */
BEGIN
/* код триггера */
EXCEPTION
WHEN …
/* обработка исключительной ситуации */
END;
Триггеры BEFORE INSERT/UPDATE/DELETE исполняются до выполнения операторов INSERT/UPDATE/DELETE
Триггеры AFTER INSERT/UPDATE/DELETE исполняются после выполнения операторов INSERT/UPDATE/DELETE.