Всего за 239.9 руб. Купить полную версию
Но на практике этого не произошло, наоборот, в настоящее время считается общепризнанным факт, что только часть данных, которые необходимо обрабатывать, являются структурированными. Поэтому сейчас разрабатываются и уже разработаны СУБД, способные обрабатывать различные виды данных. Однако и в этих СУБД обработка структурированных данных играет важнейшую роль.
К настоящему времени создано и используется значительное количество СУБД. Однако ответить на вопрос, какая СУБД является наилучшей, вряд ли возможно. Для каждой области применения существует своя «оптимальная» СУБД, и выбор является многокритериальной задачей. При выборе СУБД следует в первую очередь учитывать следующие критерии: быстродействие, надежность, стоимость, сложность эксплуатации, наличие эффективных средств разработки приложений.
Почему была выбрана СУБД Oracle? Кроме уже упоминавшегося в предисловии хорошего соотношения спрос/предложение на рынке труда, изучение принципов обработки данных в среде этой СУБД актуально по следующим причинам. Во-первых, PL/SQL, используемый для обработки данных, имеет в своем составе широкий спектр конструкций, позволяющих эффективно решать эти задачи. К таким конструкциям, которые рассматриваются в этой книге, можно отнести курсоры, коллекции, динамические SQL и PL/SQL. Во-вторых, характерной особенностью СУБД Oracle является возможность хранения и обработки различных видов данных: структурированных, текстовых, графических, аудио и видео. В-третьих, корпорация Oracle в настоящее время активно развивает облачные технологии обработки данных и предоставляет доступ к этим технологиям. Поэтому освоение принципов обработки данных в среде СУБД Oracle облегчит изучение и использование этих технологий
Почти все современные СУБД используют для создания, управления и манипулирования данными язык структурированных запросов Structured Query Language (SQL). Однако возможности, которые предоставляет SQL, недостаточны для решения ряда сложных задач. Поэтому большинство СУБД используют языковые расширения SQL, которые позволяют использовать средства процедурных языков программирования переменные, условные операторы, операторы циклов совместно с операторами SQL
В СУБД Oracle для этого используется процедурный язык программирования PL/SQL. Это сокращение от «Procedural Language extensions to the Structured Query Language», что в переводе с английского языка означает «процедурные языковые расширения для структурированного языка запросов».
Обработка данных, содержащихся в базе, может осуществляться как средствами самой СУБД, так и средствами приложений, взаимодействующих с базой данных. Основное назначение PL/SQL состоит в разработке хранимых процедур и функций, которые осуществляют обработку данных на сервере.
В процессе
работы над книгой была использована Oracle Database 18c Express Edition. Эта версия бесплатна, но обладает широкими функциональными возможностями. Разработка, отладка и выполнение SQL-запросов и программ PL/SQL осуществлялись средствами визуальной среды Oracle SQL Developer версии 19.1.0.
ЧАСТЬ 1. ОПИСАНИЕ ИСПОЛЬЗУЕМОЙ БАЗЫ ДАННЫХ И СРЕДСТВ РАЗРАБОТКИ
Глава 1. Схема базы данных и среда разработки Oracle SQL Developer
Схема базы данных
В этой книге для создания схемы базы данных использовалась программа Oracle SQL Developer Data Modeler. На рисунке 1.1 показан фрагмент схемы, созданной с помощью этой программы.
Рисунок 1.1. Фрагмент схемы базы данных
Буквой P отмечены столбцы, которые являются первичными ключами, а буквой F столбцы, являющиеся внешними ключами. Связь между таблицами создается путем задания ограничения внешнего ключа.
Например, в приведенном фрагменте связь между таблицами Employees и Departments установлена путем определения ограничения внешнего ключа для столбца department_id в таблице Employees. Это означает что значение столбца department_id в таблице Employees должно совпадать с одним из значений одноименного столбца в таблице Departments или иметь значение NULL. За соблюдением этого ограничения будет следить СУБД и не допустит его нарушения. Буква U означает, что для этого столбца установлено ограничение уникальности значения. Это значит, что значение столбца не может повторяться. Символом * отмечены столбцы, которые не могут иметь значения NULL.
При создании SQL-запросов и программ PL/SQL нужно иметь четкое представление о структуре базы данных, с которой вы работаете, и знать бизнес-правила и ограничения, которые существуют в предметной области. Часть ограничений может быть реализована средствами языка определения данных, за их соблюдением будет следить СУБД и не допускать нарушения этих ограничений. Но существуют бизнес-правила и ограничения, которые должен отслеживать и обеспечивать программист.
Основу используемой в этой книге базы данных составляют таблицы демонстрационной базы СУБД Oracle Human Resources (HR). Human Resources база данных, в которой хранятся данные отдела кадров некоторой компании. На рисунке 1.2 представлены основные таблицы этой базы данных и показаны связи между ними.