Средства для работы с базой данных Oracle

advertisement
Знакомство
Краткое описание
Работа с SQL Developer
Знакомство с SQL
Запрос SELECT
SQL*Plus Утилита SQL*Plus позволяет выполнять команды SQL и блоки
PL/SQL, а также решать ряд других задач.
С помощью SQL*Plus можно:
вводить, редактировать, запоминать, загружать и выполнять
команды SQL и блоки PL/SQL; форматировать, создавать,
сохранять, печатать и публиковать в Web результаты
выполнения запросов (отчеты); получать описание (имена и
типы столбцов) любой таблицы и представления; обращаться
к удаленным базам данных и копировать из них данные;
посылать и принимать сообщения от конечных
пользователей; администрировать базу данных. Работа
осуществляется через командную строку. Поставляется
вместе с Oracle.
PL/SQL Developer
– это Integrated Development Environment, направленное на
разработку программных единиц для Баз данных Oracle.
Все больше и больше бизнес логики и логики приложений
строятся на Oracle серверах, поэтому PL/SQL
программирование стало важной частью процесса
разработки. Фокусируется на простоте использования,
качестве кодирования и продуктивности, необходимых
преимуществах при разработке приложений Oracle.
Toad
- мощное средство, предназначенное для повышения
скорости разработки баз данных и приложений, а также
упрощения ежедневных задач администрирования. Toad
for Oracle позволяет разработчикам избегать
утомительных задач отладки PL/SQL кода, обеспечивает
удобную среду разработки приложений, экономя время
для разработки и тестирования больших проектов.
SQL Navigator
- решение для разработки и управления кодом PL/SQL.
Графический интерфейс интегрированной среды делает
удобной разработку и тестирование хранимых процедур,
схем, SQL сценариев, хранимых HTML-страниц с
внедренным PL/SQL и многого другого. Мощные средства
отладки, настройки SQL и интегрированные библиотеки
программного кода превращают разработку в быстрый и
свободный от ошибок процесс.
Oracle SQL Developer
-средство для работы с запросами SQL и
программными единицами PL/SQL.
Преимущества:
 официально бесплатен;
 разработан в самой Oracle;
 написан на языке Java, поэтому один и тот же графический интерфейс можно
использовать как из под Windows, так и под Unix;
 его можно использовать также для написания и отладки запросов к другим
СУБД;
 не требует установки на компьютер. Все пользовательские настройки в нем
хранятся в файлах XML, поэтому его достаточно скопировать на диск и при
первом запуске указать путь к Java (не ниже 6 версии)
Недостатки:
ресурсоемкость;
 отсутствие официальной поддержки со стороны службы поддержки Oracle;
некоторая неустойчивость в работе;
Oracle SQL Developer не распространен, так как появился не так давно.
Начинаем работу
При первом
запуске
необходимо создать
новое соединение с
базой данных.
Заполнить
настройки как
показано на
рисунке.
Спросить пароль у
преподавателя.
Нажать кнопку
«Connect»
При нажатии на
определенную
таблицу,
информация о
ней появляется
новой
вкладкой
Дерево
объектов
Окно
сообщений
Окно
для написания
Информация
о
запросов
таблице
Напишем самый простой запрос к таблице
SELECT * FROM DEMO_CUSTOMERS ;
SELECT - в данной команде
определяем столбцы выборки
(* - все столбцы таблицы)
FROM - определяем таблицу(ы)
Выполним запрос, нажатием на
кнопку
Результат отображается в окне
ниже
ВАЖНО:
В окне можно поместить
несколько запросов, при
нажатии кнопки, выполняется тот
запрос где стоит курсор, также
можно выделить запрос.
Облегчим работу :
При перетягивании таблицы в окно, можно автоматически
сформировать запрос, что избавит вас от написания
названий столбцов и ошибок в названиях.
Операторы SQL
Можно выделить следующие группы операторов:
Операторы DDL (Data Definition Language) - операторы определения
объектов базы данных
Операторы DML (Data Manipulation
манипулирования данными
Language)
-
операторы
Операторы защиты и управления данными
Кроме того, есть группы операторов установки параметров сеанса,
получения информации о базе данных, операторы статического SQL,
операторы динамического SQL.
Наиболее важными для
пользователя являются операторы
манипулирования данными (DML).
SELECT - отобрать строки из таблиц
INSERT - добавить строки в таблицу
UPDATE - изменить строки в таблице
DELETE - удалить строки в таблице
COMMIT - зафиксировать внесенные
изменения
ROLLBACK - откатить внесенные
изменения
Использования оператора SELECT
• Оператор SELECT предназначен для выборки данных из таблиц,
т.е. он, собственно, и реализует одно их основных назначение базы
данных - предоставлять информацию пользователю.
• Результатом выполнения оператора SELECT всегда является
таблица.
• Таким образом, по результатам действий оператор SELECT
похож на операторы реляционной алгебры. Любой оператор
реляционной алгебры может быть выражен подходящим образом
сформулированным оператором SELECT.
• Сложность оператора SELECT определяется тем, что он
содержит в себе все возможности реляционной алгебры, а также
дополнительные возможности, которых в реляционной алгебре
нет.
Мы уже написали самый простой запрос, давайте усложним
его выбрав несколько столбцов и дадим им более приятные
названия, а также добавим сортировку по одному из полей.
Если псевдоним для поля
содержит
пробелы
или
спецсимволы, то необходимо
заключить в двойные кавычки.
 Одинарные
