Программирование на языке pl sql начало. Пример программирования собственной разметки JSP. Более сложные типы данных: коллекции

Программирование на языке pl sql начало. Пример программирования собственной разметки JSP. Более сложные типы данных: коллекции

14.04.2019

Для грамотного использования Oracle необходимо иметь хорошее понимания языка SQL . Курс "Oracle. Программирование на SQL, PL/SQL и Java " раскрывает полный спектр возможностей языка SQL в Oracle и ряд аспектов неочевидных особенностей построения типовых конструкций БД.

  • PL/SQL - процедурный язык , разработанный фирмой Oracle для написания хранимых в БД подпрограмм. PL/SQL обеспечивает общую основу процедурного программирования как в клиентских приложениях, так и на стороне сервера, в том числе хранимых на сервере подпрограмм, пакетов и триггеров базы данных.
  • Java - объектный язык , который может использоваться для работы с Oracle в самых разных конфигурациях, в том числе, благодаря встроенной в Oracle Java-машине, в качестве второго языка для хранимых процедур. Java не зависит от конкретных платформ и может служить эффективным средством интеграции БД Oracle с другими приложениями, в том числе в Internet.

Курс сопровождается практическими упражнениями, позволяющими закрепить понимание базовых понятий и освоить основные технические приемы программирования на языках SQL, PL/SQL и Java.

По окончании курса слушатели получают возможность самостоятельного программирования Oracle на этих трех языках для решения задач разработки приложений в архитектуре клиент-сервер и в трехзвенной архитектуре, а также задач администрирования БД.

Основное отличие этого курса от ряда других со схожей тематикой в том, что целью ставится научить конкретных слушателей реальной работе с Oracle на этих языках, а не прочитать формально программу, подготовленную третьей стороной.

Курс предназначен для разработчиков, программистов и администраторов баз данных. Слушатели должны обладать хорошим уровнем компьютерной грамотности, и иметь опыт программирования.

Знания даются по следующим версиям:

  • Oracle Database 8i
  • Oracle Database 9i
  • Oracle Database 10g
  • Oracle Database 11g
  • Oracle Database 12c

Программа курса "Oracle. Программирование на SQL, PL/SQL и Java"

Введение в Oracle SQL

1. Основные понятия

  • Базы данных и реляционная модель
  • Базы данных
  • Реляционный подход к моделированию данных
  • Реализация реляционной СУБД
    Другие подходы к моделированию данных и другие типы СУБД
  • Что такое SQL ?
  • История и стандарты
  • Oracle-диалект SQL
  • PL/SQL

2. SQL*Plus и ввод предложений на SQL

3. Пример "схемы" базы данных

4. Создание, удаление таблиц и изменение структуры

  • Предложение CREATE TABLE
  • Типы данных в столбцах
  • Уточнения в описаниях столбцов
  • Указание NOT NULL
  • Значения по умолчанию
  • Проверка CHECK поступающих в таблицу значений
  • Создание таблиц по результатам запроса к БД
  • Именование таблиц и столбцов
  • Виртуальные столбцы
  • Удаление таблиц
  • Изменение структуры таблиц
  • Логические и технические особенности удаления столбца
  • Использование синонимов для именования таблиц
  • Переименования
  • Справочная информация о таблицах в БД

5. Основные элементы предложений DML: выражения

  • Непосредственные значения данных (литералы)
  • Числовые значения
  • Строки текста
  • Моменты и интервалы времени
  • "Системные переменные"
  • Числовые выражения
  • Выражения над строками текста
  • Выражения над типом "момент времени"
  • Функции
  • Скалярные функции
  • CASE-выражения
  • Скалярный запрос
  • Условные выражения
  • Отдельные замечания по поводу отсутствия значения в выражениях

6. Выборка данных

  • Фразы предложения SELECT
  • Общие правила построения предложения SELECT
  • Порядок обработки предложения SELECT
  • Пример 1 предложения SELECT
  • Пример 2 предложения SELECT
  • Логическая целостность обработки предложения SELECT
  • Фраза FROM предложения SELECT
  • Варианты указания столбца
  • Столбцы из разных таблиц
  • Использование псевдонимов в запросе
  • Подзапрос в качестве источника данных
  • Специальный случай для запроса-соединения
  • Фраза WHERE предложения SELECT
  • Общий алгоритм отработки фразы WHERE
  • Операторы сравнения для получения условного выражения
  • Связки AND, OR и NOT для комбинирования условных выражений
  • Условный оператор IS
  • Условный оператор LIKE
  • Условный оператор BETWEEN
  • Условный оператор IN с явно перечисляемым множеством
  • Условный оператор IN с множеством, получаемым из БД
  • Условия сравнения с подзапросом
  • Указание ANY и ALL для сравнения с элементами множества значений
  • Условный оператор EXISTS
  • Фраза SELECT и функции в предложении SELECT
  • Сокращенная запись для группового отбора столбцов
  • Выражения во фразе SELECT
  • Подзапросы во фразе SELECT
  • Уточнение DISTINCT
  • Особенности поведения стандартных агрегатных функций в предложении SELECT
  • Именование столбцов в результате запроса
  • Системная функция ("переменная") ROWNUM и особенности ее использования
  • Аналитические функции
  • Выражение типа ссылка на курсор
  • Фраза ORDER BY предложения SELECT
  • Простейшая сортировка
  • Упорядочение по значению выражения
  • Указание номера столбца
  • Двоичное и "языковое" упорядочение строк
  • Особенности обработки отсутствующих значений (NULL)
  • Фразы GROUP BY и HAVING предложения SELECT
  • Пример отработки фразы GROUP BY … HAVING
  • Отсутствие значения в выражении для группировки
  • Другие примеры
  • Указание ROLLUP, CUBE и GROUPING SETS в во фразе GROUP BY
  • Фраза CONNECT BY предложения SELECT
  • Специальные системные функции в предложениях с CONNECT BY
  • Упорядочение результата
  • Фраза WITH предварительной формулировки подзапросов
  • Комбинирование предложений SELECT
  • Комбинирование оператором UNION
  • Комбинирование оператором INTERSECT
  • Комбинирование оператором MINUS
  • Подзапросы
  • Операция соединения в предложении SELECT
  • Виды соединений
  • Новый синтаксис в версии 9
  • Особенности выполнения операции соединения

