В лекции № 7 "Введение в Oracle SQL" в подразделе "Несамостоятельность группировки с обобщениями ROLLUP, CUBE и GROUPING SETS" представленная таблица сравнения содержит ошибки - окончания запросов пропущены. Видимо, ошибки вызваны некорректным переносом материала лекции. |
Лекция 2: Инструменты для работы с данными и демонстрационный пример
Инструмент для общения с базой данных
Фирма Oracle предоставляет два основных инструмента для общения с БД в диалоге посредством SQL: SQL*Plus и SQL Developer. Дальнейшие примеры в тексте, как правило, предполагаются для исполнения в SQL*Plus, однако с разной степенью корректировки исполняемы и в SQL Developer.
SQL*Plus — программа из обычного комплекта ПО Oracle для диалогового общения с БД путем ввода пользователем (или, возможно, из сценарного файла-"скрипта") текстов на SQL и PL/SQL и предъявления на экране компьютера результата, полученного от СУБД:
Запуск SQL*Plus может осуществляться:
- через меню ОС (в Windows);
- из командной строки (во всех ОС).
Пример запуска из командной строки:
SQL*Plus обрабатывает тексты на трех языках: SQL, PL/SQL и собственном. Во всех случаях регистр набора не имеет значения. Точнее, можно полагать, что, приняв на входе команду на любом из трех языков, "система" (выполняет ли эту работу SQL*Plus или СУБД, в данном случае неважно) повышает регистр всем буквам, кроме закавыченных символами "'" и """, а потом уж производит обработку. Следующие две команды SQL содержательно равносильны:
SELECT * FROM emp; select * FRoM Emp ;
Исключение из правила автоматического повышения регистра перед обработкой команды касается значения пароля в версиях, начиная с 11. С этой версии выдача следующих двух команд SQL приведет к установке разных значений пароля пользователю SCOTT:
ALTER USER scott IDENTIFIED BY tiger; ALTER USER scott IDENTIFIED BY Tiger;
Символ ";" используется в качестве признака окончания ввода команды SQL (они могут быть многострочными), но в некоторых случаях для этого используется / в первой позиции новой строки. Символ "-" используется как перенос продолжения набираемой команды SQL*Plus на новую строку (если эта команда чересчур длинна).
Собственные команды SQL*Plus служат для настроек работы этой программы, установления форматов и выполнения некоторых действий. Их несколько десятков, и полный перечень (в жизни избыточный) приведен в документации по Oracle.
Примеры:
-
DESCRIBE — выдача на экран общего описания структуры таблиц, представлений данных, типов объектов или пакетов:
DESCRIBE emp
-
SET — установка (а SHOW — просмотр) режимов выдачи данных на экран, например установка длины внутреннего буфера формирования строк ответа и установка разбиения ответа на запрос на страницы:
SET LINESIZE 200 SET PAGESIZE 50>
-
COLUMN — задание формата выдачи данных столбца на экран:
COLUMN object_type FORMAT A20
-
CONNECT/DISCONNECT — установление сеанса связи с СУБД, например:
CONNECT scott/tiger
В отличие от SQL и PL/SQL, большинство ключевых слов в языке SQL*Plus имеют сокращенные формы, часто употребляемые в жизни и в литературе, например:
DESC emp SET LINES 200 COL object_type FOR A20 CONN scott/tiger
Для обработки вводимых команд SQL (а заодно блоков на PL/SQL) в SQL*Plus применяется внутренний буфер команды. Он обновляется при каждом новом наборе текста на SQL (или блока на PL/SQL). Команда SQL*Plus LIST позволяет выдать на экран текущее содержимое буфера, команда RUN или же символ "/" — запустить содержимое на исполнение, а команда EDIT — редактировать.
SQL Developer тоже позволяет пользователю обращаться к БД на SQL, но имеет графический интерфейс и графические средства отладки. Для SQL Developer фирмой Oracle и третьими фирмами разработан ряд расширений: для администрирования картографической информации в БД (Oracle Spatial), для графического администрирования средств анализа данных (Oracle Data Mining) и др.
С целью моделирования БД графическим образом можно использовать родственный продукт Oracle SQL Developer Data Modeler.
Упражнение. При необходимости скачать из интернета SQL Developer ( http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html) и установить. Создать соединение со схемой SCOTT, открыть его. Посмотреть перечень и свойства таблиц в схеме SCOTT. Выдать запросы к данным таблиц.
В качестве графической среды разработки и отладки запросов SQL и программ на PL/SQL имеется также несколько программных продуктов третьих фирм. Они появились раньше, чем SQL Developer, в общем обладают теми же возможностями, но часто более тщательно проработаны в деталях. Дальнейшие примеры можно отрабатывать и с их помощью.