- •Содержание
- •1. Архитектура базы данных. Физическая и логическая независимость (трехуровневая модель ansi).
- •2. Описать процесс прохождения пользовательского запроса.
- •3. Модели данных.
- •4. Пользователи баз данных. Основные функции группы администратора бд.
- •3. Задание ограничений целостности при описании структуры бд и процедур обработки бд:
- •4. Первоначальная загрузка и ведение бд:
- •5. Защита данных:
- •6. Обеспечение восстановления бд:
- •6. Этапы разработки аис.
- •I стадия – предпроектное обследование:
- •II стадия – проектирование:
- •III стадия – ввод системы в действие:
- •7. Режимы работы с базой данных.
- •8. Архитектура клиент-сервер: структура типового интерактивного приложения.
- •10. Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Основные операции.
- •11. Реляционная алгебра. Специальные операции.
- •12. Язык sql. История развития sql. Структура sql. Типы данных.
- •Структура sql.
- •Типы данных.
- •13. Операторы описания данных (ddl).
- •14. Операторы манипулирования данными (dml).
- •15. Язык запросов dql. Оператор выбора select.
- •16. Предикаты раздела where.
- •17. Null-значения, трехзначная логика.
- •18. Агрегатные функции в операторе выбора. Вложенные запросы.
- •19. Этапы жизненного цикла ис. Этапы проектирования бд.
- •20. Системный анализ предметной области.
- •21. Инфологическое моделирование. Er - модель.
- •22. Алгоритм перехода от er к реляционной модели данных.
- •23. Даталогическое проектирование, корректная схема бд.
- •25. Последовательность нормальных форм. Их свойства. Первая нормальная форма (1нф), вторая нормальная форма (2нф).
- •26. Третья нормальная форма (3нф).
- •27. Сурбд Oracle. Конфигурации Oracle. Архитектура Oracle (физический и логический уровень).
- •28. Субд Oracle. Табличные пространства. Сегменты, экстенты и блоки данных.
- •29. Объекты бд Oracle. Создание таблиц. Типы данных. Пользовательские типы данных.
- •30. Субд Oracle. Создание индексов.
- •31. Субд Oracle. Создание представлений.
- •35. Субд Oracle. Создание табличных пространств.
- •36. Основные понятия и конструкции pl/sql. Архитектура pl/sql.
- •37. Поддерживаемый набор символов pl/sql. Арифметические операторы и операторы отношения.
- •38. Структура программы и переменные pl/sql.
- •39. Pl/sql. Условные операторы if.
- •40. Pl/sql. Циклы.
- •41. Pl/sql. Курсоры. Курсорный цикл for.
- •42. Pl/sql. Хранимые процедуры.
- •43. Pl/sql. Функции.
- •44. Pl/sql. Триггеры.
36. Основные понятия и конструкции pl/sql. Архитектура pl/sql.
Oracle – это не просто база данных, она является также и процессором, поддерживающим различные языки программирования. Так Oracle9i содержит процессор Java со встроенной виртуальной машиной Java (Java Virtual Machine – JVM), а также процессор PL/SQL. Oracle является развитой системой, и поэтому не требует других программных продуктов. Процессор PL/SQL тесно интегрирован с базой данных.
Рис. 1 демонстрирует процесс работы PL/SQL внутри базы данных и за ее пределами. Центральное положение занимает сервер Oracle, который является основным процессором БД. Он координирует все обращения к базе данных. Когда программа посылает на сервер запрос, БД Oracle загружает откомпилированный код в память, после чего процессоры PL/SQL и SQL выполняют этот код.
PL/SQL (Procedural Language / Structured Query Language) – язык программирования, процедурное расширение языка SQL, разработанное корпорацией Oracle.
PL/SQL предоставляет разработчику приложений и интерактивному пользователю следующие основные возможности:
реализация подпрограмм как отдельных блоков, в том числе использование вложенных блоков;
создание пакетов, процедур и функций, хранимых в базе данных;
предоставление интерфейса для вызова внешних процедур;
поддержка как типов данных SQL, так и типов, вводимых в PL/SQL;
применение явного и неявного курсора, а также оператора цикла FOR для курсора;
введение у переменных PL/SQL и курсоров атрибутов, которые позволяют ссылаться на тип данных или структуру элемента;
введение типов коллекций и объектных типов;
поддержка набора операторов управления и операторов цикла;
реализация механизма обработки исключений.
Язык PL/SQL обладает следующими определяющими характеристиками, которые можно отнести к его несомненным достоинствам:
Высокая структурированность, удобочитаемость и доступность. Новичок сможет легко постигнуть азы своей профессии с PL/SQL — этот язык прост в изучении, а его ключевые слова и структура четко выражают смысл кода. Программист с опытом работы на других языках очень быстро привыкнет к новому синтаксису.
Стандартный переносимый язык разработки приложений для баз данных Oracle. Если вы написали на PL/SQL процедуру или функцию для базы данных Oracle, находящейся на портативном компьютере, то эту же процедуру можно будет перенести в базу данных на компьютере корпоративной сети и выполнить ее без каких-либо изменений (конечно, при условии совместимости версий Oracle). «Написать один раз и использовать везде» — этот основной принцип PL/SQL был известен задолго до появления языка Java. Впрочем, «везде» в данном случае означает «при работе с любой базой данных Oracle».
Встроенный язык. PL/SQL не используется как самостоятельный язык программирования. Это встроенный язык, работающий только в конкретной управляющей среде. Таким образом, программы PL/SQL можно запускать из базы данных (скажем, через интерфейс SQL*Plus). Также возможно определение и выполнение программ PL/SQL из формы или отчета Oracle Developer (клиентский PL/SQL). Однако вы не сможете создать исполняемый файл программы на PL/SQL и запускать его автономно.
Высокопроизводительный, высокоинтегрированный язык баз данных. В настоящее время существует много способов написания программ, работающих с базами данных Oracle. Например, можно использовать Java и JDBC или Visual Basic и ODBC, а можно воспользоваться, скажем, Delphi, C++ и т. д. Однако эффективный код для работы с базой данных Oracle проще написать на PL/SQL, чем на любом другом языке программирования. В частности, Oracle имеет несколько расширений, предназначенных специально для PL/SQL, таких как инструкция FORALL, позволяющая повысить производительность обработки запросов на порядок и более.
Одним из важнейших аспектов PL/SQL является его тесная интеграция с SQL. Для выполнения SQL-инструкций в программах на PL/SQL не требуется никакой промежуточной программной «прослойки» вроде ODBC (Open Database Connectivity) или JDBC (Java Database Connectivity). Инструкция UPDATE или SELECT просто вставляется в программный код.
Основной программной единицей PL/SQL является блок, который может содержать вложенные блоки, называемые иногда подблоками.
Блок позволяет объединять объявления и операторы, связанные общей логикой; может быть анонимным и именованным.
Блок состоит из трех основных частей:
секция объявлений (необязательная часть);
тело блока;
обработчики исключений (необязательная часть).
Язык PL/SQL позволяет определять следующие типы именованных блоков:
процедуры;
функции;
объекты;
пакеты.
Все они могут быть скомпилированы и сохранены как объекты базы данных в некоторой её схеме. Все именованные блоки кода, кроме пакетов, не хранят внутреннее состояние от вызова к вызову.
Пакеты позволяют обеспечивают модульность для больших проектов, позволяя сгруппировать наборы именованных блоков кода, кроме того, в пакетах возможно хранение состояния на время жизни сессии базы данных, доступное для функций и процедур, входящих в пакет. Пакеты в PL/SQL содержат спецификацию и тело. Спецификация пакета может содержать определение констант, переменных, типов данных, объявление процедур и функций. Тело пакета определяет объявленные в спецификации процедуры и функции, а также может содержать блок кода инициализации пакета, определения внутренних констант, переменных, типов данных, процедур и функций. Все компоненты пакета, объявленные в его спецификации, могут быть доступны для использования извне пакета, в то время как тело пакета инкапсулирует реализацию этих компонентов, и извне недоступно. Тело и спецификация пакета могут модифицироваться, компилироваться и сохраняться независимо друг от друга.