7. Обновление данных в таблицах

  • Добавление новых строк
  • Явное добавление строки
  • Добавление строк, полученных подзапросом
  • Добавление в несколько таблиц одним оператором
  • Изменение существующих значений полей
  • Использование умолчательных значений в INSERT и UPDATE
  • Удаление строк из таблицы
  • Выборочное удаление
  • Вариант полного удаления
  • Комбинирование UPDATE, INSERT и DELETE в одном операторе
  • Логическая целостность операторов обновления данных таблиц и реакция на ошибки
  • Реакция на ошибки в процессе исполнения
  • Фиксация изменений в БД
  • Данные о системном номере изменения для строки
  • Ускорение выполнения COMMIT

8. Быстрое обращение к прошлым значениям данных

  • Чтение старых значений строк таблицы
  • Восстановление таблиц и данных ранее удаленных таблиц

9. Схемные ограничения целостности

  • Разновидности схемных ограничений целостности
  • Ограничение NOT NULL
  • Первичные ключи
  • Уникальность значений в столбцах
  • Внешние ключи
  • Дополнительное условие для значения в поле строки
  • Дополнительное условие, связывающее значения в нескольких полях строки
  • Добавление ограничения при наличии нарушений
  • Приостановка проверки схемных ограничений в пределах транзакции
  • Отключение и включение схемных ограничений целостности
  • Технология включения и выключения схемных ограничений целостности
  • Более сложные правила целостности

10. Виртуальные таблицы (производные, выводимые: views)

  • Основные ("базовые") и виртуальные таблицы
  • Обновление виртуальных таблиц
  • Ограничения прямой модификации данных через виртуальные таблицы
  • Запрет непосредственных обновлений
  • Сужение возможности непосредственных обновлений
  • Виртуальные таблицы с хранием данных
  • Особенности именованых виртуальных таблиц
  • Неименованые виртуальные таблицы без хранения данных

11. Нескалярные типы для "сложно устроенных" данных в Oracle

  • Хранимые объекты
  • Простой пример
  • Использование свойств и методов объектов
  • Использование ссылок на объект
  • Коллекции
  • Вложенные таблицы
  • Массивы VARRAY
  • Тип XMLTYPE
  • Простой пример
  • Таблицы данных XMLTYPE
  • Преобразование табличных данных в тип XMLTYPE
  • Тип ANYDATA

12. Вспомогательные виды хранимых объектов

  • Генератор уникальных номеров
  • Каталог операционной системы
  • Таблицы с данными временного хранения
  • Ссылка на другую БД
  • Подпрограммы
  • Индексы
  • Индексы для проверки схемных ограничений целостности
  • Таблицы с внешним хранением данных

13. Некоторые замечания по оптимизации SQL-предложений

14. Транзакции и блокировки

  • Транзакции в Oracle
  • Примеры блокировок данных транзакциями
  • Разновидности блокировок
  • Неявные блокировки при операциях DML
  • Влияние внешних ключей
  • Явная блокировка таблиц (тип TM) командой LOCK
  • Явная блокировка отдельных строк таблиц
  • Недокументированная разновидность групповой блокировки
  • Блокировки предложениями DDL

15. Пользователи (схемы) и дополнительные средства разграничения доступа к данным

16. Таблицы системного каталога (словаря-справочника)

18. Встроенный SQL

  • Некоторые примеры составления запросов

19. Выдать сотрудников в соответствии с большим (меньшим) окладом

  • Вопрос к БД
  • "Очевидное", но неправильное решение
  • Правильные решения
  • Решение типа top-N (начиная с версии 8.1.5)
  • Решение с использованием аналитических функций ранжирования

20. Переформулировка запроса с HAVING

22. Ловушка условия с отрицанием NOT

23. Ловушка в NOT IN (S)

Введение в PL/SQL

1. Основные понятия

  • Место PL/SQL в архитектуре Oracle
  • Общая структура программы на PL/SQL

2. Основные типы и структуры данных

  • Скалярные переменные
  • Числовые типы
  • Строковые типы
  • Моменты времени и интервалы
  • Булевы переменные
  • LOB-типы
  • Объявление переменных и постоянных
  • Записи
  • Объявление записей в программе
  • Присвоения
  • Ссылка на типы уже имеющихся данных
  • Пользовательские подтипы

3. Выражения

4. Основные управляющие структуры

  • Ветвление программы
  • Предложение IF-THEN
  • Предложение IF-THEN-ELSE
  • Предложение IF-THEN-ELSIF
  • Предложения CASE
  • Безусловная передача управления
  • Циклы
  • Простой цикл
  • Счетный цикл (FOR)
  • Цикл по курсору (FOR)
  • Цикл WHILE
  • Имитация цикла REPEAT UNTIL
  • Метки в циклах и в блоках

