Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управление данными. Использование технологий ORACLE для реализации баз данных. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
722 Кб
Скачать

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Тамбовский государственный технический университет»

О. Г. ИВАНОВА Ю. В. КУЛАКОВ С. В. ДАНИЛКИН

УПРАВЛЕНИЕ ДАННЫМИ. ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИЙ ORACLE ДЛЯ РЕАЛИЗАЦИИ БАЗ ДАННЫХ

Утверждено Учёным советом университета в качестве учебного пособия для студентов направлений подготовки

09.03.02, 09.04.02 «Информационные системы и технологии»,

27.04.03«Системный анализ и управление» и специальности

10.05.03«Информационная безопасность автоматизированных систем»

очной и заочной форм обучения

Учебное электронное издание

Тамбов Издательский центр ФГБОУ ВО «ТГТУ»

2021

1

УДК 004.08(075.8)

ББК ç81я73

И21

Рецензенты:

Кандидат технических наук, доцент, доцент Института математики, физики и информационных технологий

ФГБОУ ВО «ТГУ им. Г. Р. Державина»

И. А. Зауголков

Кандидат технических наук, доцент, доцент кафедры «Мехатроника и технологические измерения»

ФГБОУ ВО «ТГТУ»

Г. В. Шишкина

 

Иванова, О. Г.

 

 

 

 

 

И21

Управление данными. Использованиетехнологий ORACLE

для реализациибаз

 

данных [Электронный ресурс] :

учебноепособие / О. Г. Иванова,

Ю. В. Кулаков,

 

С. В. Данилкин. – Тамбов:

Издательскийцентр ФГБОУ ВО

«ТГТУ»,

2021. –

 

1 электрон. опт. диск (CD-ROM). –

Системныетр бования :

ПКне ниже класса

 

Pentium II ; CD-ROM-дисковод ; 16,0 Mb ; RAM ; Windows 95/98/XP ;

мышь. –

Загл.

с экрана.

ISBN 978-5-8265-2430-5

Представлены основные сведения о диалекте SQL, предлагаемом фирмой Oracle для работы с базами данных своего типа. Рассматриваются конструкции языка, касающиеся работы с моделью предметной области и имеющие технологический характер. Изложение сопровождается практическими примерами. По каждой главе приводятся контрольные вопросы и задания.

Предназначено для студентов направлений подготовки 09.03.02, 09.04.02 «Информационные системы и технологии», 27.04.03 «Системный анализ и управление» и специальности 10.05.03 «Информационная безопасность автоматизированных систем» очной и заочной форм обучения.

УДК 004.08(075.8)

ББК ç81я73

Все права на размножение и распространение в любой форме остаются за разработчиком. Нелегальное копирование и использование данного продукта

запрещено.

ISBN 978-5-8265-2430-5 © Федеральное государственное бюджетное образовательное учреждение высшего образования «Тамбовский государственный технический университет» (ФГБОУ ВО «ТГТУ»), 2021

2

ВВЕДЕНИЕ

Современный этап развития общества характеризуется его глобальной информатизацией и повсеместным использованием средств информационных и коммуникационных технологий. Широкое использование профессионально ориентированных информационных систем (ИС) становится важнейшим аспектом деятельности специалистов любого профиля. Основу функционирования информационных систем составляют базы данных. Современные технологии баз данных характеризуются объектным подходом, дальнейшим развитием архитектурных принципов «клиент– сервер» и промежуточного слоя, интеграцией неоднородных информационных ресурсов и др. Знание основных идей и методов в области проектирования профессионально ориентированных баз данных, владение навыками разработки и внедрения подобных систем становятся важнейшими компонентами системы подготовки специалистов в информационной сфере.

Широко распространенная СУБД Oracle представляет собой классическую реализацию систем на основе SQL. Данное пособие рассказывает об основах диалекта SQL, реализованного этой СУБД.

СУБД Oracle версии 1 (под другим названием) появилась в 1978 г. и была написана на языке ассемблера для PDP-11 под ОС RSX. Oracle версии 2 появилась в 1979 г. и стала «первой коммерческой реляционной СУБД с использованием SQL», а в версии 3 ее ядро было переписано на языке С. С версии 8 фирма Oracle называет свою СУБД «объектно-реляционной». Фактически же это была и остается SQL-ориентированная СУБД, использующая собственный диалект SQL.

Некоторые собственные свойства диалекта SQL Oracle:

типы данных;

дополнительные к стандарту функции;

дополнительные конструкции SQL.

К этому же можно добавить, что в очередных версиях своей СУБД фирма Oracle все больше и больше новых возможностей (чаще, правда, технологического характера) реализует не посредством SQL в рамках своего диалекта, а программно, с помощью встроенных в БД системных пакетов подпрограмм.

PL/SQL есть процедурный язык, встроенный в СУБД Oracle для возможности работать с хранимой в БД Oracle программной логикой. Процедурный язык Oracle позволяет создавать в БД триггерные процедуры, моделировать логику предметной области («бизнес-логику»), проявлять самодеятельность БД, например, в виде переноса данных или обращения к Интернету, организовывать более сложную, нежели табличную в SQL, защиту доступа.

3

1. ВВЕДЕНИЕ В PL/SQL

