Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
baz_dan / Главы13.doc
Скачиваний:
43
Добавлен:
12.03.2015
Размер:
321.02 Кб
Скачать

181

13. Pl/sql oracle

13.1. Обзор по продуктам oracle

Система Oracle является одним из наиболее популярных продуктов в области разработки программных решений, которые заставляют функционировать Интернет. Основатели – Лари Элисон, Боб Майнер и Эд Оутс – 1977.

1978 ORACLE версия 1.0 на языке ассемблера на PDP-11;

1980 версия 2.0 на PDP-11 на ассемблере;

1983 версия 3, предназначена для мейнфреймов и мини-компьютеров, написана на языке С;

1984 версия 4 поддерживается переносимость между серверами и ПК;

1986 версия 5.0 - выпуск первой РСУБД с поддержкой распределенных вычислений;

1988 версия 6. Выпущен пакет финансовых программ, а также комплект CASE-средств;

1992 выпущена версия 7 под управление ОС Unix. Начинается разработка программных приложений, как у Microsoft. (Word, Excel, PowerPoint);

1994-1995 выходит версия для персональных компьютеров;

1996 реализация идеи сетевого компьютера.

Появляются приложения:

- Oracle Financials (Финансы);

- Oracle Supply Chain Management (Управление цепочками поставок);

- Oracle Manufacturing (Управление производством);

- Oracle Project Systems (Системы проектирования);

- Oracle Human Resources (Управление персоналом);

- Oracle Market Management (Управление маркетингом).

1997 версия 8, обеспечивает работу большого числа пользователей с большим объемом данных. Отказывается от архитектуры клиент-сервер, концентрируется на Интернет - приложениях;

1998 разрабатываются продукты для ОС Linux. Разрабатываются приложения на основе браузера;

2000 версия Oracle9i. Продукт Oracle становится базой данных номер один для Интернета. Далее выходит версия Oracle Database10g. В настоящее время появилась и 11 версия.

Конкуренты:

Computer Associates – база данных Ingres; IBM – DB/2; Informix – Informix; Microsoft – Access, SQL Server; Software AG – ADABAS; PostgressSQL – общедоступная БД с открытым исходным кодом.

В чем отличие. Корпорация Oracle является производителем программного обеспечения, предназначенного для управления информацией. Данное программное обеспечение включает СУБД, средства разработки приложений, системы бизнес-анализа и инструменты разработки Интернет-приложений для бизнеса.

Продукты Oracle можно разделить на пять категорий:

  • Oracle database;

  • Oracle Application Server (Сервер приложений);

  • Internet Development Suite (Комплект продуктов для Интернет разработок);

  • Data Warehousing and Business Development (Средства для работы с хранилищем данных и организации бизнеса);

  • Oracle E-business Suite (Набор комплексных приложений для электронного бизнеса).

13.2. Pl/sql – Procedural Language/Structured Query Language

(Процедурный язык / Язык структурированных запросов)

Впервые PL/SQL появился в шестой версии Oracle в 1988г.

PL/SQL – язык программирования, напоминающий языки ADA и C.

PL/SQL используется для считывания информации, заполнения БД, создания хранимых объектов и даже для отображения Web – страниц.

Oracle – это не просто база данных, она является также и процессором, поддерживающим различные языки программирования. Так Oracle9i содержит процессор Java со встроенной виртуальной машиной Java (Java Virtual Machine – JVM), а также процессор PL/SQL. Oracle является развитой системой, и поэтому не требует других программных продуктов. Процессор PL/SQL тесно интегрирован с базой данных.

Рис.13.1 Архитектура PL/SQL

Рис.13.1 демонстрирует процесс работы PL/SQL внутри базы данных и за ее пределами. Центральное положение занимает сервер Oracle, который является основным процессором БД. Он координирует все обращения к базе данных. Когда программа посылает на сервер запрос, БД Oracle загружает откомпилированный код в память, после чего процессоры PL/SQL и SQL выполняют этот код.

Структура программы PL/SQL

[DECLARE]

Переменные, курсоры

BEGIN

- Команды SQL

- Команды PL/SQL

[EXEPTION]

Действия при возникновении ошибок

END;

/

Программы в PL/SQL обычно называют блоками. Фактически блоки представляют собой завершение программы, которые могут быть успешно выполнены. Каждая программная единица PL/SQL состоит из одного или нескольких блоков. Эти блоки могут быть полностью автономными или вложенными один в другой. Для описания программ используются комментарии.

При этом различают следующие комментарии:

-- однострочные, /* --- */ многострочные.

Типы блоков.

Существуют три типа блоков, из которых может быть выстроена программа PL/SQL: анонимные блоки; процедурные; функции (рис.13.2).

Рис.13.2. Типы блоков

Анонимные блоки не имеют имен. Эти блоки не хранятся в базе данных. Они передаются на исполнение машине PL/SQL во время выполнения приложения. Подпрограммы (subprograms) – это именованные блоки PL/SQL, хранимые в базе данных. Они могут быть вызваны из любой точки приложения. Объявлять их можно как процедуры или функции. Обычно процедура используется для выполнения действия, а функция - для вычисления и возврата значений.

Среды программирования на PL/SQL

Oracle JDeveloper 10g - интегрированная среда разработки.

Позволяет:

- производить навигацию по присоединенной базе данных и доступ к ее объектам;

- создание пользователей и объектов базы данных;

- создание, выполнение и отладка программ на PL/SQL (например, процедур, функций и пакетов).

iSQL*Plus – это интерфейс к SQL*Plus, предоставляемый из браузера.

Рис.13.3. Архитектура iSQL*Plus

Переменные PL/SQL:

  • Скалярные

  • Составные

  • Ссылочные

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

Наиболее часто встречаются следующие типы данных:

VARCHAR2, NUMBER, DATE, BOOLEAN

Инициализация переменных производится по следующей схеме:

Имя_переменной тип_переменной := значение;

Также можно определять переменные в теле основной программы:

Имя_переменной := значение;

Примеры

DECLARE

L_name VARCHAR2(30);

L_today DATE := sysdate;

L_counter NUMBER :=0;

L_average_amount NUMBER(12,2);

Flag BOOLEAN := FALSE;

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

Например.

Balance NUMBER(7,2);

Min_balance balance%TYPE:=1000;

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

Empno NUMBER(6) := &empno;

Команда DEFINE используется для определения пользовательской переменной

DEFINE lname :=Urman

Соседние файлы в папке baz_dan