5. Подпрограммы

  • Локальные подпрограммы
  • Переопределение «внешних» имен
  • Предваряющие (forward) объявления
  • Повторение имен на одном уровне (overloading)
  • 6. Взаимодействие с базой данных: статический SQL
  • Использование записей вместо (списка) скаляров

7. Регулирование изменений в БД

  • Управление транзакциями
  • Блокировки
  • Автономные транзакции

8. Встроенный динамический SQL

  • Операторы встроенного динамического SQL
  • Сравнительный пример двух способов работы с динамическим SQL

9. Использование курсоров

  • Явные курсоры
  • Объявление явных курсоров
  • Открытие явных курсоров
  • Извлечение результата через явный курсор
  • Закрытие явного курсора
  • Отсутствие запрета изменений таблиц при открытом курсоре
  • Атрибуты для явных курсоров
  • Несколько примеров использования циклов и курсоров
  • Курсоры с блокировкой строк таблицы
  • Предложение SELECT … FOR UPDATE
  • Предосторожности употребления курсоров с блокировкой
  • Возможность изменять строки, выбираемые курсором
  • Ссылки на курсор
  • Общие сведения
  • Пример употребления для структуризации программы
  • Неявные курсоры

10. Обработка исключительных ситуаций

  • Объявление исключительных ситуаций
  • Примеры обработки
  • Порождение исключительных ситуаций
  • Зона действия и распространение
  • «Внутренние» исключительные ситуации блока
  • Использование функций SQLCODE и SQLERRM

11. Хранимые процедуры и функции

  • Общий синтаксис
  • Параметры
  • Тип параметра
  • Режим использования параметра
  • Значения по умолчанию
  • Способы указать фактические значения параметрам
  • Обращение к параметрам и к локальным переменным в теле подпрограммы
  • Указания компилятору при создании подпрограмм
  • Хранимые подпрограммы и привилегии доступа к данным в БД
  • Две логики реализации привилегий доступа к данным БД
  • Особенности передачи привилегий через роли

12. Триггерные процедуры

  • Создание триггерной процедуры
  • Отключение триггерных процедур
  • Триггерные процедуры для событий категории DML
  • Комбинированные триггерные процедуры
  • Управление транзакциями в теле триггерной процедуры
  • Последовательность срабатывания триггерных процедур, когда их несколько
  • Триггерные процедуры INSTEAD OF для выводимых таблиц
  • Триггерные процедуры для событий категории DDL
  • Триггерные процедуры для событий уровня схемы и БД

13. Пакеты в PL/SQL

  • Общая структура пакета
  • Обращение к элементами пакета
  • (Глобальные) данные пакета
  • Взаимные вызовы и повторения имен
  • Инициализация пакета
  • Прагма SERIALLY_REUSABLE

14. Вызов функций PL/SQL в предложениях SQL

  • Требования и ограничения на применение функций пользователей в SQL
  • Обращение в SQL к функциям из состава пакетов
  • Разрешение конфликта имен столбцов и функций
  • Табличные функции в SQL

15. Более сложные типы данных: коллекции

  • Синтаксис объявления типов для коллекций
  • Работа с ассоциативными массивами
  • Создание вложенной таблицы и массива VARRAY в программе
  • Добавление и убирание элементов в коллекциях
  • Множественные действия с коллекциями
  • Преобразования коллекций
  • Методы для работы с коллекциями в программе
  • Примеры использования коллекций в программе
  • Привилегии
  • Серийное выполнение и привязывание запросов к массивам
  • Серийное выполнение однотипных операций: конструкция FORALL
  • Привязка массивами: конструкция BULK COLLECT INTO
  • Пример для схемы SCOTT
  • Использование коллекций в табличных функциях (потоковой реализации)
  • Простой пример
  • Использование для преобразования данных

16. Отладка процедур в PL/SQL

  • Таблицы словаря-справочника
  • Зависимости подпрограмм
  • Системные пакеты
  • Пакет DBMS_PROFILER
  • Пакет DBMS_TRACE
  • Функции пакета DBMS_UTILITY
  • Пакет DBMS_DEBUG
  • Пример построения профиля работы программы

17. Системы программирования для PL/SQL

18. Системные пакеты PL/SQL

  • Пакеты STANDARD и DBMS_STANDARD
  • Прочие системные пакеты
  • Запись данных из программы в файл и обратно
  • Шифрование данных
  • Автоматический запуск заданий в Oracle
  • Управление динамическим размещением объектов в библиотечном буфере
  • Манипулирование большими неструктурированными объектами NULL
  • Доступ к старым значениям данных
  • Рассылка сообщений из программы на PL/SQL
  • Возможности работы в PL/SQL с COM Automation
  • Дополнительные сведения
  • Простой пример разделения открытия курсора и обработки
  • Более сложный пример разделения работы

20. Атрибуты триггерных процедур уровня схемы БД и событий в СУБД

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ ORACLE НА JAVA

1. Основные понятия

  • Место Java в архитектуре Oracle
  • Соотношение и взаимосвязь PL/SQL и Java в Oracle

2. Особенности Java и среда работы программ на Java

  • Архитектура Java
  • Программные компоненты в среде разработки на Java
  • Установка среды разработки для Java
  • Среда окружения OC

3. Создание самостоятельных программ на Java

  • Пример транслирования и выполнения программы