PL/SQL – язык процедурного программирования корпорации Oracle для реляционных баз данных. Чтобы описать PL/SQL, изучим его характеристики и определим различия между PL/SQL и SQL. Определение ограничений SQL и того, как PL/SQL устраняет эти ограничения, поможет понять, зачем нужен

PL/SQL.

1.1. ОПИСАНИЕ PL/SQL

PL/SQL – это:

расширение процедурного языка для SQL;

язык программирования третьего поколения (3GL);

патентованный фирмой Oracle язык программирования;

сочетание программной логики и потока управления с командами

SQL.

Эволюция поколений языков программирования:

1GL: языки программирования первого поколения; это языки машинного уровня, специфичные для конкретного процессора;

2GL: языки программирования второго поколения; языки ассемблера, специфичные для конкретного процессора; обычно используются для ориентированных на производительность и требовательных к обработке приложений, таких как интерфейсы микропрограмм и драйверы оборудования;

3GL: языки программирования третьего поколения; преобразуются в машинный язык компилятором; менее сложны и, следовательно, более удобны для программистов, чем 2GL (например, Visual Basic, C, C ++, COBOL, FORT-

RAN, Java, Pascal, PL / SQL);

4GL: языки программирования четвёртого поколения; менее сложны и, следовательно, более удобны для программирования, чем 2GL; в отличие от широкого применения 3GL, большинство 4GL используются с базами данных, для запросов, генерации отчетов, обработки данных и т.д. (например , SQL, MySQL);

4

5GL: языки программирования пятого поколения; обычно включают визуальную или графическую среду разработки, которая экспортирует исходный язык в компилятор 3GL или 4GL; 5GL может также относиться к языкам, которые определяют проблему и набор ограничений, а затем позволяют компьютеру найти решение (например, системы искусственного интеллекта, такие как PROLOG, используемые с IBM Watson).

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

Особенности SQL:

непроцедурный язык;

известен как «декларативный язык», позволяет программисту сосредоточиться на вводе и выводе, а не на этапах программы;

язык программирования четвёртого поколения (4GL);

основной язык, используемый для доступа и изменения данных в реляционных базах данных;

стандартизован Американским национальным институтом стандартов

(ANSI).

Такие производители, как Oracle, обычно включают некоторые проприетарные функции SQL в свои среды баз данных. Хотя PL/SQL был разработан после SQL, SQL – это 4GL, а PL/SQL – это 3GL. И SQL, и PL/SQL необходимы.

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

SELECT employee_id, job_id, hire_date

FROM employees;

Например, как написать инструкцию SQL для обновления поля job_id, определяемым текущим значением job_id и hire_date?

Предположим, компания решила перевести всех торговых представителей, представителей по маркетингу и менеджеров, работающих не менее десяти лет, на должности старших представителей и клерков.

Сколько операторов SQL нужно написать для торговых представителей, представителей по маркетингу и клерков на складе?

Что делать, если есть другие обновления job_id?

5

UPDATE employees

SET job_id= 'SR_SA_REP' WHERE job_id= 'SA_REP' AND hire_date<= '05-Feb-2011

UPDATE employees

SET job_id= 'SR_ST_CLERK' WHERE job_id= 'ST_CLERK' AND hire_date<= '05-Feb-2011'

Потребуется написать отдельный оператор SQL для каждого job_id, который необходимо обновить.

В зависимости от количества job_id это может стать тяжелой задачей. Было бы проще написать одну общую инструкцию для выполнения этой задачи. Это потребует логики, иначе известной как процедурная логика.

PL/SQL расширяет SQL процедурной логикой и позволяет написать один оператор для выполнения этой задачи.

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

DECLARE

CURSOR c_employeesIS SELECT * FROM employees; BEGIN

FOR c_empin c_employees

LOOP

IF c_emp.job_id= 'SA_REP' AND c_emp.hire_date<= '05-Feb-

2005' THEN

UPDATE employees SET job_id= 'SR_SA_REP' WHERE employee_id= c_emp.employee_id;

ELSIF c_emp.job_id= 'MK_REP' AND c_emp.hire_date<= '05-

Feb-2005' THEN

UPDATE employees SET job_id= 'SR_MK_REP' WHERE employee_id= c_emp.employee_id;

ELSIF c_emp.job_id= 'ST_CLERK' AND c_emp.hire_date<= '05-

Feb-2005' THEN

UPDATE employees SET job_id= 'SR_ST_CLRK' WHERE employee_id= c_emp.employee_id;

END IF;

END LOOP;

END;

6

Таким образом, PL/SQL можно использовать для написания процедурного кода и встраивания операторов SQL в код PL/SQL.

Процедурный код включает переменные, константы, курсоры, условную логику и итерацию.

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

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

На рисунке 1.1 представлено несколько конструкций PL/SQL. Характеристики PL/SQL:

хорошо структурированный, читаемый и доступный язык;

стандартный и переносимый язык для разработки Oracle;

встроенный язык, использующий SQL;

высокопроизводительный язык баз данных с высокой степенью инте-

грации;

основан на языке программирования Ada и имеет много общего по синтаксису.

Таким образом, PL/SQL – это процедурный язык корпорации Oracle для реляционных баз данных, который позволяет комбинировать логику программы и поток управления с операторами SQL.

Процедурные конструкции включают переменные, константы, курсоры, условную логику и итерацию.

Рис. 1.1. Примеры конструкций PL/SQL

7

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]