ЧАСТЬ 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 представлены основные таблицы этой базы данных и показаны связи между ними.
Рисунок 1.2. Основные таблицы базы данных Human Resources
Рассмотрим назначение этих таблиц и свойства некоторых столбцов. В таблице Employees содержатся данные о сотрудниках. Каждый сотрудник компании имеет уникальный идентификационный номер (employee_id), идентификационный номер должности (job_id), ставку заработной платы (salary) и менеджера (manager_id). Некоторые сотрудники в дополнение к зарплате получают комиссионные (commission_pct). Размер комиссионных определяется как часть от заработной платы. Столбец job_id используется для установления связи с таблицей Jobs, и для него определено ограничение внешнего ключа. Следствием этого является то, что значение данного столбца должно совпадать с одним из значений столбца job_id в таблице Jobs или иметь неопределенное значение NULL. Это ограничение обеспечивается средствами СУБД. Аналогичными свойствами обладает столбец department_id, который используется для установления связи с таблицей Departments.
В таблице Jobs содержится информация обо всех возможных должностях в организации. Каждая должность имеет уникальный идентификационный номер (job_id), наименование (job_title), минимальную (min_salary) и максимальную ставку заработной платы (max_salary).
Данные об отделах содержатся в таблице Departments. Каждый отдел имеет уникальный код (department_id), руководителя (manager_id), наименование (department_name), а также одно место расположения (location_id). Значение столбца manager_id должно совпадать со значением столбца employee_id в таблице Employees.
Эта компания имеет распределенную структуру, поэтому в таблице Locations хранятся данные о местонахождении отделов, которые состоят из адреса (street_address), почтового индекса (postal_code), названия города (city), названия штата (state_province) и кода страны (country_id). В таблице Locations также содержатся данные о населенных пунктах, в которых пока нет отделов.
Для того чтобы расширить спектр рассматриваемых задач, к уже рассмотренным таблицам были добавлены таблицы: Products, Orders, Customers Эти таблицы используются во многих демонстрационных базах. После добавления этих таблиц была получена схема базы данных HR_POC, используемая в этой книге, рисунок 1.3. Неиспользуемые таблицы были удалены. Ссылка для скачивания этой схемы: HR_POC (https://yadi.sk/d/_cFzi0CMazFIdg).
При решении некоторых задач, рассматриваемых в этой книге, в базу данных были добавлены вспомогательные таблицы. Ссылка для скачивания схемы, которая содержит вспомогательные таблицы:HR_POC_T (https://yadi.sk/d/a3XxApDuj2Ksxw).
Рисунок 1.3. Схема базы данных HR_POC
Разберем назначение некоторых столбцов в таблицах Products, Orders, Customers и сформулируем бизнес-правила, которые могут быть определены с их использованием.
Столбец status в таблице Orders определяет состояние заказа и может принимать следующие значения: Pending — «в ожидании», Shipped — «отправлен», Canceled — «отменен». Используя этот столбец, сформулируем следующее бизнес-правило: можно изменить содержимое заказа, который находится в состоянии Pending, но нельзя изменить содержимое заказа, который находится в состоянии Shipped
Столбец credit_limit в таблице Customers содержит значение кредитного лимита клиента. Используя этот столбец можно сформулировать следующее правило: запретить оформление заказа, если общая сумма заказов клиента, находящихся в состоянии Pending, превышает его кредитный лимит. В этих таблицах отсутствуют данные об оплате заказов, поэтому будем считать, что заказы, находящиеся в состоянии Shipped, оплачены, а заказы, находящиеся в состоянии Pending, — нет.
Столбец price в таблице Products содержит текущую цену товара, а столбец unit_price в таблице Order_Items — цену, по которой он был продан. Разница между этими значениями может возникать из-за того, что клиенту предоставлена скидка. Также со временем значение price может измениться, а значение unit_price — нет.
В таблицу Employees был добавлен столбец rating_e. Значение элементов этого столбца целочисленные и должны лежать в диапазоне от 1 до 5. Будем считать, что значение столбца rating_e отражает квалификацию сотрудника.
В таблице Products содержится столбец rating_p. Значения элементов этого столбца также должны лежать в диапазоне от 1 до 5 и отражают сложность товара.
Используя эти столбцы, можно сформулировать следующее бизнес-правило: сотрудник имеет право продавать товары, рейтинг которых не превышает его рейтинга. Это бизнес-правило мы будем неоднократно использовать при решении задач.
Oracle SQL Developer
Oracle SQL Developer — это визуальная среда для создания, отладки и выполнения SQL-запросов и программ PL/SQL. Oracle SQL Developer позволяет создавать и редактировать объекты базы данных, управлять ими, импортировать и экспортировать данные, а также создавать всевозможные отчеты.
После запуска Oracle SQL Developer на экране появляется главное окно, представленное на рисунке 1.4.
Окно SQL Developer содержит три основные области:
— область Connections («Соединения») предназначена для создания соединений с базой данных;
— область Worksheet («Рабочее пространство») используется для ввода, редактирования и запуска запросов SQL и программ PL/SQL;
— область Reports («Отчеты») позволяет запускать предварительно определенные отчеты или создавать и добавлять собственные отчеты.
Рисунок 1.4. Главное окно Oracle SQL Developer
Для того чтобы приступить к работе с базой данных, необходимо создать соединение с ней. При запуске SQL Developer в области Connections отображаются все доступные соединения. Установить соединение можно только с существующей базой данных (схемой). Изначально после установки СУБД существует только схема администратора базы данных — system. Остальные схемы создает администратор. Имя схемы совпадает с именем пользователя. Команды создания пользователей и предоставления им привилегий будут рассмотрены позже.
Для создания нового соединения следует нажать кнопку New Connections, которая расположена на панели инструментов в области Connections. На экране появится диалоговое окно для создания подключений к базе данных (рисунок 1.5).
Имя соединения (Name) может быть произвольным, а имя пользователя и пароль должны быть предварительно заданы администратором. Имя пользователя должно начинаться с символов c##. Для одного пользователя (схемы базы данных) можно создать несколько соединений. При входе по любому из этих соединений вы будете работать с одной и той же базой данных. Значения Hostname и SID или Servce_name следует взять из файла tnsnames. ora в папке c:\app\user\product\18.0.0\dbhomexe\network\admin.
Рисунок 1.5. Окно для создания подключений к базе данных
После ввода всех параметров рекомендуется сначала нажать кнопку Test. Если проверка пройдет успешно, то в строке Status появится сообщение Success. В противном случае будет выведено сообщение об ошибке. Если ошибок не будет обнаружено, то следует нажать кнопку Connect и приступить к работе с базой данных.
После создания соединения с базой данных можно использовать область соединения для просмотра данных об объектах базы данных, включая таблицы, представления, индексы, пакеты, процедуры, триггеры.
Для того чтобы разорвать установленное соединение, следует щелкнуть на его имени правой кнопкой и в появившемся контекстном меню выбрать команду Disconnect.
Рассмотрим основные операции, которые можно выполнить, используя Oracle SQL Developer. Разберем случай, когда база данных уже создана, созданы таблицы и они заполнены данными. Нажав кнопку + рядом с именем соединения мы увидим объекты базы данных, для которой создано это соединение.
Самыми важными объектами базы данных являются таблицы. Для того чтобы увидеть список таблиц, существующих в базе данных, и получить возможность выполнять с таблицами различные действия, следует нажать кнопку + рядом с узлом Tables. Если после этого сделать двойной щелчок на имени таблицы, то в рабочей области появится окно, которое содержит несколько вкладок. Используя эти вкладки, можно просматривать данные о таблице и вносить в нее изменения.
На рисунке 1.6 показана вкладка Columns, в которой отображены столбцы таблицы Customers. Операции, которые вы можете выполнить с таблицей, содержатся в раскрывающемся списке Actions (рисунок 1.7).
Рисунок 1.6. Вкладка Columns
Рисунок 1.7. Раскрывающийся список Actions
На вкладке Data (рисунок 1.9), где отображается содержимое таблицы, можно просматривать и редактировать данные, содержащиеся в таблице.
Рисунок 1.9. Вкладка Data
На вкладке Model (рисунок 1.10) в графическом виде отображаются структура таблицы и ее связи с другими таблицами.
Рисунок 1.10. Вкладка Model
Использование рабочей области (SQL Worksheet)
При установлении соединения с базой данных автоматически открывается окно рабочей области (SQL Worksheet) для этого соединения. Это окно можно использовать для ввода, редактирования и выполнения операторов SQL и программ PL/SQL.
Для одного соединения можно создать несколько рабочих областей. Новую рабочую область можно создать, используя кнопку SQL Worksheet на панели инструментов или комбинацию клавиш Alt—F10. При создании новой рабочей области нужно выбрать соединение, для которого она будет использована. Рабочая область имеет собственную панель инструментов (рисунок 1.11).
Рисунок 1.11. Панель инструментов SQL Worksheet
Эта панель содержит значки, предназначенные для решения следующих задач:
— Run Statement: выполняет оператор, в котором находится курсор «переменные».
— Run Script: выполняет все операторы в рабочей области.
— Explain Plan: создает план выполнения. План выполнения — это последовательность операций, которые будут выполнены при выполнении оператора. План выполнения показывает исходное дерево строк с иерархией операций, составляющих оператор.
— Autotrace: генерирует информацию трассировки для оператора. Эта информация может помочь определить операторы SQL, которые выиграют от настройки.
— SQL Tuning Advisory: анализирует объемные операторы SQL и предлагает рекомендации по настройке.
— Commit: записывает любые изменения в базу данных и завершает транзакцию.
— Rollback: отменяет любые изменения в базе данных, не записывая их в базу данных, и завершает транзакцию.
— Unshared SQL Worksheet: создает новую рабочую область для соединения.
— To Upper / Lower / InitCap: изменяет выделенный текст на прописные, строчные или initcap соответственно.
— Clear: стирает оператор или операторы в поле «Ввести оператор SQL».
— SQL History: отображает диалоговое окно с информацией о выполненных операторах SQL.
Для выполнения оператора SQL, размещенного в рабочей обрасти, следует нажать кнопку Run Statement на панели инструментов, или функциональную клавишу F9. На рисунке 1.12 показан пример выполнения оператора SQL.
Если рабочая область содержит несколько операторов SQL или PL/SQL, то их можно выполнить, нажав кнопку Run Script на панели инструментов или функциональную клавишу F5. На рисунке 1.13 показан пример выполнения нескольких операторов SQL. Следует обратить внимание на то, что вешний вид результатов при использовании кнопки Run Script отличается от внешнего вида результатов при использовании кнопки Run Statement.
Примечание: кнопка Run Script обычно используется для запуска операторов PL/SQL.
Рисунок 1.12. Пример выполнения одного оператора SQL
Рисунок 1.13. Пример выполнения нескольких операторов SQL
Экспорт и сохранение результатов выполнения запроса
Если для запуска оператора SQL использовалась кнопка Run Statement, то результаты выполнения запроса можно сохранить в определенном формате для дальнейшего использования и обработки. Для того чтобы выполнить эту операцию, нужно щелкнуть правой кнопкой и в появившемся контекстном меню (рисунок 1.14) выбрать команду Export.
В результате этих действий будет запушен мастер экспорта. В первом окне (рисунок 1.15) нужно выбрать формат, месторасположение и имя файла. На рисунке 1.16 показано содержимое файла export. xls, который содержит результат выполнения запроса.
Рисунок.1.14. Выбор команды Export
Рисунок 1.15. Выбор формата, месторасположения и имени файла
Рисунок 1.16. Результат экспорта — файл в формате xls
Сохранение операторов SQL
Для того чтобы сохранить операторы SQL в текстовом файле, следует нажать кнопку Save на панели инструментов или выбрать команду меню File — Save. На экране появится диалоговое окно Save (рисунок 1.17), в котором можно выбрать место сохранения и ввести имя файла.
Рисунок 1.17. Диалоговое окно Save
Выполнить сохраненные операторы SQL можно двумя способами:
Первый способ. Используя команду меню File — Open, открыть сохраненный файл, содержащий операторы SQL, и выполнить эти операторы кнопками Run Statement или Run Script (рисунок 1.18.
Рисунок 1.18. Первый способ выполнения операторов SQL
Второй способ. В рабочую область ввести команду, которая начинается с символа @ и содержит путь к файлу, и выполнить эту команду, используя кнопку Run Script. На рисунке 1.19 показан пример применения этого способа выполнения сохраненных операторов SQL.
Рисунок 1.19. Второй способ выполнения операторов SQL
Экспорт базы данных
Используя Oracle SQL Developer, можно осуществить экспорт базы данных в файл, который будет содержать DDL-операторы создания таблиц и существующих ограничений и операторы INSERT для заполнения таблиц данными. Этот способ позволяет легко копировать небольшие базы данных с одного компьютера на другой.
На компьютере, куда копируется база данных, нужно создать схему, установить с ней соединение, открыть и выполнить файл, полученный в результате экспорта.
Для осуществления экспорта нужно выбрать команду Tools — Database Export. В результате на экране появится окно (рисунок 1.20), в котором нужно выбрать экспортируемую схему, имя и расположение файла, куда будут экспортироваться данные. Рекомендуется снять флажок Show Schema. Если этого не сделать, то все операторы будут содержать имя экспортируемой схемы, что усложнит процесс копирования. На компьютере, куда копируется база, нужно будет обязательно создать схему, имя которой должно совпадать с именем копируемой схемы.
Рисунок 1.20. Окно экспорта
Полученный в результате экспорта файл можно использовать для графического отображения таблиц базы данных и связей между ними. Для этого данный файл нужно импортировать в программу Oracle SQL Developer Data Modeler. Так были получены схемы баз данных, которые рассматривались в предыдущем разделе.
Можно настроить многие параметры SQL Developer в соответствии со своими предпочтениями и потребностями. Для этого нужно выбрать в меню Tools команду Preferences. В качестве примера рассмотрим настройки параметров Database: NLS (рисунок 1.21).
Здесь указываются значения для параметров поддержки глобализации, такие как язык, территория, предпочтения сортировки и формат даты. Эти значения параметров используются для операций сеанса SQL Developer. Указанные на этой панели настройки не влияют на настройки СУБД. Чтобы изменить настройки СУБД, необходимо изменить соответствующие параметры, используя специальные команды, и перезапустить базу данных.
Рисунок 1.21. Настройка параметров Database: NLS
Создание пользователей и предоставление привилегий
Все действия с базой данных, включая создание ее объектов, осуществляются пользователями, поэтому на первом этапе необходимо создать пользователя и предоставить ему необходимые права (привилегии) для работы с базой данных.
Эту операцию должен выполнить администратор базы данных. По умолчанию администратором базы данных является пользователь SYSTEM.
Для создания нового пользователя используется команда CREATE USER. Упрощенный синтаксис этой команды имеет следующий вид:
CREATE USER {имя пользователя} IDENTIFIED BY {пароль}
DEFAULT TABLESPACE tablespace_name
QUOTA size (K M G) UNLIMITED ON tablespace_name;
где:
— tablespace_name — имя области данных, в которой будут создаваться объекты пользователя. Если имя области данных не указано, то объекты пользователя по умолчанию создаются в области данных SYSTEM;
— tablespace_tmp — имя области данных для временных объектов пользователя. Если имя области данных не указано, то временные объекты создаются в области данных SYSTEM;
— size — размер используемого пространства для области данных TABLESPACE в килобайтах (К), мегабайтах (М) и гигабайтах (G). Ключевое слово UNLIMITED используется для предоставления пространства неограниченного размера.
Пример:
CREATE USER C##HR_POC IDENTIFIED BY PASS123
DEFAULT TABLESPACE USERS
QUOTA 500M ON USERS;
Изменение пароля осуществляется командой:
ALTER USER {имя пользователя} IDENTIFIED BY {пароль};
Например:
ALTER USER C##HR_POC IDENTIFIED BY PASS456;
Для просмотра данных об объектах пользователя можно использовать следующий запрос:
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED,
STATUS
FROM SYS. DBA_OBJECTS
WHERE OWNER = ′ {имя пользователя} ′;
Например:
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED, STATUS
FROM SYS. DBA_OBJECTS
WHERE OWNER = ′ C##HR_POC ′;
Для того чтобы получить имена пользователей, зарегистрированных на сервере, следует выполнить следующий запрос:
SELECT USERNAME FROM DBA_USERS ORDER BY 1;
Для удаления пользователя и принадлежащей ему схемы служит команда:
DROP USER {имя пользователя} CASCADE;
После создания пользователя ему необходимо предоставить привилегии (права), которые определяют, какие действия может выполнять пользователь. Привилегии, предоставленные пользователю, могут меняться с течением времени: можно отменить (отозвать) имеющиеся привилегии или добавить новые.
Привилегии делятся на системные и объектные. В таблице 1.1 приведены основные системные привилегии, которые администратор может предоставить пользователю, а таблица 1.2 содержит основные объектные привилегии.
Таблица 1.1. Основные системные привилегии
Таблица 1.2. Основные объектные привилегии
Для предоставления пользователю системных привилегий используется команда GRANT, которая имеет следующий синтаксис:
GRANT {имя привилегии} ON {имя пользователя};
Пример предоставления системных привилегий пользователю:
GRANT CREATE SESSION, CREATE TABLE ON C##HR_POC;
Для отзыва привилегии используется команда:
REVOKE {имя привилегии} ON {имя пользователя};
Пример отзыва системной привилегии у пользователя:
REVOKE CREATE TABLE ON C##HR_POC;
Для предоставления пользователю объектных привилегий используется команда GRANT, которая имеет следующий синтаксис:
GRANT {имя привилегии} ({список столбцов}) ON {имя таблицы}
TO {имя пользователя};
где: ({список столбцов}) — список столбцов, для которых предоставляется привилегия. Если column_list отсутствует, то привилегия предоставляется для всех столбцов.
Пример предоставления объектной привилегии:
GRANT UPDATE (RATING_E, SALARY) ON EMPLOYEES TO C##HR_POC;
Для отзыва привилегии используется команда:
REVOKE {имя привилегии} ({список столбцов})
ON {имя таблицы} TO {имя пользователя};
Пример отзыва объектной привилегии:
REVOKE UPDATE (SALARY) ON EMPLOYEES TO C##HR_POC;
Для того чтобы увидеть какие системные привилегии предоставлены пользователю, следует выполнить запрос
SELECT *
FROM USER_SYS_PRIVS;
Для просмотра объектных привилегий служит запрос
SELECT *
FROM USER_TAB_PRIVS_MADE
Привилегии могут быть сгруппированы в роли. Роль определяет список привилегий, предоставляемых пользователю. Существуют предопределенные роли, которые администратор может назначить пользователю. Таблица 1.3 содержит список наиболее часто используемых предопределенных ролей.
Таблица 1.3. Список имен предопределенных ролей
Используя команду
GRANT {имя роли} ON {имя пользователя};
можно назначить пользователю список привилегий, определенных для роли.
Часть назначенных привилегий можно отозвать, используя команду
REVOKE {имя привилегии} ON {имя пользователя};
Для отзыва всех привилегий, назначенных ролью, следует использовать команду:
REVOKE {имя роли} ON {имя пользователя};
Следует иметь в виду, что роль RESOURCE включает предоставление привилегии UNLIMITED TABLESPACE и не включает привилегию CREATE VIEW. Учитывая это, привилегии, которые следует предоставлять пользователям, не являющимся администраторами базы данных, можно предоставить командой:
GRANT CONNECT, RESOURCE, CREATE VIEW TO {имя пользователя};
Oracle SQL Developer — это среда разработки от компании Oracle, которая поддерживает язык SQL и PL/SQL, а также предоставляет возможность для администрирования баз данных.
Открываем страницу на официальном сайте Oracle и выбираем необходимый дистрибутив для установки, в нашем случае это будет — Windows 64-bit with JDK 11 included.
https://www.oracle.com/database/sqldeveloper/technologies/download/
После окончания загрузки выполняем распаковку архива, и запускаем — sqldeveloper.exe, для дальнейшей настройки.
SQL Developer загрузился и автоматически открылась страница с приветствием. Наша задача, создать новое подключение к базе данных XEPDB1.
Нажимаем на иконку в виде — Зелёного плюса (New connection).
Открылось окно для создания нового подключения, необходимо указать реквизиты для подключения:
- Name — имя подключения (может быть любым);
- Username — имя пользователя (указываем имя системной учётной записи SYS);
- Password — пароль системной учётной записи SYS (пароль, который был указан во время установки Oracle Database 21c Express Edition);
- Role — SYSDBA (системная учётная запись SYS является администратором сервера, поэтому выбираем данную роль);
- Hostname — адрес сервера, если Oracle Database XE находится на этом же компьютере, то в поле оставляем значение localhost;
- Port — порт подключения (по умолчанию 1521);
- Service name — имя базы данных Oracle Database XE. По умолчанию в Oracle Database 21c Express Edition создается база данных с именем XEPDB1, поэтому для подключения к этой базе, вводим значение XEPDB1 в это поле.
После того, как были указаны все необходимые реквизиты, можно выполнить проверку подключения по этим реквизитам. Нажимаем на кнопку — Test, и если в ответ получено сообщение — Status: Success (сообщение выводится в левом нижнем углу), то это означает, что все реквизиты указаны верно.
Для сохранения настроек подключения, нажимаем — Save.
Метки: Oracle.
Oracle SQL Developer — это удобная интегрированная среда разработки, предназначенная для работы с базами данных Oracle. Она позволяет разработчикам и администраторам эффективно создавать, редактировать, отлаживать и оптимизировать SQL-скрипты.
Установка и настройка Oracle SQL Developer на русском языке особенно актуальна для русскоязычных пользователей, которым необходимо работать с этой программой на родном языке. В данной статье мы рассмотрим, как установить и настроить Oracle SQL Developer на русском языке.
Первым шагом является установка самой программы. Зайдите на официальный сайт Oracle и загрузите последнюю версию Oracle SQL Developer для вашей операционной системы. После завершения загрузки запустите установочный файл и следуйте инструкциям мастера установки. По умолчанию, программа будет установлена на английском языке.
Для установки Oracle SQL Developer на русском языке необходимо скачать дополнительный файл с переводом. Для этого зайдите на официальный сайт Oracle, найдите страницу загрузки Oracle SQL Developer и выберите вкладку «Additional language support». Здесь вы сможете найти файлы для установки русского языка.
После того, как вы скачали файл с русским переводом, запустите программу Oracle SQL Developer и откройте меню «Help». В нем выберите пункт «Check for Updates». В появившемся окне нажмите на кнопку «Add» и укажите путь к скачанному файлу с русским переводом. После этого программа автоматически установит русский язык.
Содержание
- Как установить Oracle SQL Developer?
- Шаги по установке Oracle SQL Developer на русском языке
- Настройка Oracle SQL Developer на русском
- Как настроить соединение с базой данных в Oracle SQL Developer?
- Как настроить отображение данных на русском языке?
- Oracle SQL Developer: основные функции
Как установить Oracle SQL Developer?
Шаг 1: Посетите официальный сайт Oracle и перейдите на страницу загрузки Oracle SQL Developer.
Шаг 2: На странице загрузки, выберите соответствующую версию Oracle SQL Developer для вашей операционной системы (Windows, macOS или Linux) и нажмите «Download».
Шаг 3: После завершения загрузки, откройте установщик Oracle SQL Developer.
Шаг 4: В диалоговом окне установщика, следуйте инструкциям, принимая все устанавливаемые параметры по умолчанию. Вы можете изменить директорию установки, если необходимо.
Шаг 5: По завершении установки, запустите Oracle SQL Developer из меню «Пуск» (Windows) или Launchpad (macOS). При первом запуске, вас попросят указать путь к Java Development Kit (JDK).
Шаг 6: Если JDK не установлен на вашем компьютере, загрузите и установите его с официального сайта Oracle. После установки JDK, повторно запустите Oracle SQL Developer и укажите путь к установленному JDK.
Поздравляю! Теперь у вас установлен Oracle SQL Developer и вы готовы начать работу с базами данных Oracle.
Шаги по установке Oracle SQL Developer на русском языке
Шаг 1: Перейдите на официальный веб-сайт Oracle и скачайте последнюю версию Oracle SQL Developer для вашей операционной системы.
Шаг 2: После загрузки файла установки, запустите его и следуйте инструкциям мастера установки.
Шаг 3: Во время установки вам будет предложено выбрать язык интерфейса. Выберите русский язык из списка доступных языков.
Шаг 4: Продолжайте установку, принимая все стандартные настройки, если только вам не требуется что-то конкретное.
Шаг 5: По завершении установки, запустите Oracle SQL Developer. Интерфейс будет отображаться на русском языке.
Шаг 6: Если вы хотите настроить соединение с базой данных, выберите меню «Соединение» и затем «Добавить соединение».
Шаг 7: Введите необходимые данные для подключения к вашей базе данных: имя пользователя, пароль, адрес сервера и порт.
Шаг 8: Щелкните на кнопку «Тест» для проверки соединения. Если все настроено правильно, вы увидите сообщение, подтверждающее успешное подключение.
Шаг 9: После настройки соединения вы сможете выполнять запросы SQL, просматривать и редактировать данные в базе данных Oracle.
Теперь вы можете использовать Oracle SQL Developer на русском языке и настраивать соединения с базой данных для управления данными.
Настройка Oracle SQL Developer на русском
Чтобы настроить Oracle SQL Developer на русский язык, выполните следующие шаги:
1. Запустите Oracle SQL Developer.
2. В верхнем меню выберите «Tools» -> «Preferences».
3. В открывшемся окне Preferences выберите вкладку «Database» -> «NLS».
4. В разделе «User Interface» выберите «English (United States)» в выпадающем списке «Language».
5. Нажмите кнопку «Apply» для сохранения выбранных настроек.
6. Вернитесь к верхнему меню и выберите «File» -> «Exit» для закрытия Oracle SQL Developer.
7. Перезапустите Oracle SQL Developer, чтобы изменения вступили в силу.
Теперь Oracle SQL Developer будет использовать русский язык в своем интерфейсе. Вы можете использовать его для разработки и управления базами данных Oracle на русском языке.
При необходимости вы можете вернуться к английскому интерфейсу, повторно выполните вышеуказанные шаги и выберите «English (United States)» вместо «Русский» в настройках языка.
Как настроить соединение с базой данных в Oracle SQL Developer?
- Запустите Oracle SQL Developer.
- В верхней части окна выберите вкладку «Соединения».
- Нажмите правой кнопкой мыши на папке «Соединения» и выберите пункт «Добавить соединение».
- В появившемся окне введите имя соединения, например «Моя база данных».
- В разделе «Имя пользователя» введите имя пользователя базы данных, к которой хотите подключиться.
- В разделе «Пароль» введите пароль пользователя.
- В разделе «Имя хоста» введите имя компьютера или IP-адрес, на котором расположена база данных.
- В разделе «Порт» введите порт базы данных. Обычно это значение по умолчанию 1521.
- Выберите тип соединения, например «Basic».
- Нажмите кнопку «Тест» для проверки соединения. Если тест прошел успешно, вы увидите сообщение «Успешное подключение».
- Нажмите кнопку «Сохранить» для сохранения настроек соединения.
После того, как вы настроили соединение с базой данных, вы можете начать использовать Oracle SQL Developer для выполнения запросов, создания таблиц и многого другого. Удачной работы с Oracle SQL Developer!
Как настроить отображение данных на русском языке?
Oracle SQL Developer предоставляет возможность настроить отображение данных на русском языке, что может быть крайне полезно для пользователей, предпочитающих работать на родном языке.
Для того чтобы настроить отображение данных на русском языке, следуйте следующим шагам:
- Откройте Oracle SQL Developer и выберите меню «Tools».
- Выберите «Preferences» во всплывающем меню.
- В окне «Preferences» найдите пункт «Database» и выберите его.
- В списке слева выберите «NLS» (National Language Support).
- В выпадающем списке «Language» выберите «Russian».
- Нажмите «OK», чтобы сохранить настройки.
После выполнения этих шагов данные в Oracle SQL Developer будут отображаться на русском языке.
Теперь вы можете работать с данными на русском языке, что сделает вашу работу более комфортной и удобной.
Oracle SQL Developer: основные функции
1. Работа с запросами:
SQL Developer позволяет выполнять запросы к базе данных и получать результаты в удобной форме. Вы можете писать SQL-запросы с использованием различных инструментов, таких как SQL Worksheet или Query Builder. Также есть возможность сохранять и запускать запросы в партиях, что позволяет автоматизировать повторяющиеся операции.
2. Визуальное моделирование:
SQL Developer предоставляет возможность создавать графические модели баз данных. Вы можете рисовать диаграммы ER (сущность-связь), моделировать схемы баз данных и визуально отображать отношения между таблицами. Это позволяет легко понять структуру базы данных и вносить изменения с помощью простых перетаскиваний.
3. Управление сессиями и подключениями:
SQL Developer позволяет контролировать и управлять подключениями к базе данных. Вы можете просматривать активные сессии, отключать подключения, работать с мультиплексными подключениями и т. д. Это позволяет эффективно управлять работой с базами данных в реальном времени.
4. Автоматизация задач:
SQL Developer предоставляет возможность автоматизации различных задач. Вы можете создавать скрипты и сохранять их в виде проведения. Это позволяет выполнять повторяющиеся операции, такие как создание, изменение или удаление таблиц и т. д., автоматически без необходимости писать их каждый раз вручную.
5. Интеграция с Git и Subversion:
SQL Developer поддерживает интеграцию с распространенными системами контроля версий, такими как Git и Subversion. Это позволяет вам легко управлять историей изменений баз данных, отслеживать и сравнивать различные версии объектов базы данных, а также делать откаты к предыдущим версиям при необходимости.
Содержание
- Установка
- Объекты базы данных
- Приложения
- Группы кэша (Oracle Database TimesTen In-Memory)
- Полномочия
- Назначение базы данных
- Ссылки на базы данных (публичные и частные)
- Целевые группы
- Справочники
- Для чего нужен SQL Developer?
- Где скачать Oracle SQL Developer?
- Установка SQL Developer
- Установка Java SE Development Kit 7u72 (JDK)
- Запуск SQL Developer 4.0.3
- Настраиваем подключение с сервером и базой данных
Oracle SQL Developer для работы с запросами Oracle, преимущества и недостатки, автоматическое построение запросов в Query Builder
Одно из наиболее рекомендованных средств для работы с запросами SQL и программными единицами PL / SQL — это Oracle SQL Developer . Это — «родное» программное средство от корпорации Oracle , которое появилось относительно недавно (в 2005 году). Отметим его самые важные отличия:
- Oracle SQL Developer — полностью бесплатное приложение. Несмотря на это, по своим возможностям и удобству оно не уступает платным средствам ( PL / SQL Developer , Toad , SQL Navigator );
- Oracle SQL Developer написан на языке Java и может использоваться (с одним и тем же графическим интерфейсом) как под Windows , так и под другими операционными системами, например, Linux ;
- Oracle SQL Developer не требует установки на компьютер. Все пользовательские настройки в нем хранятся в файлах XML ;
- Oracle SQL Developer может использоваться для создания запросов к другим системам управления базами данных, например, Microsoft SQL Server , Microsoft Access , MySQL и TimesTen . На многих предприятиях возможность использования единообразного программного средства для создания запросов к разным источникам может быть очень удобной. Правда, отметим, что Oracle SQL Developer знает про базы данных Microsoft далеко не все и лучше использовать его при создании простых запросов к базам данных, отличных от Oracle .
К недостаткам SQL Developer можно отнести несколько непривычный интерфейс (основанный на графических компонентах Java ) и большую ресурсоемкость (особенно с точки зрения оперативной памяти). Кроме того, в Windows все настройки SQL Developer (включая, например, определения пользовательских отчетов и сниппетов) хранятся не в реестре, а в файлах XML в профиле пользователя, что также необходимо учитывать.
Первое, что нужно сделать при работе с Oracle SQL Developer — создать новое соединение с источником данных. Это можно сделать как из меню File | New , так и из окна Connection (нужно щелкнуть правой кнопкой мыши по контейнеру Connections и в контекстном меню выбрать кнопку New ). Откроется окно создание нового соединения (см. рис. 1.4-1).
Рис. 1.4-1 Создание нового соединения в Oracle SQL Developer
После занесения параметров нового соединения в этом окне можно воспользоваться кнопкой Test , чтобы убедиться, что все параметры введены правильно. После этого параметры подключения можно сохранить для последующего использования (кнопка Save ) и выполнить вход на сервер (кнопка Connect ). Откроется окно редактирования кода SQL , в котором можно набирать и выполнять код на SQL и PL / SQL (официально оно называется SQL Worksheet ). Предусмотрен также графический построитель запросов, который можно вызвать, если щелкнуть правой кнопкой мыши по пустому месту в редакторе кода и в контекстном меню выбрать Query Builder (см. рис. 1.4-2).
Рис. 1.4-2 Графический построитель запросов в Oracle SQL Developer
Отметим наиболее важные возможности Oracle SQL Developer .
При помощи контекстного меню для объектов в окне Connections можно выполнить различные административные операции, например, по внесению изменений. При этом для таких операций можно сгенерировать код команды SQL (просмотреть его можно на вкладке SQL соответствующего окна). Отдельно отметим встроенные возможности импорта и экспорта данных для таблиц. При импорте поддерживается единственный формат — Excel , а при экспорте — множество форматов, в том числе Excel ( xls ), CSV , XML , SQL (в виде набора команд INSERT ).
В Oracle SQL Developer реализованы возможности прямого редактирования записей в таблицах баз данных. Для этого нужно в контекстном меню для таблицы в окне Connections выбрать команду Edit , а затем перейти на вкладку Data .
В Oracle SQL Developer предусмотрены средства для отладки кода программных модулей PL / SQL (включая точки останова, пошаговое выполнение, просмотр значений переменных и т.п.). Эти средства в основном доступны из меню Debug .
Заранее заготовленные блоки программного кода доступны из окна Snippets (это окно можно открыть при помощи меню View ). Такие блоки заготовлены как для встроенных функций Oracle SQL , так и для других синтаксических конструкций (операторов условного перехода, циклов, курсоров и т.п.). Набор сниппетов является расширяемым: вы вполне можете добавлять в него свои блоки программного кода.
Для того, чтобы было проще переносить программный код, написанный в расчете на выполнение в SQL Plus , в Oracle SQL Developer предусмотрена поддержка многих синтаксических конструкций SQL Plus (например, обращение к внешним файлам скриптов при помощи символов @ и @@). Однако поддерживаются далеко не все специальные команды SQL Plus .
Если объектов в базе данных много (обычная ситуация для реальных баз данных), и просматривать их все в окне Connection трудно, можно воспользоваться специальным окном поиска объектов. Для этого нужно в меню View воспользоваться командой Find DB Object , затем в открывшемся окне выбрать соединение, ввести имя объекта (можно использовать подстановочные символы) и нажать на Enter . Для объектов в списке результатов из контекстного меню доступны те же возможности, что и для объектов в окне Connections .
Во второй вкладке окна Connections предусмотрены средства работы с отчетами. В основном, правда, эти отчеты предназначены для администраторов баз данных. Можно использовать готовые отчеты и создавать свои (из контекстного меню для контейнера User Defined Reports ). В отчетах предусмотрено использование параметров (например, для отчета, который возвращает все отчеты, принадлежащие какому-либо пользователю, нужно указать его имя).
В Oracle SQL Developer предусмотрены средства переноса информации между различными источниками данных, например, из базы данных SQL Server в Oracle . Средства для выполнения такого переноса сосредоточены в меню Migration .
Oracle SQL Developer
Oracle SQL Developer — интегрированная среда разработки на языках SQL и PL/SQL, с возможностью администрирования баз данных, ориентирована на применение в среде Oracle Database.
Корпорация Oracle предоставляет продукт бесплатно. Сама среда написана на языке программирования Java, работает на всех платформах, где доступна среда выполнения Java SE [Источник 1] .
Oracle SQL Developer представляет собой графическую версию SQL*Plus, которая дает разработчикам баз данных удобный способ выполнения основных задач. Вы можете просматривать, создавать, редактировать и удалять; запускать операторы SQL и скрипты; редактировать и отлаживать код PL/SQL; манипулировать и экспортировать (выгружать) данные; просматривать и создавать отчеты.
Вы можете подключиться к любой целевой схеме Oracle Database, используя стандартную аутентификацию Oracle Database. После подключения вы можете выполнять операции над объектами в базе данных.
Вы можете подключиться к схемам для MySQL и выбранных сторонних (не Oracle) баз данных, таких как Microsoft SQL Server, Sybase Adaptive Server и IBM DB2, а также просматривать метаданные и данные в этих базах данных; и вы можете перенести эти базы данных в Oracle Database.
Установка
Чтобы установить и запустить SQL Developer, вы просто загружаете ZIP-файл и разархивируете его в желаемый родительский каталог или папку, а затем введите команду или дважды щелкните имя файла. Перед выполнением установки вы должны ознакомиться с руководством по установке Oracle SQL Developer. После того как вы прочитали руководство по установке, выполните следующие шаги:
- Разархивируйте SQL Developer Kit в папку (каталог) по вашему выбору, которая будет называться .
Если также установлена Oracle Database (версия 11 или новее), также включена версия SQL Developer и доступна через систему меню под Oracle. Эта версия SQL Developer отделена от любого набора разработчика SQL, который вы загружаете и разархивируете самостоятельно, поэтому не путайте эти два и не распаковывайте набор файлов SQL Developer, которые включены в Oracle Database.
- Чтобы запустить SQL Developer, перейдите в каталог sqldeveloper в каталоге и выполните одно из следующих действий:
- В системах Linux и Mac OS X запустите В системах Windows дважды щелкните файл sqldeveloper.exe .
Если вас попросят ввести полное имя для JDK, нажмите «Обзор» и найдите его. Например, в системе Windows путь может иметь имя, похожее на C:Program FilesJavajdk1.7.0_51 . (Если вы не можете запустить SQL Developer, это может быть связано с ошибкой в определении или настройке JDK.)
- Создайте хотя бы одно соединение с базой данных (или импортируйте некоторые ранее экспортированные соединения), чтобы вы могли просматривать и работать с объектами базы данных, использовать рабочий лист SQL и использовать другие функции.
- Чтобы создать новое соединение с базой данных, щелкните правой кнопкой мыши узел «Соединения» в навигаторе «Подключения», выберите «Новое подключение» и заполните необходимые записи в диалоговом окне «Создать/Редактировать/Выбрать базу данных». (Вы также можете автоматически создавать соединения, щелкнув правой кнопкой мыши узел «Соединения» и выбрав «Создать локальные подключения».)
Объекты базы данных
Вы можете создавать, редактировать, удалять и добавлять в корзину большинство типов объектов в базе данных Oracle с помощью контекстного меню в навигаторе подключений или нажав кнопку «Действия» в отображение панели деталей. Для некоторых объектов вы можете выполнять другие операции, соответствующие типу объекта.
Для некоторых типов объектов контекстное меню включает Open, которое генерирует табличное представление информации об объектах этого типа. Например, при выборе пункта «Открыть для таблиц» в навигаторе «Соединения» отображается список всех таблиц для подключения, а для каждой таблицы – имя таблицы, количество строк, состояние таблицы, количество столбцов, комментарий (если есть ) и другую информацию.
Для некоторых типов объектов в контекстном меню используется «Использовать как шаблон», в котором отображается соответствующее диалоговое окно «Создать» с информацией для выбранного объекта. Затем вам необходимо изменить имя объекта и любые другие аспекты определения, если необходимо, для создания нового объект этого типа.
Диалоговые окна для создания и редактирования многих объектов содержат вкладку или панель с именем DDL или SQL, где вы можете увидеть инструкцию, которую SQL Developer будет использовать для выполнения указанных вами действий ( CREATE , чтобы создать объект, ALTER , чтобы применить изменения к существующему объект).
Вы можете найти конкретные объекты, связанные с соединением базы данных Oracle, щелкнув значок «Поиск».
Если вы подключились к базе данных MySQL или сторонней (не Oracle) базе данных, таким как Microsoft SQL Server, Sybase Adaptive Server или IBM DB2, вы можете просматривать их объекты с помощью навигатора Connections.
Приложения
Эффективно с Oracle Application Express 3.0.1, если вы используете SQL Developer для подключения к схеме, которая владеет любыми приложениями Express Express, навигатор Connections имеет узел Application Express. Вы можете щелкнуть имя приложения, чтобы отображать вкладки (Приложение, Страницы, LOV, Списки, Шаблоны, Пазлы и т. д.) с информацией о приложении.
Вы можете выполнить следующие действия в приложении приложения Express, щелкнув правой кнопкой мыши имя приложения в навигаторе «Подключения» и выбрав элемент из меню:
- Импорт приложения: импортирует приложение из указанного файла и устанавливает приложение.
- Развертывание приложения: развертывание приложения в указанной целевой схеме.
- Drop: удаляет приложение.
- Изменить приложение. Позволяет вам изменить псевдоним, имя (переименовать), статус, глобальное уведомление и прокси-сервер для приложения.
- Quick DDL: сохраняет операторы DDL для создания приложения (или выбранного компонента) в файл, ZIP-файл, рабочий лист или системный буфер обмена.
- Рефакторинг: собирает все анонимные блоки, реорганизует их в процедуры PL/SQL и помещает их в пакет. Результатом работы рефакторинга в массовом режиме является сценарий PL/SQL, который вы можете просмотреть и сохранить, и который вы можете выполнить для создания пакета.
Следующие операции доступны только щелчком правой кнопки мыши на узле Application Express в навигаторе «Подключения» и выбором элемента из меню:
- Запуск EPG: запуск встроенного шлюза PL/SQL для приложения Express. Отображает диалоговое окно для выполнения следующих инструкций: BEGIN DBMS_EPG.map_dad (‘APEX’, ‘/apex/*’); end;
- Stop EPG: останавливает встроенный шлюз PL/SQL для приложения Express. Отображает диалоговое окно для выполнения следующих операторов: BEGIN DBMS_EPG.unmap_dad (‘APEX’); end;
Группы кэша (Oracle Database TimesTen In-Memory)
Группа кешей описывает набор таблиц базы данных в памяти, которые сопоставляются со всеми или подмножеством таблиц в базе данных Oracle. Группа кешей может состоять из всех или подмножества строк и столбцов в этих таблицах. Несколько кеш-групп можно использовать для кэширования различных наборов связанных таблиц в базе данных Oracle.
Цепочка – это объект Oracle Scheduler, который позволяет вам реализовать планирование зависимостей, в котором задание запускается в зависимости от результатов одного или нескольких предыдущих заданий. Цепочка состоит из нескольких шагов, которые объединяются с использованием правил зависимостей. Правила зависимостей определяют условия, которые могут использоваться для запуска или остановки шага или самой цепи. Условия могут включать в себя коды успеха, отказа или завершения или коды выхода из предыдущих шагов. Логические выражения, такие как AND/OR, могут использоваться в условиях. В некотором смысле цепочка напоминает дерево решений со многими возможными путями для выбора задач и времени выполнения.
Полномочия
Учетными данными является объект Oracle Scheduler, который представляет собой пару имени пользователя и пароля, хранящуюся в выделенном объекте базы данных. Задание использует учетные данные для аутентификации с экземпляром базы данных или операционной системой, чтобы он мог запускаться.
Назначение базы данных
Назначение базы данных – это объект Oracle Scheduler, который определяет местоположение для запуска задания. Существует два типа адресатов: внешний пункт назначения указывает имя удаленного хоста и IP-адрес для запуска удаленного внешнего задания; назначение базы данных указывает удаленный экземпляр базы данных для запуска задания удаленной базы данных. Если вы укажете получателя при создании задания, задание выполняется в этом месте назначения. Если вы не укажете адресата, задание выполняется локально, в системе, на которой оно создано.
Ссылки на базы данных (публичные и частные)
Ссылка на базу данных – это объект базы данных в одной базе данных, которая позволяет вам обращаться к объектам в другой базе данных. Другая база данных не должна быть системой Oracle Database; однако для доступа к системам, отличным от Oracle, вы должны использовать Oracle Heterogenic Services. После того, как вы создали ссылку на базу данных, вы можете использовать ее для ссылки на таблицы и представления в другой базе данных. Навигатор «Соединения» имеет узел «Ссылки на базы данных» для всех ссылок на базы данных (общедоступные и частные), принадлежащие пользователю, связанным с указанным соединением, и узел «Ссылки на общие базы данных» для всех ссылок на общедоступные базы данных в базе данных, связанной с соединением.
Вы можете выполнить следующие операции по ссылке базы данных, щелкнув правой кнопкой мыши имя ссылки базы данных в навигаторе подключений и выбрав элемент из меню:
- Test Database Link: проверяет ссылку на базу данных.
- Drop: Удаляет ссылку базы данных.
Целевые группы
Целевая группа – объект Oracle Scheduler, чьи члены являются списком объектов назначения планировщика. В группе назначения базы данных члены являются объектами базы данных для выполнения заданий удаленной базы данных. Во внешней группе назначения участники являются внешними адресатами для запуска удаленных внешних заданий.
Справочники
Объект directory указывает псевдоним для каталога (называемого папкой в системах Windows) в файловой системе сервера, где расположены внешние двоичные файлы LOB (BFILE) и внешние данные таблицы. Чтобы создать каталог (то есть объект каталога), вы можете использовать SQL Developer или инструкцию SQL CREATE DIRECTORY.
Вы можете использовать имена каталогов, ссылаясь на BFILEs в вашем коде PL/SQL и OCI, вместо жесткого кодирования имени пути к операционной системе, для гибкости управления. Все каталоги создаются в одном пространстве имен и не принадлежат отдельной схеме. Вы можете обеспечить доступ к BFILE, хранящимся в структуре каталогов, предоставив привилегии объектам в каталогах определенным пользователям [Источник 2] .
Продолжаем осваивать СУБД от Oracle и сейчас давайте рассмотрим инструмент разработки и администрирования баз данных SQL Developer, мы узнаем, для чего нужен данный инструмент, затем установим его и настроим на работу с базой данных.
Как помните, в прошлом материале мы рассмотрели бесплатную СУБД от Oracle, а именно Oracle Database Express Edition 11g Release 2. И теперь для того чтобы разрабатывать базы данных и приложения на PL/SQL, необходимо установить соответствующий инструмент, и я, конечно же, для этих целей предлагаю использовать, также бесплатную программу SQL Developer, которую компания Oracle выпускает специально для разработки и управления баз данных на СУБД Oracle Database.
Для чего нужен SQL Developer?
Oracle SQL Developer — это бесплатная графическая среда управления базами данных и разработки приложений на языках программирования SQL и PL/SQL, разработанная специально для СУБД Oracle Database.
Данная среда написана на языке программирование Java и она работает на всех платформах где есть Java SE.
SQL Developer, позволяет просматривать объекты базы данных, запускать различные SQL инструкции, создавать и редактировать объекты базы данных, импортировать и экспортировать данные, а также создавать всевозможные отчеты.
Oracle SQL Developer помимо Oracle Database может подключаться и к другим базам данных, например, Microsoft SQL Server, MySQL и другим, но для этого необходимы специальные плагины, хотя возможность подключения к базе Access (mdb файл) есть по умолчанию.
На момент написания статьи доступна версия Oracle SQL Developer 4.0.3 (4.0.3.16.84) поэтому именно ее мы и будем устанавливать.
Где скачать Oracle SQL Developer?
Так как это продукт компании Oracle соответственно его можно скачать на официальном сайте компании, на данный момент доступна страница
После перехода на страницу мы соглашаемся с лицензионным соглашением путем выбора переключателя Accept License Agreement, затем выбираем платформу, на которую мы будем устанавливать, я хочу устанавливать на Windows 7 x32, соответственно выбираю:
Windows 32/64-bit — Installation Notes Download 226 M
Жму Download, потом, как и при скачивании Oracle Database Express Edition необходимо указать учетные данные от Oracle если они есть, а если нет, то соответственно необходимо завести учетную запись на Oracle (нажать «Создать учетную запись»). После чего загрузится файл sqldeveloper-4.0.3.16.84-no-jre.zip размером почти 226 мегабайт (это архив его можно разархивировать, например программой 7-zip).
Установка SQL Developer
Как было сказано, для работы среды SQL Developer требуется Java SE, поэтому у Вас на компьютере должен быть установлен Java Development Kit (JDK) это разработанный компанией Oracle, бесплатный комплект разработчика на языке Java, который включает стандартный компилятор, библиотеки классов Java и исполнительную среду JRE.
Если у Вас не установлен пакет JDK, и Вы выбрали тот же файл что и я Windows 32/64-bit — Installation Notes то, нам еще необходимо установить JDK, так как в данную сборку этот пакет не включен, если бы мы выбрали, например платформу Windows 64-bit — zip file includes the JDK 7, то, как видите из названия, комплект JDK включен в сам дистрибутив SQL Developer. (А если у Вас уже установлен JDK, то можете переходить сразу к пункту «Запуск SQL Developer».)
Поэтому нам сначала необходимо скачать и установить JDK, скачать его можно также на официальном сайте. Например, я буду скачивать, и устанавливать 7 версию JDK (кстати, доступна уже 8 версия, но я захотел именно эту). 7 версия JDK на сегодняшний день доступна на странице
я перехожу на эту страницу, и у пункта Java SE Development Kit 7u72 снова соглашаюсь с лицензионным соглашением, путем выбора переключателя Accept License Agreement и выбираю файл для 32 разрядных операционных систем Windows, а конкретно jdk-7u72-windows-i586.exe.
Установка Java SE Development Kit 7u72 (JDK)
У нас загрузился файл jdk-7u72-windows-i586.exe мы соответственно его и запускаем.
После запуска появится стартовое окно установщика JDK, мы жмем «Next»
Затем советую оставить все по умолчанию, жмем «Next»
И в процессе установке появится окно для запроса на установку JRE, жмем «Next»
Далее соответственно будет производиться установка JRE
После появления следующего окна установка будет завершена, жмем «Close»
Запуск SQL Developer 4.0.3
После распаковки архива sqldeveloper-4.0.3.16.84-no-jre.zip и установки JDK, переходим в распакованный каталог, открываем папку sqldeveloper и запускаем программу sqldeveloper.exe.
И при первом запуске SQL Developer попросит указать путь к комплекту JDK, и если Вы не меняли путь при установке JDK, то программа сама его подставит, нам останется нажать «OK», а если все же Вы изменили путь, то его необходимо будет указать.
И вот сейчас мы сможем наблюдать, как у нас будет открываться программа SQL Developer
После чего она соответственно откроется, и мы увидим стартовую страницу
Настраиваем подключение с сервером и базой данных
Так как в прошлом материале мы установили Oracle Database Express Edition, соответственно именно с этим сервером мы и будем соединяться.
Для этого жмем плюсик «New Connection»
После чего у Вас откроется окно настройки подключения, Вы соответственно вводите название Вашего подключения (Connection Name), имя пользователя (Username) и пароль (Password), если Oracle Database установлен на этом же компьютере, то в поле Hostname так и оставляем Localhost, порт 1521 (Port), SID, т.е. название базы данных, в случае с Express Edition это XE. (Если помните, я говорил что sql developer можно настроить на работу с базой Access mdb, для этого перейдите на вкладку Access). После ввода советую сначала нажать Test и если Вы получили ответ в строке состояния «Успех», т.е. Status: Success
То это означает что все хорошо, можем нажимать «Connect»
В случае если Вы получили в ответ следующую ошибку:
То, это означает, что в связи с языковыми настройками операционной системы Windows, Вы не можете подключиться, но, это можно исправить, если в конфигурационной файл, он расположен по следующему пути
в конец добавить две строки
затем перезапустить SQL Developer
После подключения к базе Вы увидите название своего подключения в списке подключений
Если плюсиком открыть подключение мы увидим все типы объектов в базе данных
Вот и все теперь можно писать запросы, разрабатывать функции, процедуры на языке PL/SQL, но об этом в следующем материале. Удачи!
Adblock
detector
ЧАСТЬ 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 представлены основные таблицы этой базы данных и показаны связи между ними.
Рисунок 1.2. Основные таблицы базы данных Human Resources
Рассмотрим назначение этих таблиц и свойства некоторых столбцов. В таблице Employees содержатся данные о сотрудниках. Каждый сотрудник компании имеет уникальный идентификационный номер (employee_id), идентификационный номер должности (job_id), ставку заработной платы (salary) и менеджера (manager_id). Некоторые сотрудники в дополнение к зарплате получают комиссионные (commission_pct). Размер комиссионных определяется как часть от заработной платы. Столбец job_id используется для установления связи с таблицей Jobs, и для него определено ограничение внешнего ключа. Следствием этого является то, что значение данного столбца должно совпадать с одним из значений столбца job_id в таблице Jobs или иметь неопределенное значение NULL. Это ограничение обеспечивается средствами СУБД. Аналогичными свойствами обладает столбец department_id, который используется для установления связи с таблицей Departments.
В таблице Jobs содержится информация обо всех возможных должностях в организации. Каждая должность имеет уникальный идентификационный номер (job_id), наименование (job_title), минимальную (min_salary) и максимальную ставку заработной платы (max_salary).
Данные об отделах содержатся в таблице Departments. Каждый отдел имеет уникальный код (department_id), руководителя (manager_id), наименование (department_name), а также одно место расположения (location_id). Значение столбца manager_id должно совпадать со значением столбца employee_id в таблице Employees.
Эта компания имеет распределенную структуру, поэтому в таблице Locations хранятся данные о местонахождении отделов, которые состоят из адреса (street_address), почтового индекса (postal_code), названия города (city), названия штата (state_province) и кода страны (country_id). В таблице Locations также содержатся данные о населенных пунктах, в которых пока нет отделов.
Для того чтобы расширить спектр рассматриваемых задач, к уже рассмотренным таблицам были добавлены таблицы: Products, Orders, Customers Эти таблицы используются во многих демонстрационных базах. После добавления этих таблиц была получена схема базы данных HR_POC, используемая в этой книге, рисунок 1.3. Неиспользуемые таблицы были удалены. Ссылка для скачивания этой схемы: HR_POC (https://yadi.sk/d/_cFzi0CMazFIdg).
При решении некоторых задач, рассматриваемых в этой книге, в базу данных были добавлены вспомогательные таблицы. Ссылка для скачивания схемы, которая содержит вспомогательные таблицы:HR_POC_T (https://yadi.sk/d/a3XxApDuj2Ksxw).
Рисунок 1.3. Схема базы данных HR_POC
Разберем назначение некоторых столбцов в таблицах Products, Orders, Customers и сформулируем бизнес-правила, которые могут быть определены с их использованием.
Столбец status в таблице Orders определяет состояние заказа и может принимать следующие значения: Pending — «в ожидании», Shipped — «отправлен», Canceled — «отменен». Используя этот столбец, сформулируем следующее бизнес-правило: можно изменить содержимое заказа, который находится в состоянии Pending, но нельзя изменить содержимое заказа, который находится в состоянии Shipped
Столбец credit_limit в таблице Customers содержит значение кредитного лимита клиента. Используя этот столбец можно сформулировать следующее правило: запретить оформление заказа, если общая сумма заказов клиента, находящихся в состоянии Pending, превышает его кредитный лимит. В этих таблицах отсутствуют данные об оплате заказов, поэтому будем считать, что заказы, находящиеся в состоянии Shipped, оплачены, а заказы, находящиеся в состоянии Pending, — нет.
Столбец price в таблице Products содержит текущую цену товара, а столбец unit_price в таблице Order_Items — цену, по которой он был продан. Разница между этими значениями может возникать из-за того, что клиенту предоставлена скидка. Также со временем значение price может измениться, а значение unit_price — нет.
В таблицу Employees был добавлен столбец rating_e. Значение элементов этого столбца целочисленные и должны лежать в диапазоне от 1 до 5. Будем считать, что значение столбца rating_e отражает квалификацию сотрудника.
В таблице Products содержится столбец rating_p. Значения элементов этого столбца также должны лежать в диапазоне от 1 до 5 и отражают сложность товара.
Используя эти столбцы, можно сформулировать следующее бизнес-правило: сотрудник имеет право продавать товары, рейтинг которых не превышает его рейтинга. Это бизнес-правило мы будем неоднократно использовать при решении задач.
Oracle SQL Developer
Oracle SQL Developer — это визуальная среда для создания, отладки и выполнения SQL-запросов и программ PL/SQL. Oracle SQL Developer позволяет создавать и редактировать объекты базы данных, управлять ими, импортировать и экспортировать данные, а также создавать всевозможные отчеты.
После запуска Oracle SQL Developer на экране появляется главное окно, представленное на рисунке 1.4.
Окно SQL Developer содержит три основные области:
— область Connections («Соединения») предназначена для создания соединений с базой данных;
— область Worksheet («Рабочее пространство») используется для ввода, редактирования и запуска запросов SQL и программ PL/SQL;
— область Reports («Отчеты») позволяет запускать предварительно определенные отчеты или создавать и добавлять собственные отчеты.
Рисунок 1.4. Главное окно Oracle SQL Developer
Для того чтобы приступить к работе с базой данных, необходимо создать соединение с ней. При запуске SQL Developer в области Connections отображаются все доступные соединения. Установить соединение можно только с существующей базой данных (схемой). Изначально после установки СУБД существует только схема администратора базы данных — system. Остальные схемы создает администратор. Имя схемы совпадает с именем пользователя. Команды создания пользователей и предоставления им привилегий будут рассмотрены позже.
Для создания нового соединения следует нажать кнопку New Connections, которая расположена на панели инструментов в области Connections. На экране появится диалоговое окно для создания подключений к базе данных (рисунок 1.5).
Имя соединения (Name) может быть произвольным, а имя пользователя и пароль должны быть предварительно заданы администратором. Имя пользователя должно начинаться с символов c##. Для одного пользователя (схемы базы данных) можно создать несколько соединений. При входе по любому из этих соединений вы будете работать с одной и той же базой данных. Значения Hostname и SID или Servce_name следует взять из файла tnsnames. ora в папке c:appuserproduct18.0.0dbhomexenetworkadmin.
Рисунок 1.5. Окно для создания подключений к базе данных
После ввода всех параметров рекомендуется сначала нажать кнопку Test. Если проверка пройдет успешно, то в строке Status появится сообщение Success. В противном случае будет выведено сообщение об ошибке. Если ошибок не будет обнаружено, то следует нажать кнопку Connect и приступить к работе с базой данных.
После создания соединения с базой данных можно использовать область соединения для просмотра данных об объектах базы данных, включая таблицы, представления, индексы, пакеты, процедуры, триггеры.
Для того чтобы разорвать установленное соединение, следует щелкнуть на его имени правой кнопкой и в появившемся контекстном меню выбрать команду Disconnect.
Рассмотрим основные операции, которые можно выполнить, используя Oracle SQL Developer. Разберем случай, когда база данных уже создана, созданы таблицы и они заполнены данными. Нажав кнопку + рядом с именем соединения мы увидим объекты базы данных, для которой создано это соединение.
Самыми важными объектами базы данных являются таблицы. Для того чтобы увидеть список таблиц, существующих в базе данных, и получить возможность выполнять с таблицами различные действия, следует нажать кнопку + рядом с узлом Tables. Если после этого сделать двойной щелчок на имени таблицы, то в рабочей области появится окно, которое содержит несколько вкладок. Используя эти вкладки, можно просматривать данные о таблице и вносить в нее изменения.
На рисунке 1.6 показана вкладка Columns, в которой отображены столбцы таблицы Customers. Операции, которые вы можете выполнить с таблицей, содержатся в раскрывающемся списке Actions (рисунок 1.7).
Рисунок 1.6. Вкладка Columns
Рисунок 1.7. Раскрывающийся список Actions
На вкладке Data (рисунок 1.9), где отображается содержимое таблицы, можно просматривать и редактировать данные, содержащиеся в таблице.
Рисунок 1.9. Вкладка Data
На вкладке Model (рисунок 1.10) в графическом виде отображаются структура таблицы и ее связи с другими таблицами.
Рисунок 1.10. Вкладка Model
Использование рабочей области (SQL Worksheet)
При установлении соединения с базой данных автоматически открывается окно рабочей области (SQL Worksheet) для этого соединения. Это окно можно использовать для ввода, редактирования и выполнения операторов SQL и программ PL/SQL.
Для одного соединения можно создать несколько рабочих областей. Новую рабочую область можно создать, используя кнопку SQL Worksheet на панели инструментов или комбинацию клавиш Alt—F10. При создании новой рабочей области нужно выбрать соединение, для которого она будет использована. Рабочая область имеет собственную панель инструментов (рисунок 1.11).
Рисунок 1.11. Панель инструментов SQL Worksheet
Эта панель содержит значки, предназначенные для решения следующих задач:
— Run Statement: выполняет оператор, в котором находится курсор «переменные».
— Run Script: выполняет все операторы в рабочей области.
— Explain Plan: создает план выполнения. План выполнения — это последовательность операций, которые будут выполнены при выполнении оператора. План выполнения показывает исходное дерево строк с иерархией операций, составляющих оператор.
— Autotrace: генерирует информацию трассировки для оператора. Эта информация может помочь определить операторы SQL, которые выиграют от настройки.
— SQL Tuning Advisory: анализирует объемные операторы SQL и предлагает рекомендации по настройке.
— Commit: записывает любые изменения в базу данных и завершает транзакцию.
— Rollback: отменяет любые изменения в базе данных, не записывая их в базу данных, и завершает транзакцию.
— Unshared SQL Worksheet: создает новую рабочую область для соединения.
— To Upper / Lower / InitCap: изменяет выделенный текст на прописные, строчные или initcap соответственно.
— Clear: стирает оператор или операторы в поле «Ввести оператор SQL».
— SQL History: отображает диалоговое окно с информацией о выполненных операторах SQL.
Для выполнения оператора SQL, размещенного в рабочей обрасти, следует нажать кнопку Run Statement на панели инструментов, или функциональную клавишу F9. На рисунке 1.12 показан пример выполнения оператора SQL.
Если рабочая область содержит несколько операторов SQL или PL/SQL, то их можно выполнить, нажав кнопку Run Script на панели инструментов или функциональную клавишу F5. На рисунке 1.13 показан пример выполнения нескольких операторов SQL. Следует обратить внимание на то, что вешний вид результатов при использовании кнопки Run Script отличается от внешнего вида результатов при использовании кнопки Run Statement.
Примечание: кнопка Run Script обычно используется для запуска операторов PL/SQL.
Рисунок 1.12. Пример выполнения одного оператора SQL
Рисунок 1.13. Пример выполнения нескольких операторов SQL
Экспорт и сохранение результатов выполнения запроса
Если для запуска оператора SQL использовалась кнопка Run Statement, то результаты выполнения запроса можно сохранить в определенном формате для дальнейшего использования и обработки. Для того чтобы выполнить эту операцию, нужно щелкнуть правой кнопкой и в появившемся контекстном меню (рисунок 1.14) выбрать команду Export.
В результате этих действий будет запушен мастер экспорта. В первом окне (рисунок 1.15) нужно выбрать формат, месторасположение и имя файла. На рисунке 1.16 показано содержимое файла export. xls, который содержит результат выполнения запроса.
Рисунок.1.14. Выбор команды Export
Рисунок 1.15. Выбор формата, месторасположения и имени файла
Рисунок 1.16. Результат экспорта — файл в формате xls
Сохранение операторов SQL
Для того чтобы сохранить операторы SQL в текстовом файле, следует нажать кнопку Save на панели инструментов или выбрать команду меню File — Save. На экране появится диалоговое окно Save (рисунок 1.17), в котором можно выбрать место сохранения и ввести имя файла.
Рисунок 1.17. Диалоговое окно Save
Выполнить сохраненные операторы SQL можно двумя способами:
Первый способ. Используя команду меню File — Open, открыть сохраненный файл, содержащий операторы SQL, и выполнить эти операторы кнопками Run Statement или Run Script (рисунок 1.18.
Рисунок 1.18. Первый способ выполнения операторов SQL
Второй способ. В рабочую область ввести команду, которая начинается с символа @ и содержит путь к файлу, и выполнить эту команду, используя кнопку Run Script. На рисунке 1.19 показан пример применения этого способа выполнения сохраненных операторов SQL.
Рисунок 1.19. Второй способ выполнения операторов SQL
Экспорт базы данных
Используя Oracle SQL Developer, можно осуществить экспорт базы данных в файл, который будет содержать DDL-операторы создания таблиц и существующих ограничений и операторы INSERT для заполнения таблиц данными. Этот способ позволяет легко копировать небольшие базы данных с одного компьютера на другой.
На компьютере, куда копируется база данных, нужно создать схему, установить с ней соединение, открыть и выполнить файл, полученный в результате экспорта.
Для осуществления экспорта нужно выбрать команду Tools — Database Export. В результате на экране появится окно (рисунок 1.20), в котором нужно выбрать экспортируемую схему, имя и расположение файла, куда будут экспортироваться данные. Рекомендуется снять флажок Show Schema. Если этого не сделать, то все операторы будут содержать имя экспортируемой схемы, что усложнит процесс копирования. На компьютере, куда копируется база, нужно будет обязательно создать схему, имя которой должно совпадать с именем копируемой схемы.
Рисунок 1.20. Окно экспорта
Полученный в результате экспорта файл можно использовать для графического отображения таблиц базы данных и связей между ними. Для этого данный файл нужно импортировать в программу Oracle SQL Developer Data Modeler. Так были получены схемы баз данных, которые рассматривались в предыдущем разделе.
Можно настроить многие параметры SQL Developer в соответствии со своими предпочтениями и потребностями. Для этого нужно выбрать в меню Tools команду Preferences. В качестве примера рассмотрим настройки параметров Database: NLS (рисунок 1.21).
Здесь указываются значения для параметров поддержки глобализации, такие как язык, территория, предпочтения сортировки и формат даты. Эти значения параметров используются для операций сеанса SQL Developer. Указанные на этой панели настройки не влияют на настройки СУБД. Чтобы изменить настройки СУБД, необходимо изменить соответствующие параметры, используя специальные команды, и перезапустить базу данных.
Рисунок 1.21. Настройка параметров Database: NLS
Создание пользователей и предоставление привилегий
Все действия с базой данных, включая создание ее объектов, осуществляются пользователями, поэтому на первом этапе необходимо создать пользователя и предоставить ему необходимые права (привилегии) для работы с базой данных.
Эту операцию должен выполнить администратор базы данных. По умолчанию администратором базы данных является пользователь SYSTEM.
Для создания нового пользователя используется команда CREATE USER. Упрощенный синтаксис этой команды имеет следующий вид:
CREATE USER {имя пользователя} IDENTIFIED BY {пароль}
DEFAULT TABLESPACE tablespace_name
QUOTA size (K M G) UNLIMITED ON tablespace_name;
где:
— tablespace_name — имя области данных, в которой будут создаваться объекты пользователя. Если имя области данных не указано, то объекты пользователя по умолчанию создаются в области данных SYSTEM;
— tablespace_tmp — имя области данных для временных объектов пользователя. Если имя области данных не указано, то временные объекты создаются в области данных SYSTEM;
— size — размер используемого пространства для области данных TABLESPACE в килобайтах (К), мегабайтах (М) и гигабайтах (G). Ключевое слово UNLIMITED используется для предоставления пространства неограниченного размера.
Пример:
CREATE USER C##HR_POC IDENTIFIED BY PASS123
DEFAULT TABLESPACE USERS
QUOTA 500M ON USERS;
Изменение пароля осуществляется командой:
ALTER USER {имя пользователя} IDENTIFIED BY {пароль};
Например:
ALTER USER C##HR_POC IDENTIFIED BY PASS456;
Для просмотра данных об объектах пользователя можно использовать следующий запрос:
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED,
STATUS
FROM SYS. DBA_OBJECTS
WHERE OWNER = ′ {имя пользователя} ′;
Например:
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED, STATUS
FROM SYS. DBA_OBJECTS
WHERE OWNER = ′ C##HR_POC ′;
Для того чтобы получить имена пользователей, зарегистрированных на сервере, следует выполнить следующий запрос:
SELECT USERNAME FROM DBA_USERS ORDER BY 1;
Для удаления пользователя и принадлежащей ему схемы служит команда:
DROP USER {имя пользователя} CASCADE;
После создания пользователя ему необходимо предоставить привилегии (права), которые определяют, какие действия может выполнять пользователь. Привилегии, предоставленные пользователю, могут меняться с течением времени: можно отменить (отозвать) имеющиеся привилегии или добавить новые.
Привилегии делятся на системные и объектные. В таблице 1.1 приведены основные системные привилегии, которые администратор может предоставить пользователю, а таблица 1.2 содержит основные объектные привилегии.
Таблица 1.1. Основные системные привилегии
Таблица 1.2. Основные объектные привилегии
Для предоставления пользователю системных привилегий используется команда GRANT, которая имеет следующий синтаксис:
GRANT {имя привилегии} ON {имя пользователя};
Пример предоставления системных привилегий пользователю:
GRANT CREATE SESSION, CREATE TABLE ON C##HR_POC;
Для отзыва привилегии используется команда:
REVOKE {имя привилегии} ON {имя пользователя};
Пример отзыва системной привилегии у пользователя:
REVOKE CREATE TABLE ON C##HR_POC;
Для предоставления пользователю объектных привилегий используется команда GRANT, которая имеет следующий синтаксис:
GRANT {имя привилегии} ({список столбцов}) ON {имя таблицы}
TO {имя пользователя};
где: ({список столбцов}) — список столбцов, для которых предоставляется привилегия. Если column_list отсутствует, то привилегия предоставляется для всех столбцов.
Пример предоставления объектной привилегии:
GRANT UPDATE (RATING_E, SALARY) ON EMPLOYEES TO C##HR_POC;
Для отзыва привилегии используется команда:
REVOKE {имя привилегии} ({список столбцов})
ON {имя таблицы} TO {имя пользователя};
Пример отзыва объектной привилегии:
REVOKE UPDATE (SALARY) ON EMPLOYEES TO C##HR_POC;
Для того чтобы увидеть какие системные привилегии предоставлены пользователю, следует выполнить запрос
SELECT *
FROM USER_SYS_PRIVS;
Для просмотра объектных привилегий служит запрос
SELECT *
FROM USER_TAB_PRIVS_MADE
Привилегии могут быть сгруппированы в роли. Роль определяет список привилегий, предоставляемых пользователю. Существуют предопределенные роли, которые администратор может назначить пользователю. Таблица 1.3 содержит список наиболее часто используемых предопределенных ролей.
Таблица 1.3. Список имен предопределенных ролей
Используя команду
GRANT {имя роли} ON {имя пользователя};
можно назначить пользователю список привилегий, определенных для роли.
Часть назначенных привилегий можно отозвать, используя команду
REVOKE {имя привилегии} ON {имя пользователя};
Для отзыва всех привилегий, назначенных ролью, следует использовать команду:
REVOKE {имя роли} ON {имя пользователя};
Следует иметь в виду, что роль RESOURCE включает предоставление привилегии UNLIMITED TABLESPACE и не включает привилегию CREATE VIEW. Учитывая это, привилегии, которые следует предоставлять пользователям, не являющимся администраторами базы данных, можно предоставить командой:
GRANT CONNECT, RESOURCE, CREATE VIEW TO {имя пользователя};
© О. А. Ткачев, 2020
ISBN 978-5-0051-8673-7
Создано в интеллектуальной издательской системе Ridero
Предисловие
Почему и для чего написана эта книга? Этот вопрос я задаю сам себе, и его может задать потенциальный читатель, для того чтобы принять решение – стоит ли тратить деньги на ее приобретение и время на ее изучение.
Я преподаю дисциплину «Базы данных» в Московском авиационном институте уже почти 30 лет. Начинал в 90-х с использования СУБД dBase III, которая работала под управлением операционной системы DOS.
В начале 2000-х было принято решение использовать в учебном процессе СУБД с архитектурой «клиент – сервер» и уделять больше внимания вопросам программирования.
Выбор осуществлялся между СУБД Microsoft SQL Server и СУБД Oracle. Предпочтение было отдано продукту фирмы Microsoft по следующим причинам:
• Существовала официально бесплатная версия этой СУБД, также в то время мы могли бесплатно использовать в учебном процессе промышленные версии этой программы.
• СУБД Microsoft SQL Server позволяла использовать кириллицу в названиях таблиц и столбцов, и в ней была локализована среда разработки программ Management Studio. В СУБД Oracle в то время использовался режим командной строки, который менее эффективен.
• Имелось много книг на русском языке, в которых рассматривались принципы работы с СУБД Microsoft SQL Server и разработка программ с ее использованием. Здесь я имею в виду SQL и его расширение Transact SQL. Подобной литературы на русском языке для СУБД Oracle практически не было.
Но тем не менее в 2015 году было принято решение перейти на использование в учебном процессе СУБД Oracle. Одной из причин такого перехода стало то, что знание и умение работать с СУБД Oracle на рынке труда оценивается выше. Также к этому времени появилась бесплатная версия Oracle Database Express Edition и стала использоваться визуальная среда разработки программ Oracle SQL Developer.
Но положение с литературой на русском языке, которую можно использовать при изучении СУБД Oracle, существенным образом не изменилось. Особенно это касается изучения PL/SQL.
Правда, здесь нельзя не отметить великолепную книгу «Oracle PL/SQL. Для профессионалов», авторами которой являются Стивен Фейерштейн и Билл Прибыл. Эта книга неоднократно переиздавалась и пользуется всеобщим и заслуженным уважением в среде программистов. Но ее сложно использовать при первоначальном изучении этого языка, так как можно легко «захлебнуться» от обилия содержащейся в ней информации.
Положение с литературой, которую можно использовать для изучения SQL, не столь критично. Во-первых, потому что для этого языка созданы стандарты, которых придерживаются производители СУБД; во-вторых, есть книги на русском языке, в которых рассматривается Oracle-версия SQL. Данные об этих книгах содержатся в списке литературы.
Так что первая причина, по которой я решил написать эту книгу, состоит в том, чтобы в ограниченном объеме рассмотреть синтаксис всех основных элементов SQL и PL/SQL и проиллюстрировать правила их использования интересными и функциональными примерами. Функциональными я называю примеры, которые позволяют понять, при решении каких задач целесообразно использовать рассматриваемый элемент языка.
Вторая причина обусловлена следующими обстоятельствами. Корпорация Oracle широко использует систему сертификации специалистов. Сертификационный экзамен проходит в форме сдачи теста. Поэтому практически во всех книгах, посвященных изучению PL/SQL, проверка понимания пройденного материала осуществляется путем тестирования.
С помощью тестирования можно оценить уровень знаний, но решение интересных задач развивает творческие способности и готовит к практической работе. В реальной жизни нужно писать программы, а не отвечать на вопросы теста.
Но это не два взаимоисключающих подхода, а два этапа обучения. На первом этапе нужно научиться писать код, а на втором – систематизировать полученные знания и показать свой уровень подготовки путем сдачи тестов.
И если по SQL можно легко найти задачи, предлагаемые для самостоятельного решения, то по PL/SQL я не нашел ни одного источника, который можно было бы использовать в качестве задачника.
Поэтому в данной книге в конце каждого раздела предлагаются для самостоятельного решения задачи различной степени сложности. Решение этих задач позволит лучше понять правила использования рассматриваемого элемента языка и получить практические навыки программирования. Многие вопросы становятся понятнее, если они прошли через кончики пальцев.
Надеюсь, что освоение материала, изложенного в этой книге, заложит хорошие основы для дальнейшего изучения СУБД Oracle и ее практического пользования.
Введение
Одним из определяющих факторов успеха в любой сфере деятельности современного общества является наличие эффективных средств хранения и обработки данных. Для решения этой проблемы создаются информационные системы различного назначения. В подавляющем большинстве случаев для хранения информации в этих системах используются базы данных.
Концепция баз данных предполагает применение специального программного обеспечения для создания, манипулирования и управления объектами базы данных. Программное обеспечение, предназначенное для решения этих задач, получило название системы управления базами данных (СУБД).
Создание СУБД является великим изобретением в сфере обработки информации, которое позволило многократно повысить эффективность обработки данных.
Большинство современных СУБД используют реляционную модель данных. Однако известно, что автор реляционной модели, Эдгар Кодд, был недоволен использованием термина «реляционная модель» в названии существующих СУБД, так как считал, что правила хранения и обработки данных в этих СУБД не полностью соответствуют требованиям реляционной модели. Он называл такие СУБД псевдореляционными и считал, что нужно использовать более эффективные, истинно реляционные СУБД.
Но на практике этого не произошло, наоборот, в настоящее время считается общепризнанным факт, что только часть данных, которые необходимо обрабатывать, являются структурированными. Поэтому сейчас разрабатываются – и уже разработаны – СУБД, способные обрабатывать различные виды данных. Однако и в этих СУБД обработка структурированных данных играет важнейшую роль.
К настоящему времени создано и используется значительное количество СУБД. Однако ответить на вопрос, какая СУБД является наилучшей, вряд ли возможно. Для каждой области применения существует своя «оптимальная» СУБД, и выбор является многокритериальной задачей. При выборе СУБД следует в первую очередь учитывать следующие критерии: быстродействие, надежность, стоимость, сложность эксплуатации, наличие эффективных средств разработки приложений.
Почему была выбрана СУБД 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 представлены основные таблицы этой базы данных и показаны связи между ними.
Рисунок 1.2. Основные таблицы базы данных Human Resources
Рассмотрим назначение этих таблиц и свойства некоторых столбцов. В таблице Employees содержатся данные о сотрудниках. Каждый сотрудник компании имеет уникальный идентификационный номер (employee_id), идентификационный номер должности (job_id), ставку заработной платы (salary) и менеджера (manager_id). Некоторые сотрудники в дополнение к зарплате получают комиссионные (commission_pct). Размер комиссионных определяется как часть от заработной платы. Столбец job_id используется для установления связи с таблицей Jobs, и для него определено ограничение внешнего ключа. Следствием этого является то, что значение данного столбца должно совпадать с одним из значений столбца job_id в таблице Jobs или иметь неопределенное значение NULL. Это ограничение обеспечивается средствами СУБД. Аналогичными свойствами обладает столбец department_id, который используется для установления связи с таблицей Departments.
В таблице Jobs содержится информация обо всех возможных должностях в организации. Каждая должность имеет уникальный идентификационный номер (job_id), наименование (job_title), минимальную (min_salary) и максимальную ставку заработной платы (max_salary).
Данные об отделах содержатся в таблице Departments. Каждый отдел имеет уникальный код (department_id), руководителя (manager_id), наименование (department_name), а также одно место расположения (location_id). Значение столбца manager_id должно совпадать со значением столбца employee_id в таблице Employees.
Эта компания имеет распределенную структуру, поэтому в таблице Locations хранятся данные о местонахождении отделов, которые состоят из адреса (street_address), почтового индекса (postal_code), названия города (city), названия штата (state_province) и кода страны (country_id). В таблице Locations также содержатся данные о населенных пунктах, в которых пока нет отделов.
Для того чтобы расширить спектр рассматриваемых задач, к уже рассмотренным таблицам были добавлены таблицы: Products, Orders, Customers Эти таблицы используются во многих демонстрационных базах. После добавления этих таблиц была получена схема базы данных HR_POC, используемая в этой книге, рисунок 1.3. Неиспользуемые таблицы были удалены. Ссылка для скачивания этой схемы: HR_POC (https://yadi.sk/d/_cFzi0CMazFIdg).
При решении некоторых задач, рассматриваемых в этой книге, в базу данных были добавлены вспомогательные таблицы. Ссылка для скачивания схемы, которая содержит вспомогательные таблицы:HR_POC_T (https://yadi.sk/d/a3XxApDuj2Ksxw).
Рисунок 1.3. Схема базы данных HR_POC
Разберем назначение некоторых столбцов в таблицах Products, Orders, Customers и сформулируем бизнес-правила, которые могут быть определены с их использованием.
Столбец status в таблице Orders определяет состояние заказа и может принимать следующие значения: Pending – «в ожидании», Shipped – «отправлен», Canceled – «отменен». Используя этот столбец, сформулируем следующее бизнес-правило: можно изменить содержимое заказа, который находится в состоянии Pending, но нельзя изменить содержимое заказа, который находится в состоянии Shipped
Столбец credit_limit в таблице Customers содержит значение кредитного лимита клиента. Используя этот столбец можно сформулировать следующее правило: запретить оформление заказа, если общая сумма заказов клиента, находящихся в состоянии Pending, превышает его кредитный лимит. В этих таблицах отсутствуют данные об оплате заказов, поэтому будем считать, что заказы, находящиеся в состоянии Shipped, оплачены, а заказы, находящиеся в состоянии Pending, – нет.
Столбец price в таблице Products содержит текущую цену товара, а столбец unit_price в таблице Order_Items – цену, по которой он был продан. Разница между этими значениями может возникать из-за того, что клиенту предоставлена скидка. Также со временем значение price может измениться, а значение unit_price – нет.
В таблицу Employees был добавлен столбец rating_e. Значение элементов этого столбца целочисленные и должны лежать в диапазоне от 1 до 5. Будем считать, что значение столбца rating_e отражает квалификацию сотрудника.
В таблице Products содержится столбец rating_p. Значения элементов этого столбца также должны лежать в диапазоне от 1 до 5 и отражают сложность товара.
Используя эти столбцы, можно сформулировать следующее бизнес-правило: сотрудник имеет право продавать товары, рейтинг которых не превышает его рейтинга. Это бизнес-правило мы будем неоднократно использовать при решении задач.
Oracle SQL Developer
Oracle SQL Developer – это визуальная среда для создания, отладки и выполнения SQL-запросов и программ PL/SQL. Oracle SQL Developer позволяет создавать и редактировать объекты базы данных, управлять ими, импортировать и экспортировать данные, а также создавать всевозможные отчеты.
После запуска Oracle SQL Developer на экране появляется главное окно, представленное на рисунке 1.4.
Окно SQL Developer содержит три основные области:
– область Connections («Соединения») предназначена для создания соединений с базой данных;
– область Worksheet («Рабочее пространство») используется для ввода, редактирования и запуска запросов SQL и программ PL/SQL;
– область Reports («Отчеты») позволяет запускать предварительно определенные отчеты или создавать и добавлять собственные отчеты.
Рисунок 1.4. Главное окно Oracle SQL Developer
Для того чтобы приступить к работе с базой данных, необходимо создать соединение с ней. При запуске SQL Developer в области Connections отображаются все доступные соединения. Установить соединение можно только с существующей базой данных (схемой). Изначально после установки СУБД существует только схема администратора базы данных – system. Остальные схемы создает администратор. Имя схемы совпадает с именем пользователя. Команды создания пользователей и предоставления им привилегий будут рассмотрены позже.
Для создания нового соединения следует нажать кнопку New Connections, которая расположена на панели инструментов в области Connections. На экране появится диалоговое окно для создания подключений к базе данных (рисунок 1.5).
Имя соединения (Name) может быть произвольным, а имя пользователя и пароль должны быть предварительно заданы администратором. Имя пользователя должно начинаться с символов c##. Для одного пользователя (схемы базы данных) можно создать несколько соединений. При входе по любому из этих соединений вы будете работать с одной и той же базой данных. Значения Hostname и SID или Servce_name следует взять из файла tnsnames. ora в папке c:appuserproduct18.0.0dbhomexenetworkadmin.
Рисунок 1.5. Окно для создания подключений к базе данных
После ввода всех параметров рекомендуется сначала нажать кнопку Test. Если проверка пройдет успешно, то в строке Status появится сообщение Success. В противном случае будет выведено сообщение об ошибке. Если ошибок не будет обнаружено, то следует нажать кнопку Connect и приступить к работе с базой данных.
После создания соединения с базой данных можно использовать область соединения для просмотра данных об объектах базы данных, включая таблицы, представления, индексы, пакеты, процедуры, триггеры.
Для того чтобы разорвать установленное соединение, следует щелкнуть на его имени правой кнопкой и в появившемся контекстном меню выбрать команду Disconnect.
Рассмотрим основные операции, которые можно выполнить, используя Oracle SQL Developer. Разберем случай, когда база данных уже создана, созданы таблицы и они заполнены данными. Нажав кнопку + рядом с именем соединения мы увидим объекты базы данных, для которой создано это соединение.
Самыми важными объектами базы данных являются таблицы. Для того чтобы увидеть список таблиц, существующих в базе данных, и получить возможность выполнять с таблицами различные действия, следует нажать кнопку + рядом с узлом Tables. Если после этого сделать двойной щелчок на имени таблицы, то в рабочей области появится окно, которое содержит несколько вкладок. Используя эти вкладки, можно просматривать данные о таблице и вносить в нее изменения.
На рисунке 1.6 показана вкладка Columns, в которой отображены столбцы таблицы Customers. Операции, которые вы можете выполнить с таблицей, содержатся в раскрывающемся списке Actions (рисунок 1.7).
Рисунок 1.6. Вкладка Columns
Рисунок 1.7. Раскрывающийся список Actions
На вкладке Data (рисунок 1.9), где отображается содержимое таблицы, можно просматривать и редактировать данные, содержащиеся в таблице.
Рисунок 1.9. Вкладка Data
На вкладке Model (рисунок 1.10) в графическом виде отображаются структура таблицы и ее связи с другими таблицами.
Рисунок 1.10. Вкладка Model
Использование рабочей области (SQL Worksheet)
При установлении соединения с базой данных автоматически открывается окно рабочей области (SQL Worksheet) для этого соединения. Это окно можно использовать для ввода, редактирования и выполнения операторов SQL и программ PL/SQL.
Для одного соединения можно создать несколько рабочих областей. Новую рабочую область можно создать, используя кнопку SQL Worksheet на панели инструментов или комбинацию клавиш Alt—F10. При создании новой рабочей области нужно выбрать соединение, для которого она будет использована. Рабочая область имеет собственную панель инструментов (рисунок 1.11).
Рисунок 1.11. Панель инструментов SQL Worksheet
Эта панель содержит значки, предназначенные для решения следующих задач:
– Run Statement: выполняет оператор, в котором находится курсор «переменные».
– Run Script: выполняет все операторы в рабочей области.
– Explain Plan: создает план выполнения. План выполнения – это последовательность операций, которые будут выполнены при выполнении оператора. План выполнения показывает исходное дерево строк с иерархией операций, составляющих оператор.
– Autotrace: генерирует информацию трассировки для оператора. Эта информация может помочь определить операторы SQL, которые выиграют от настройки.
– SQL Tuning Advisory: анализирует объемные операторы SQL и предлагает рекомендации по настройке.
– Commit: записывает любые изменения в базу данных и завершает транзакцию.
– Rollback: отменяет любые изменения в базе данных, не записывая их в базу данных, и завершает транзакцию.
– Unshared SQL Worksheet: создает новую рабочую область для соединения.
– To Upper / Lower / InitCap: изменяет выделенный текст на прописные, строчные или initcap соответственно.
– Clear: стирает оператор или операторы в поле «Ввести оператор SQL».
– SQL History: отображает диалоговое окно с информацией о выполненных операторах SQL.
Для выполнения оператора SQL, размещенного в рабочей обрасти, следует нажать кнопку Run Statement на панели инструментов, или функциональную клавишу F9. На рисунке 1.12 показан пример выполнения оператора SQL.
Если рабочая область содержит несколько операторов SQL или PL/SQL, то их можно выполнить, нажав кнопку Run Script на панели инструментов или функциональную клавишу F5. На рисунке 1.13 показан пример выполнения нескольких операторов SQL. Следует обратить внимание на то, что вешний вид результатов при использовании кнопки Run Script отличается от внешнего вида результатов при использовании кнопки Run Statement.
Примечание: кнопка Run Script обычно используется для запуска операторов PL/SQL.
Рисунок 1.12. Пример выполнения одного оператора SQL
Рисунок 1.13. Пример выполнения нескольких операторов SQL
Экспорт и сохранение результатов выполнения запроса
Если для запуска оператора SQL использовалась кнопка Run Statement, то результаты выполнения запроса можно сохранить в определенном формате для дальнейшего использования и обработки. Для того чтобы выполнить эту операцию, нужно щелкнуть правой кнопкой и в появившемся контекстном меню (рисунок 1.14) выбрать команду Export.
В результате этих действий будет запушен мастер экспорта. В первом окне (рисунок 1.15) нужно выбрать формат, месторасположение и имя файла. На рисунке 1.16 показано содержимое файла export. xls, который содержит результат выполнения запроса.
Рисунок.1.14. Выбор команды Export
Рисунок 1.15. Выбор формата, месторасположения и имени файла
Рисунок 1.16. Результат экспорта – файл в формате xls
Сохранение операторов SQL
Для того чтобы сохранить операторы SQL в текстовом файле, следует нажать кнопку Save на панели инструментов или выбрать команду меню File – Save. На экране появится диалоговое окно Save (рисунок 1.17), в котором можно выбрать место сохранения и ввести имя файла.
Рисунок 1.17. Диалоговое окно Save
Выполнить сохраненные операторы SQL можно двумя способами:
Первый способ. Используя команду меню File – Open, открыть сохраненный файл, содержащий операторы SQL, и выполнить эти операторы кнопками Run Statement или Run Script (рисунок 1.18.
Рисунок 1.18. Первый способ выполнения операторов SQL
Второй способ. В рабочую область ввести команду, которая начинается с символа @ и содержит путь к файлу, и выполнить эту команду, используя кнопку Run Script. На рисунке 1.19 показан пример применения этого способа выполнения сохраненных операторов SQL.
Рисунок 1.19. Второй способ выполнения операторов SQL
Экспорт базы данных
Используя Oracle SQL Developer, можно осуществить экспорт базы данных в файл, который будет содержать DDL-операторы создания таблиц и существующих ограничений и операторы INSERT для заполнения таблиц данными. Этот способ позволяет легко копировать небольшие базы данных с одного компьютера на другой.
На компьютере, куда копируется база данных, нужно создать схему, установить с ней соединение, открыть и выполнить файл, полученный в результате экспорта.
Для осуществления экспорта нужно выбрать команду Tools —Database Export. В результате на экране появится окно (рисунок 1.20), в котором нужно выбрать экспортируемую схему, имя и расположение файла, куда будут экспортироваться данные. Рекомендуется снять флажок Show Schema. Если этого не сделать, то все операторы будут содержать имя экспортируемой схемы, что усложнит процесс копирования. На компьютере, куда копируется база, нужно будет обязательно создать схему, имя которой должно совпадать с именем копируемой схемы.
Рисунок 1.20. Окно экспорта
Полученный в результате экспорта файл можно использовать для графического отображения таблиц базы данных и связей между ними. Для этого данный файл нужно импортировать в программу Oracle SQL Developer Data Modeler. Так были получены схемы баз данных, которые рассматривались в предыдущем разделе.
Можно настроить многие параметры SQL Developer в соответствии со своими предпочтениями и потребностями. Для этого нужно выбрать в меню Tools команду Preferences. В качестве примера рассмотрим настройки параметров Database: NLS (рисунок 1.21).
Здесь указываются значения для параметров поддержки глобализации, такие как язык, территория, предпочтения сортировки и формат даты. Эти значения параметров используются для операций сеанса SQL Developer. Указанные на этой панели настройки не влияют на настройки СУБД. Чтобы изменить настройки СУБД, необходимо изменить соответствующие параметры, используя специальные команды, и перезапустить базу данных.
Рисунок 1.21. Настройка параметров Database: NLS