4. Создание хранимых программ на Java в Oracle

  • Дополнительные компоненты СУБД Oracle для работы с хранимыми программами на Java
  • Ограничения на хранимые программы на Java
  • Установка, удаление и обновление JServer/OJVM
  • Пример создания хранимой Java-программы
  • Создание с помощью loadjava
  • Создание SQL-предложением
  • Обращение к загруженному классу
  • Работа со словарем-справочником
  • Организация справочной информации
  • Просмотр Java-элементов
  • Просмотр исходных текстов
  • Преобразование имен
  • Особенности встроенной JVM
  • Интерпретатор ojvmjava

5. Элементы программирования на Java

  • Основы языка
  • Базовые конструкции языка
  • Переменные
  • Операторы
  • Выражения, предложения и блоки
  • Передача управления
  • Объекты и простые структуры
  • Классы и наследование
  • Создание классов
  • Механика использования класса в программе
  • Наследование
  • Интерфейсы
  • Обработка исключительных ситуаций
  • Некоторые приемы программирования на Java
  • Графический интерфейс
  • Группы объектов (коллекции)
  • Потоковый ввод и вывод
  • Параметризация работы программы с помощью наборов свойств
  • Сериализуемость объектов

6. Взаимодействие с базой данных через JDBC

  • Использование JDBC
  • JDBC и JDBC-драйверы
  • JDBC-драйверы в Oracle
  • Установка JDBC-драйверов для работы с Oracle
  • Программа на Java для проверки связи через JDBC
  • Работа с данными Oracle из внешних программ на Java
  • Обращение к БД через толстый OCI-драйвер
  • Работа с данными Oracle из хранимых программ на Java
  • Обращение к БД через толстый драйвер («родной», kprb)
  • Обращение к БД через тонкий драйвер
  • Обращение к данным из триггерных процедур Oracle

7. Дополнительные свойства протокола JDBC

  • Соединение с СУБД с помощью техники DataSource
  • Простой пример соединения техникой DataSource
  • Пример соединения с использованием службы JNDI
  • Пример кеширования соединений
  • Примеры организации логических соединений
  • Изменение данных в БД и обращение ко хранимым подпрограммам
  • Изменение данных
  • Управление транзакциями
  • Обращение к хранимым программам
  • Параметризация запросов
  • Использование типов данных Oracle
  • Повышение эффективности обращений к БД
  • Повторяющиеся запросы
  • Пакетное выполнение
  • Ссылка из программы на курсор в СУБД

8. Взаимодействие с базой данных через SQLJ

  • Простой пример программы
  • Транслирование и выполнение программы с SQLJ
  • Более сложный пример: множественная выборка из БД
  • Использование SQLJ в хранимых процедурах на Java
  • Пример с загрузкой извне
  • Пример с внутренней трансляцией

9. Основы построения приложений для web с помощью Java и Oracle

  • Клиентская часть: работа с аплетами
  • Пример транслирования и выполнения аплета
  • Web-сервер Apache
  • Общение с web-сервером по протоколу HTTP
  • Общие понятия обмене сообщениями в HTTP
  • Организация диалога в HTML
  • Работа с сервлетами Java
  • Общие сведения о сервлетах Java и о контейнерах сервлетов
  • Устройство сервлета Java
  • Пример составления сервлета на Java
  • Пример обращения к сервлету
  • Пример сервлета с обращением к базе данных
  • Использование класса HttpServlet
  • Работа с JavaServer Pages
  • Пример составления страницы JSP
  • Пример обращения к странице JSP
  • Некоторые возможности построения страниц JSP
  • Способы обращение к БД из страницы JSP
  • Модель MVC организации приложения для web

10. Взаимодействие компонентов приложения для web

  • Передача управления компонентов приложения web друг другу
  • Обращение на страницах HTML к страницам JavaServer и сервлетам
  • Передача управления со страниц JavaServer
  • Передача управления компонентам web из сервлетов
  • Абстракции Java для построения приложения web
  • Запрос и ответ
  • Область действия (scope)
  • Контекст сервлета
  • Предопределенные объекты страницы JavaServer
  • Передача данных компонентов приложения web друг другу
  • Передача данных через параметры запроса
  • Передача данных через контекст и компоненты JavaBeans

11. Пример построения приложения для web средствами Java и Oracle

  • Страница Logon.html
  • Сервлет Logon
  • Страница LogonError.html
  • Страница Main.jsp
  • Страница CompanyData.jsp и класс orajava.demos.StuffData
  • Сервлет Logout
  • Транслирование классов, размещение файлов и проверка приложения
  • Дополнительные сведения

12. Пример программирования собственной разметки JSP

  • Пример использования готовой разметки
  • Пример программирования собственной разметки

В конце обучения на курсе проводится итоговая аттестация в виде теста или на основании оценок за практические работы, выполненных в процессе обучения.

В современном мире сложно обойтись без информационных технологий и их производных - компьютеров, мобильных телефонов, интернета и т.д., особенно в крупных компаниях и государственных организациях, работающих с большим количеством людей, а не только с парой VIP-клиентов, как это может быть в случае небольшой компании. А там, где есть большое количество контрагентов, заявителей и т.д. - не обойтись без баз данных, необходимых для обработки информации. Естественно, что времена гроссбухов и карточек, памятных многим по библиотекам, давно прошли, сегодня используются персональные компьютеры и электронные базы данных.

Сегодня невозможно представить работу крупнейших компаний, банков или государственных организаций без использования баз данных и средств Business Intelligence . Базы данных позволяют нам хранить и получать доступ к большим объемам информации, а система управления базами данных (СУБД) - осуществлять менеджмент доступных хранилищ информации.

В Учебном центре « Интерфейс» Вы научитесь эффективно использовать системы управления базами данных: быстро находить нужную информацию, ориентироваться в схеме базы данных, создавать запросы, осуществлять разработку и создание баз данных.