кавычки
используются для добавления
текста в результирующем поле
Для сортировки в другом
направлении
используется
оператор
DESC
после
необходимого столбца в операторе
ORDER BY. Также можно
отсортировать по позиции указав
номер столбца в запросе
Задание : Сделайте подобный запрос для таблицы сотрудников с
сортировкой в обратном направлении
Арифметические выражения в запросах
Арифметические операции
используются в
выражениях для
отрицания, сложения,
вычитания, умножения и
деления числовых
величин. Результат
арифметической операции
имеет также числовое
значение. Некоторые из
этих операций
используются и для работы
с датами.
В приложении 1 (в конце презентации) представлены
арифметические операции в порядке убывания старшинства
Задание : Создайте 1 запроса с арифметической операцией
Использование условия для ограничения
количества строк
Условия записываются в оператор WHERE.
Возможно
использование
союзов AND, OR
Иcпользование
отрицания NOT
Сравнение с
пустым значением
NULL
Работа со
строками
и т.д.
Подробно об операторах сравнения
Приложение 2 в конце презентации
Задание : Создайте 3 запроса с различными видами условий отбора строк
Отбор данных из нескольких таблиц
Однако SQL позволяет
нескольким таблицам.
в
одном
запросе
обращаться
к
Если мы хотим связать
столбцы разных таблиц, то
их надо указать их с
именами самих таблиц,
чтобы сервер мог понять
какой столбец из какой
таблицы мы хотим взять, а
также указать по какому
столбцу осуществляется
связь.
В примере выводятся все
заказы и имена их
заказавших клиентов,
поскольку идентификатор
клиента мало информативен
для пользователя
Задание : Создайте запрос по таблицы сотрудники с названием отдела, в
котором они работают
Использование агрегатных функций и
группировка
Поля группировки указываются в операторе GROUP BY
COUNT - производит подсчет
строк, удовлетворяющих
условию запроса
SUM - вычисляет
арифметическую сумму всех
значений колонки
AVG - вычисляет среднее
арифметическое всех
значений
MAX - определяет
наибольшее из всех
выбранных значений
MIN - определяет
наименьшее из всех
выбранных значений
В примере выведены клиенты и
сумма всех их заказов
Задание : Создайте запрос считающий количество сотрудников в каждом
отделе
Приложение 1
арифметические операции
ОпераВыполняемая функция
ция
Меняет нормальный
порядок выполнения
операций. Операции
()
внутри скобок
выполняются в первую
очередь.
Означает положительное
+илиотрицательное
выражение.
*/
Умножить, разделить.
+-
Сложить, вычесть
Пример
SELECT
(X+Y)/(X_Y)...
...WHERE
QTYSOLD=-1
...WHERE -SAL<0
SELECT 2*X+1
...WHERE X>Y/2
SELECT 2*X+1
...WHERE X>Y-Z
Приложение 2
Операции сравнения
Операция
Выполняемая функция
Пример
()
Меняет нормальные правила старшинства операций.
...NOT(A=1 OR B=1)
=
!=,^=,<>
>
<
>=
>=
Проверяет на равенство
Проверяет на неравенство
"Больше чем" и
"меньше чем"
"Больше или равно" и
"меньше или равно"
...WHERE SAL=10000
...WHERE SAL!=10000
IN
"Равен любому члену из списка"
...WHERE JOB IN ('CLERK','ANALIST')
Эквивалентен "=ANY"
...WHERE SAL IN (SELECT SAL FROM
EMP WHERE DEPTNO=30)
NOT IN
Эквивалентен "!=ALL"
Результат FALSE любой элемент из набора NULL
...WHERE SAL NOT IN (SELECT SAL
FROM EMP WHERE DEPTNO=30)
ANY
Сравнивает значение с каждым значением из списка ...WHERE SAL=ANY (SELECT SAL FROM
или запроса. Должен предваряться: =,!=,>,<,<=,>=. EMP WHERE DEPTNO=30)
ALL
Сравнивает значение со всеми значениями из списка ...WHERE (SAL,COMM)>=ALL
или запроса. Должен предваряться: =,!=,>,<,<=,>=. ((1400,300),(3000,0))
[NOT] BETWEEN
[Не] больше или равно x и меньше или равно y.
x AND y
[NOT] EXISTS
[NOT] LIKE
IS [NOT] NULL
...WHERE SAL>10000
...WHERE SAL>=10000
WHERE A BETWEEN 1 AND 9
TRUE, если запрос возвращает [не возвращает] как
WHERE EXISTS (SELECT SAL FROM
минимум одну строку
EMP WHERE DEPTNO=30)
"не сопоставляется/сопоставляется со следующим
шаблоном". Символ "%" используется для
сопоставления с любой строкой из нуля или более
символов, кроме NULL - строки, а "_" сопоставляется с
любым одиночным символом. Примеры приводятся
ниже в разделе "Операция LIKE".
"проверка на [не] null. IS должен использоваться для
WHERE JOB IS NULL
проверки на NULL.
Download