Введение 4
Лабораторная работа №1. Создание и заполнение базы данных в СУБД Oracle 6
Лабораторная работа №2. Создание запросов 21
Лабораторная работа №3. Создание и использование представлений 32
Лабораторная работа №4. Процедуры, функции и пакеты PL/SQL 39
Лабораторная работа №5. Триггеры 73
Лабораторная работа №6. Динамический SQL 91
Приложение 1. Вcтроенные функции СУБД Oracle 114
Приложение 2. Варианты заданий для создания индивидуальной БД 118
Приложение 3. Варианты заданий для написания запросов 122
Приложение 4. Исключительные ситуации Oracle 129
Приложение 5. Варианты заданий для написания процедур и функций 130
Приложение 6. Варианты заданий для написания триггеров 137
Список использованных источников… 146
ВВЕДЕНИЕ
Язык структурированных запросов – SQL (Structure Query Language) – это стандартный язык управления реляционными базами данных (РБД). Реляцион- ная база данных – это база данных (БД), разделенная на логически цельные сегменты, называемые таблицами, которые внутри БД связаны между собой, что обеспечивает оптимальное представление данных и возможность организа- ции нескольких уровней доступа.
Прототип языка структурированных запросов был разработан фирмой IBM на основе предложений доктора Эдгара Франка Кодда в статье «Реляцион- ная модель данных для больших банков данных общего пользования». В 1979 году появился первый коммерческий продукт с использованием SQL под названием Oracle, который был выпущен компанией Relational Software, Incorporated (впоследствии переименованной в Oracle Corporation). Сегодня компания Oracle является одним из лидеров в области реализации технологий РБД. В первый раз SQL был утвержден стандартным языком в области управ- ления базами данных в 1986 году. Основные виды команд, реализующих в SQL выполнение различных функций, описаны ниже.
Язык определения данных (DDL) предоставляет пользователю возмож- ность создавать различные объекты базы данных (TABLE, INDEX, VIEW, SYNONYM и т. д.) и переопределять их структуру. Основные команды DDL: CREATE, ALTER, DROP.
Язык манипуляций данными (DML) предоставляет пользователю воз- можность манипулировать данными внутри объектов РБД. Основные команды DML: INSERT, UPDATE, DELETE.
Язык запросов к данным (DQL) является самой важной частью SQL. Ко- манда SELECT, имеющая множество опций и необязательных параметров, ис- пользуется для построения запросов к РБД. С ее помощью можно конструиро- вать запросы любой сложности.
Команды языка управления данными (DCL) обычно используются для со- здания объектов, относящихся к управлению доступом пользователей, а также для назначения пользователям уровней привилегий доступа к данным в базе. Основные команды DCL: GRANT, REVOKE.
Команды администрирования данных дают пользователю возможность выполнять аудит и анализ операций внутри базы данных. Эти команды могут также помочь при анализе производительности системы данных.
Команды управления транзакциями используются для сохранения или отмены транзакции, основные из них: COMMIT, ROLLBACK, SAVEPOINT.
Язык SQL в настоящее время поддерживается большинством систем управления базами данных (СУБД) с различными отклонениями от стандарта, регламентирующего общие правила написания SQL-инструкций. Главным отли- чием языка SQL от других языков программирования является его «непроцедур- ность», т. е. посредством инструкций SQL просто указывается что сделать и ка-
кая информация из БД необходима, а как именно и откуда она извлекается определяется СУБД. Поэтому в любой СУБД для полноценной работы с базой всегда существует программное расширение SQL.
Так, PL/SQL – это процедурно-ориентированный язык, созданный для об- легчения обработки команд SQL в СУБД Oracle. Его можно использовать для написания хранимых процедур, функций, исполняемых в этой СУБД. Кроме того, этот язык можно применять и в клиентских приложениях [1].
Лабораторный практикум включает шесть лабораторных работ: три по основам работы с SQL и три – с PL/SQL, которые выполняются через интер- фейс командной строки SQL*Plus. SQL*Plus – это программа-интерпретатор командной строки для работы с СУБД Oracle, в которой могут выполняться ко- манды SQL и PL/SQL в интерактивном виде или из сценария, доступен практи- чески в любой установке программного обеспечения Oracle. Чтобы начать вы- полнение лабораторных работ, необходимо иметь реляционную модель БД, со- зданную на этапе изучения первой части курса ИОСУ в предыдущем семестре.
В лабораторном практикуме используется пакет Oracle Database 11g Express Edition (Oracle Database XE), который является единственной свободно распространяемой версией СУБД Oracle и доступен для скачивания после реги- страции на сайте корпорации https://www.Oracle.com. Работа с СУБД, кроме командной строки SQL*Plus, может выполняться с помощью интуитивно по- нятного веб-интерфейса браузера (так называемый iSQLPlus) и позволяет вы- полнять все основные операции по созданию таблиц баз данных, установлению связей между таблицами, вводу данных, созданию запросов, отчетов, админи- стрированию пользователей, а также писать программы на PL/SQL. Кроме того, можно не устанавливать сервер СУБД Oracle Database XE 11g, а использовать Oracle Application Express (Oracle Apex) – проприетарную среду быстрой разра- ботки прикладного программного обеспечения на основе СУБД Oracle Database, целиком реализованную как веб-приложение и предоставляющую возможность получить 25 ГБ пространства на облачном сервере Oracle по ссылке https://apex.Oracle.com.