Обучение позволит Вам не только получить знания и навыки, но и подтвердить их, сдав соответствующие экзамены на статус сертифицированного специалиста. Опытные специалисты по СУБД Microsoft SQL Server или Oracle могут быть заинтересованы в изучении систем бизнес-аналитики. Это задачи достаточно сложные, использующие громоздкий математический аппарат, но они позволяют не только анализировать происходящие процессы, но и делать прогнозы на будущее, что востребовано крупными компаниями. Именно поэтому специалисты по бизнес-аналитике востребованы на рынке, а уровень оплаты их труда весьма и весьма достойный, хотя и квалифицированным специалистам по базам данных, администраторам и разработчикам, жаловаться на низкий уровень дохода тоже не приходится. Приходите к нам на курсы и получайте востребованную и высокооплачиваемую профессию. Мы ждем Вас!

В конце обучения на курсах проводится итоговая аттестация в виде теста или путём выставления оценки преподавателем за весь курс обучения на основании оценок, полученных обучающимся при проверке усвоения изучаемого материала на основании оценок за практические работы, выполненные в процессе обучения.

Учебный центр "Интерфейс" оказывает консалтинговые услуги по построению моделей бизнес-процессов, проектированию информационных систем, разработке структуры баз данных и т.д.

  • Нужна помощь в поиске курса?
    Наша цель заключается в обеспечении подготовки специалистов, когда и где им это необходимо. Возможна корректировка программ курсов по желанию заказчиков! Мы расскажем Вам о том, что интересует именно Вас, а не только о том, что жестко зафиксировано в программе курса. Если вам нужен курс, который вы не видите на графике или у нас на сайте, или если Вы хотите пройти курс в другое время и в другом месте, пожалуйста, сообщите нам, по адресу

Год выпуска: 2002

Издательство: Гелиос АРВ

Формат: PDF

Книга "Работаем с Oracle" представляет собой быстрое введение в методы и средства распределенной СУБД Oracle. Рассмотрены методологические основы распределенной обработки информации, основные объекты базы данных Oracle, язык SQL -базовое средство взаимодействия с сервером баз данных и его процедурное расширение PL/SQL. Представляется возможность получить углубленные знания по использованию SQL для работы с большими базами данных. Особое внимание уделено технологиям Oracle, обеспечивающим безопасность и целостность данных в условиях многопользовательского доступа. В книге также содержится описание средств, предназначенных для создания приложений на языке Java. Книга ориентирована на студентов, молодых специалистов и всех желающих самостоятельно познакомиться с Oracle - распределенной СУБД для эффективной обработки данных.

Азбука Oracle

Предисловие ко второму изданию

Благодарности

Раздел 1. Архитектура распределенных систем обработки данных

Средства обработки данных: эволюция идей и систем

Эволюция реляционных СУБД на фоне истории Oracle

Oracle 8 . Основные возможности

Архитектуры обработки данных

Локальные вычислительные сети как среда передачи данных

Эталонная модель взаимодействия открытых систем

Компоненты распределенной системы и ЭМВОС

Конфигурирование сетевых компонент Oracle

Архитектура сервера Oracle

Использование инструментального средства SQL*Plus

Информация о результатах операции

Поддержка мультиязычности в Oracle

Соглашения, принятые для описания команд

Раздел 2. SQL - язык обработки данных Oracle

Основные объекты Oracle

Средства манипулирования данными языка SQL

Структура запроса

Простейшие запросы

Формирование критерия отбора,

Базовые средства определения критерия отбора

Язык описания данных Oracle

Типы данных Oracle

Строки символов

Числовые типы

ROWID

Битовые строки

Дата и время

LOB-объекты

Таблицы. Представления. Пользователи

Создание и удаление таблиц в Oracle

Средства определения и уничтожения представлений

Средства регистрации и исключения пользователей

Операция вставки строк

Операция удаления строк

Операция модификации строк

Специальные предикаты SQL

Предикат IN

Предикат BETWEEN

Предикат LIKE

Предикат IS NULL

Предикат EXISTS

Предикаты с кванторами ALL, ANY и SOME

Теоретико-множественные операции

Внешнее объединение

Сортировка

Иерархии

Группирование и агрегатные функции

Синтаксис языка запросов

Связи с удаленными базами данных. Снимки данных

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

Средства определения и уничтожения снимков

Последовательности. Синонимы

Создание последовательностей

Создание синонимов в Oracle

Работа с табличными областями в Oracle

Раздел 3. PL/SQL - процедурное расширение языка SQL

Структура программы на PL/SQL

Переменные, константы и типы

Управление выполнением программы

Оператор ветвления

Операторы цикла

Оператор GOTO

Курсоры

Обработка исключительных ситуаций

Процедуры, функции и пакеты

SQL-функции Oracle

Функции, устанавливающие соответствие числовых кодов и символов

Функции преобразования символов подстрок

Символьные функции усечения и дополнения строк

Символьные функции преобразования строк

Функции, связанные с выделением подстрок

Числовые функции, связанные с возведением в степень и логарифмированием

Тригонометрические функции

Числовые функции, связанные с округлениями

Числовые функции, связанные со знаком числа

Числовые функции, связанные с модулярной арифметикой

Функции, оперирующие с датами

Функции преобразования типов данных

Функции замены аргументов

Справочные функции

Создание пользовательских процедур и функций

Пакеты

Триггеры базы данных

Стандартные пакеты Oracle

Динамический SQL

Файловый ввод-вывод

Управление заданиями

Управление LOB-объектами

Управление многопользовательским доступом

Использование функций PL/SQL в SQL-выражениях

Раздел 4. Средства разграничения доступа в Oracle

Анализ включающей инфраструктуры

Идентификация пользователей

Базовое понятие системы разграничения доступа-привилегии

Предоставление системных привилегий

Системные привилегии, определяющие права по работе с таблицами и представлениями

Системные привилегии, определяющие права по работе с процедурами и триггерами

Системные привилегии, определяющие права по работе с пользователями

Системные привилегии, определяющие права по работе с табличными областями

Системные привилегии, определяющие права по работе с последовательностями

Системные привилегии, определяющие права по работе с синонимами

Системные привилегии, определяющие права по выполнению глобальных действий в системе

Системные привилегии, определяющие права по выполнению действий с остальными объектами БД

Использование конструкции PUBLIC и параметра WITH ADMIN OPTION

Предоставление привилегий доступа к объекту

Управление привилегиями с помощью ролей

Системные привилегии, определяющие права по работе с ролями

Предопределенные роли в Oracle

Создание ролей и предоставление им привилегий

Управление допустимостью использования ролей

Отмена привилегий

Отмена системных привилегий и ролей

Отмена привилегий доступа к объекту

Использование представлений для разграничения доступа

Хранимые процедуры как средство разграничения доступа

Использование триггеров для повышения защиты системы

Средства аудита

Аудит системных событий

Аудит событий, связанных с доступом к объекту

Прекращение регистрации событий

Обработка данных аудита

Профили пользователя как средство повышения защищенности системы

Дополнительные сведения

Раздел 5. Создание приложений на языке Java

Средства построения приложений и организации доступа к базам данных

Создание приложений на языке Java

Простейшее приложение на Java

Простейший апплет

Выполнение SQL-операторов создания таблиц, ввода и модификации данных

Простая выборка данных

Параметрические запросы

Хранимые процедуры на языке Java

Раздел 6. Средства обеспечения целостности данных

Определение транзакции и ее роль в СУБД

Начало и окончание транзакции

Предложения SQL, управляющие транзакциями

Предложение COMMIT WORK

Использование предложения SAVEPOINT

Предложение ROLLBACK WORK

Непротиворечивость и параллельная обработка

Типы блокировок

Экспорт/импорт данных

Раздел 7. Методы повышения производительности

Оптимизатор

Ранжирование методов доступа

Анализ запросов с целью повышения скорости их выполнения

Задание режима оптимизации

Обзор индексов Oracle

Эффективное кодирование SQL-выражений

Изменение плана выполнения запроса

Секционирование таблиц

Секционирование индексов

Операции с секциями

Индекс-таблицы

Раздел 8. Объектные расширения в OracleS

Объектные типы

Объекты в базе данных

Массивы

Вложенные таблицы

Спецификации доступа

Объектные представления

Oracle 9i

Заключение

Литература

Structured Query Language (структурированный язык запросов) или SQL - это декларативный язык программирования для использования в квази-реляционных баз данных. Многие из оригинальных черт SQL были взяты для кортежных исчислений, но последние расширения SQL включают все больше реляционной алгебры.
SQL изначально создан IBM , но многие производители разработали собственные диалекты. Он была принят в качестве стандарта американским Национальным институтом стандартов (ANSI) в 1986 и ISO в 1987 . В стандарте языка программирования SQL, ANSI заявил, что официальный произношение SQL является "эс кью эль". Тем не менее, многие специалисты базы данных употребляли "сленговое" произношение «Сиквель», что отражает первоначальное название языка, Sequel, которое было изменено позже из-за возникшего конфликта торговых марок и наименований у компании IBM. Программирование для начинающих.
Язык программирования SQL был пересмотрен в 1992 , и эта версия известна как SQL-92 в. Потом было вновь пересмотрено 1999 , чтобы стать SQL: 1999 (AKA SQL3). Программирование для чайников. SQL 1999 поддерживает объекты, которые ранее не поддерживается и в других версиях, но только в конце 2001 года лишь несколько систем управления базами данных поддерживали SQL реализации: 1999.
SQL, хотя определяется как ANSI и ISO, имеет множество вариаций и расширений, большинство из которых имеют собственные характеристики, такие как реализация корпорации Oracle «PL / SQL» или реализация Sybase и Microsoft под названием «Transact-SQL», что может запутать знакрмящегося с основами программирования. Также не редкость для коммерческих реализаций опустить поддержку основных особенностей стандарта, такие типы данных как дата и время, предпочитая какой-то их собственный вариант. Как результат, в отличие от ANSI C или ANSI Fortran которые обычно можно портирована с платформы на платформу без серьезных структурных изменений, запросы языка программирования SQL редко могут быть перенесены между разными системами баз данных без существенных модификаций. Большинство людей в области баз данных считают, что это отсутствие совместимости является намеренным, с тем чтобы обеспечить каждого разработчика собственной системой управления базами данных и привязать покупателя к конкретной базе данных.
Как следует из названия, язык программирования SQL предназначен для конкретных, ограниченных целей - запросов данных, содержащихся в реляционной базе данных. Как таковой, он представляет собой набор инструкций языка программирования для создания выборок данных, а не процедурный язык, такой как C или BASIC , которые предназначены для решения гораздо более широкого круга проблем. Расширения языка, таких как «PL / SQL» предназначены для решения этого ограничения, добавив процедурные элементы для SQL при сохранении преимуществ SQL. Другой подход заключается в том, что позволяется в зопросы SQL встраивать команды процедурного языка программирования и взаимодействовать с базой данных. Например, Oracle и другие поддерживают язык Java в базе данных, в то время как PostgreSQL позволяет писать функции на Perl, Tcl, или С.
Один анекдот про SQL: "SQL не является ни структурированным, ни языком." Суть шутки состоит в том, что SQL не является языком Тьюринга. .

Select * from T
C1 C2
1 a
2 b
C1 C2
1 a
2 b
Select C1 from T
C1
1
2
C1 C2
1 a
2 b
Select * from T where C1=1
C1 C2
1 a

Учитывая таблицу T, запрос Select * from T выведет на экран все элементы всех строк таблицы.
Из той же таблицы, запрос Select C1 from T выведет на экран элементы из столбца C1 всех строк таблицы.
Из той же таблицы, запрос Select * from T where C1=1 выведет на экран все элементы всех строк, где значение колонки С1 равно "1".

SQL ключевые слова

SQL слова делятся на ряд групп.

Первая - это Data Manipulation Language или DML (язык управления данными). DML является подмножеством языка, используемого для запроса к базам данных, добавления, обновления и удаления данных.

  • SELECT является одной из наиболее часто используемых команд DML и позволяет пользователю задать запрос как описание желаемого результата в виде множества. В апросе не указано, каким образом результаты должны быть расположены - перевод запроса в форму, которая может быть выполнена в базе данных, является работой системы баз данных, более конкретно оптимизатора запросво.
  • INSERT используется для добавления строк (формального набора) для существующей таблицы.
  • UPDATE используется для изменения значений данных в существующей строке таблицы.
  • DELETE определение существующих строк, которые будут удалены из таблицы.

Три другие ключевых слова, можно сказать, что попадают в группу DML:

  • BEGIN WORK (или START TRANSACTION, в зависимости от диалекта SQL) могут быть использованы, чтобы отметить начало транзакции базы данных, которые либо выполнятся все полностью или вообще не выполнятся.
  • COMMIT устанавливает, что все изменения данных в после совершения операций сохраняются.
  • ROLLBACK определяет, что все изменения данных после последней фиксации или отката должны быть уничтожены, до того момента, который был зафиксирован в БД как «откат».

COMMIT и ROLLBACK применяются в таких областях, как контроль транзакций и блокировки. Обе инструкции завершают все текущие транзакции (наборы операций над БД) и снимают все блокировки на изменение данных в таблицах. Присутствие или отсутствие BEGIN WORK или аналогичного заявления зависит от конкретной реализации SQL.

Вторая группа ключевых слов относится к группе Data Definition Language или DDL (язык определения данных) . DDL позволяет пользователю определять новые таблицы и связанные с ними элементы. Большинство коммерческих баз данных SQL имеют собственные расширения в DDL, которые позволяют осуществлять контроль над нестандартныыми, но обычно жизненно важными элементами конкретной системы.
Основные пункты DDL являются команды создавать и удалять.

  • CREATE определяет объекты (например, таблицы), которые будут созданы в базе данных.
  • DROP определяет, какие существующие объекты в базе данных будут удалены, как правило, безвозвратно.
  • Некоторые системы баз данных также поддерживают команду ALTER, которая позволяет пользователю изменять существующий объект по-разному - например, так можно произвести добавление столбцов в существующую таблицу.

Третьей группой ключевых слов SQL является Data Control Language или DCL(язык контроля данных) . DCL отвечает за права доступа к данным и позволяет пользователю контролировать, кто имеет доступ, чтобы просматривать или манипулировать данными в базе данных. Здесь два основных ключевых слова:

  • GRANT - разрешает пользователю выполнять операции
  • REVOKE - удаляет или ограничивает возможность пользователю выполнять операции.

Системы баз данных с использованием SQL

  • InterBase
  • MySQL
  • Oracle
  • PostgreSQL
  • SQL Server

Как стать профессионалом по разработке сайтов и начать зарабатывать? Недорогие видео курсы с ознакомительным введением.

Одна из проблем при наличии множества вариантов разработки - выяснить, какой из них лучше всего подходит в конкретной ситуации. Все хотят получить максимальную гибкость (как можно больше вариантов), но при этом так, чтобы все было просто и понятно. Oracle дает разработчикам практически неограниченный выбор. Никто еще не говорил: Этого нельзя сделать в Oracle ; говорят иначе: Сколько способов сделать это в Oracle вам надо? . Я надеюсь, что книга поможет вам сделать правильный выбор.

Эта книга для тех, кто приветствует свободу выбора, но хотел бы получить рекомендации и узнать особенности реализации тех или ин1х средств и функций Oracle. Например, СУБД Oracle предлагает замечательную возможность создания виртуальной приватной базы данных (virtual private database). В документации Oracle описано, как использовать эту возможность и что она дает. В документации, однако, не сказано, когда ее использовать и, что видимо еще важнее, когда ее не надо использовать. В документации не всегда представлены детали реализации той или иной возможности, а если они не известны, то могут неожиданно встать на вашем пути. (Речь идет не об ошибках, но о предполагавшихся способах работы и первоначальном назначении соответствующих средств.)

Для кого предназначена эта книга?

Целевой аудиторией являются все разработчики приложений для Oracle как сервера баз данных. Книга написана для профессиональных разработчиков Oracle, интересующихся тем, как решить задачу средствами этой СУБД. Практическая ориентация книги означает, что многие разделы будут очень интересны администраторам баз данных (АБД). В большинстве примеров, приведенных в книге для демонстрации ключевых возможностей, используется утилита SQL*Plus, поэтому вы не сможете узнать из нее, как разрабатывать удобный и красивый графический пользовательский интерфейс, но зато узнаете, как работает СУБД Oracle, что позволяют сделать ее основные средства и когда их нужно (и не нужно) использовать.

Книга предназначена для тех, кто хочет получить от СУБД Oracle большую отдачу при меньших усилиях. Она для каждого, кто хочет знать, как средства Oracle могут применяться в практической работе (при этом не только приводятся примеры использования того или иного средства, но и объясняется, почему это средство необходимо). Еще одна категория людей, которым эта книга покажется интересной, - технические руководители групп разработчиков, реализующих проекты на базе Oracle. В некотором отношении очень важно, чтобы они знали особенности СУБД, имеющие принципиальное значение для успешной разработки. Эта книга может дать дополнительные аргументы руководителю проекта, желающему обучить персонал необходимым технологиям или убедиться, что разработчики уже знают то, что им необходимо знать.

Чтобы получить максимальную отдачу от этой книги, читатель должен:

О Знать яз1к SQL. He обязательно быть лучшим специалистом по SQL в стране, но хорошее практическое знание существенно поможет.

Понимать программе! на яз1ке PL/SQL. Это не обязательное требование, но знание PL/SQL поможет воспринять примеры. Эта книга, например, не объясняет, как создавать циклы FOR или объявлять тип записи - об этом достаточно написано в документации Oracle и в многочисленных книгах. Однако это не значит, что вы не узнаете много нового о программировании на PL/SQL, прочтя эту книгу. Узнаете. Вы очень близко познакомитесь со многими возможностями PL/SQL и узнаете новые способы решения задач, изучите пакеты и средства, о существовании которых, возможно, даже и не подозревали.

Иметь определенный опыт работы с процедурным языком программирования, например С или Java. Я уверен, что любой, кто способен понимать и писать код на каком-то процедурном языке программирования, сможет успешно разобраться в примерах, представленных в книге.

Ознакомиться с руководством Oracle Server Concepts Manual.

Несколько слов об этом руководстве. Из-за большого объема многих пугает документация Oracle. Если вы только начинаете изучение руководства или ранее не читали подобной документации, я рекомендую начать именно с OracleSi Concepts. Его объем - около 800 страниц, и в нем описаны многие из фундаментальных концепций Oracle, о которых вам надо знать. Это руководство не описывает все технические детали (именно этому посвящены остальные 10-20 тысяч страниц документации), но представляет все важнейшие концепции. В руководстве затронуты, в частности, следующие темы:

структура базы данных, организация и хранение данных;

распределенная обработка;

архитектура памяти Oracle;

архитектура процессов Oracle;

объекты пользовательской схемы (таблицы, индексы, кластеры и т.д.);

встроенные и определяемые пользователем типы данных;

хранимые процедуры;

особенности организации транзакций;

оптимизатор;

целостность данных;

управление одновременным доступом.

Я и сам периодически перечитываю соответствующие главы. Это - фундаментальные концепции. Если вы их не понимаете, создаваемые вами приложения Oracle будут обречены на провал. Я рекомендую прочитать это руководство и разобраться хотя бы в важнейших вещах.

Структура книги

Чтобы облегчить восприятие, книга поделена на шесть отдельных частей (они описаны ниже). Это не просто структурные единицы - они помогут быстрее найти наиболее существенную информацию. Книга состоит из 23 глав, каждая из которых - мини-книга, то есть практически отдельный компонент. Изредка я ссылаюсь на примеры или возможности, описанные в других главах (часть, посвященная защите, например, больше других зависит от примеров и понятий, представленных в других главах). Но, как правило, вполне можно читать главу отдельно от остальной книги. Например, вовсе не нужно прочитать главу 10, чтобы понять главу 14.

Форматы и стили глав практически идентичны:

Введение в описываемые средства или возможности.

Почему это нужно (или не нужно) использовать. Я описываю ситуации, когда

имеет смысл использовать данное средство и когда этого делать не стоит.

Как это использовать. Это не просто цитата из справочного руководства по язы-

ку SQL, а пошаговое описание: вот что требуется, что для этого надо сделать, а вот предварительные условия применения. В этом разделе рассматривается:

Как применить то или иное средство или прием

Примеры, примеры и еще примеры

Отладка, поиск ошибок при реализации

Подводные камни при использовании средства

Устранение ошибок (превентивное)

О Резюме, подводящее итог рассмотрения.

В книге содержится множество примеров и большое количество кода, причем весь этот код доступен для загрузки на сайте http: www.wrox.com. Далее представлено подробное содержание каждой части.

Основные понятия

Глава 1. Разработка успешн1х приложений для Oracle. В этой главе описан мой принципиальный подход к программированию баз данных. Все СУБД устроены по-разному, и чтобы успешно и в срок разработать приложение, использующее базу данных, необходимо точно знать, что и как позволяет сделать ваша СУБД. Не зная возможностей СУБД, вы рискуете в очередной раз изобрести велосипед, то есть создать средства, уже предоставляемые базой данных. Если вы не знаете, как работает СУБД, то с большой вероятностью будете создавать неэффективные и непредсказуемые приложения.

В этой главе описывается ряд реальных приложений, при создании которых недостаток понимания базовых концепций СУБД привел к неудаче всего проекта. На основе такого практического подхода с контрпримерами в главе описываются базовые возможности и функции СУБД, которые необходимо понимать

[ 1 ] ...

Играть на онлайн деньги http://asino-zeon.com/ все о бонусах.

© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows