Сайт о телевидении

Сайт о телевидении

» » Основы субд oracle. основные объекты. средства манипулирования данными языка sql. структура запроса. простейшие запросы. Блоги: администрирование, программирование, базы данных, SQL, Oracle

Основы субд oracle. основные объекты. средства манипулирования данными языка sql. структура запроса. простейшие запросы. Блоги: администрирование, программирование, базы данных, SQL, Oracle

23 сентября 2019 года (Москва) 25 ноября 2019 года (Москва)
Стоимость: 38 745 руб. скидка 10% до 17.03.2019 34 870 руб.

Для грамотного использования 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 могут быть заинтересованы в изучении систем бизнес-аналитики. Это задачи достаточно сложные, использующие громоздкий математический аппарат, но они позволяют не только анализировать происходящие процессы, но и делать прогнозы на будущее, что востребовано крупными компаниями. Именно поэтому специалисты по бизнес-аналитике востребованы на рынке, а уровень оплаты их труда весьма и весьма достойный, хотя и квалифицированным специалистам по базам данных, администраторам и разработчикам, жаловаться на низкий уровень дохода тоже не приходится. Приходите к нам на курсы и получайте востребованную и высокооплачиваемую профессию. Мы ждем Вас!

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

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

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

Блоги по базам данных участников нашей соцсети программистов и системных администраторов на различные темы. Прежде всего мы уделяем внимание базам данных Oracle Database и MySQL. Также рассматриваем основы баз данных: теорию и методы проектирования, разработки СУБД, язык SQL (и его дополнение для Оракл - PL/SQL). В блогах объясняем как основы администрирования БД, программирования приложений под базы для начинающих, так и делимся секретами решения сложных проблем. Делитесь Ваши знаниями, ставьте вопросы, публикуйте готовые решения и рецепты! Помогите новичкам и покажите свой профессионализм! Хедхантеры не дремлют!

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

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

Проблема

У вас есть приложение, которое собирает данные об использовании приложений анонимно, поэтому вы обязаны информировать пользователей об этом при первом запуске приложения.

Решение

Храните общие настройки, сохраняя их значения только один раз. Каждый раз, когда приложение запускается, оно проверяет эти значения в настройках.

Проблема

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

Решение

Используйте Google Analytics для отслеживания приложения на основе опреде­ленных критериев, аналогично механизму отслеживания веб-сайта Google Analytics.

Проблема

Вы хотите создать заставку, которая появится во время загрузки приложения Android.

Решение

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

Проблема

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

Проблема

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

Существует несколько подходов. Если все ваши данные содержат элементар­ные типы, состоят из объектов класса String или являются объектами класса Serializable , вы можете сохранить их с помощью метода onSavelnstanceState() в переданном объекте класса Bundle .

Как получить доступ к глобальным данным из приложения Android

Подробности Категория: Программирование Опубликовано: 05 марта 2019 Просмотров: 258
Поговорим про Oracle Database

Программное обеспечение баз данных - это основное на сегодняшний день программное средство управления большими объемами информации. Система управления базой данных (СУБД) должна быть способна надежно управлять большими объемами данных в многопользовательской среде, обладать высокой производительностью, быть защищенной от несанкционированного доступа и предоставлять эффективные решения для восстановления от сбоев. В этой статье я бы хотел рассказать об особенностях СУБД Oracle на примере Oracle 10g, уделив внимание также технологии Oracle Real Application Cluster.

Общие сведения о СУБД Oracle

Сервер Oracle Database (далее просто Oracle) обеспечивает эффективные и действенные решения для основных средств баз данных. Кратко рассмотрим каждое из них. Oracle поддерживает самые большие базы данных - потенциальным размером до сотен гигабайт. Чтобы обеспечить действенный контроль за использованием дорогостоящих дисковых устройств, он предоставляет полный контроль распределения пространства. Oracle поддерживает большое число пользователей, одновременно выполняющих разнообразные приложения, которые оперируют одними и теми же данными. Он минимизирует соперничество за данные и гарантирует согласованность данных. Oracle поддерживает все описанные выше возможности, при этом сохраняя высокую степень суммарной производительности системы. Пользователи базы данных не страдают от низкой производительности обработки. Во многих случаях ПО Oracle должно работать 24 часа в сутки, не имея периодов разгрузки, ограничивающих пропускную способность базы данных. Нормальные системные операции - такие, как откат базы данных, а также частичные сбои компьютерной системы, - не прерывают работу с базой данных. Oracle может выборочно управлять доступностью данных, как на уровне базы данных, так и на более низких уровнях. Например, администратор может отключить доступ к конкретному приложению (с тем, чтобы можно было осуществить перезагрузку данных этого приложения), не затрагивая других приложений. Чтобы извлечь максимум преимуществ из имеющейся компьютерной системы или сети, Oracle позволяет разделять работу между сервером базы данных и прикладными программами клиентов. Вся тяжесть управления совместно используемыми данными может быть сосредоточена в компьютере, выполняющем СУБД, в то время как рабочие станции, на которых работают приложения, могут сконцентрироваться на интерпретации и отображении данных. Программное обеспечение Oracle совместимо с промышленными стандартами включая большинство стандартных операционных систем - таких, как семейство Microsoft Windows NT, а также различные версии Linux. Приложения, разрабатываемые для Oracle, могут использоваться в любой операционной системе с минимумом модификаций или вообще без таковых. Oracle удовлетворяет промышленно принятым стандартам по языку доступа к данным, операционным системам, интерфейсам с пользователем и сетевым протоколам. Это открытая система, которая защищает инвестиции конечного заказчика. Сервер Oracle был сертифицирован Национальным институтом стандартов и технологий США как 100% совместимый со стандартом ANSI/ISO SQL89. Oracle полностью удовлетворяет требованиям правительственного стандарта США FIPS127-1 и имеет маркировщик для подчеркивания нестандартных применений SQL. Кроме того, Oracle был оценен Правительственным национальным центром компьютерной безопасности (NCSC) как совместимый с критериями защиты Оранжевой книги; сервер Oracle и Trusted Oracle отвечают соответственно как уровням C2 и B1 Оранжевой книги, так и сравнимым с ними европейским критериям защиты ITSEC. Oracle является классической реляционной СУБД, использующей механизм клиент-сервер.

Важным преимуществом СУБД Oracle является механизм пакетной обработки запросов с подтверждением. Транзакционный механизм позволяет не опасаться сбоев программной среды и оборудования. В случае успешного завершения обработки пакета SQL-команд сервер баз данных генерирует так называемый commit - подтверждение успешного выполнения, которое отсылается клиенту. В случае же аппаратного или программного сбоя происходит rollback - возвращение к предыдущей контрольной точке, благодаря чему целостность данных в любой ситуации не будет нарушена. Для возможности отмены целого набора транзакций предусмотрен механизм точек сохранения, которые могут быть созданы вручную или автоматически. Таким образом, отпадает необходимость в постоянной архивации базы данных, которую можно проводить лишь несколько раз в сутки, а в остальных случаях администратор просто восстанавливает точки сохранения. СУБД Oracle использует язык SQL - простой, мощный язык доступа к базе данных, который является стандартным для реляционных СУБД. SQL, реализованный корпорацией Oracle для Oracle, на 100% согласуется со стандартом ANSI/ISO языка SQL. Кроме того, в Oracle реализовано расширение стандартных функций SQL, называемое PL/SQL. PL/SQL сочетает легкость и гибкость SQL с процедурными возможностями языка структурного программирования - такими, как IF...THEN, WHILE и LOOP. Наличие огромного количества средств разработки приложений, взаимодействующих с СУБД Oracle, среди которых присутствуют такие известные решения, как Microsoft Visual Studio, Borland Delphi и JDeveloper, позволяет большинству программистов без особых временных затрат научиться писать приложения, использующие в качестве хранилища базы данных Oracle. Поддержка механизмов ODBC, BDE и JDBC позволяет осуществлять миграцию между различными программными и аппаратными платформами с минимальными затратами на модификацию программного обеспечения. Благодаря полной унификации всех версий СУБД Oracle в одной и той же сети могут работать разные версии Oracle для различных платформ - к примеру, сервер баз данных может иметь версию Oracle 8 for Unix, а клиенты - Oracle for Windows, при этом никаких проблем с взаимодействием не возникнет. Все вышеперечисленное позволяет использовать СУБД Oracle для автоматизации практически любых процессов, где идет работа с большим объемом данных - начиная от простейших АРМ небольшого предприятия и заканчивая системами управления ядерными реакторами и ускорителями частиц.

Технология Oracle Real Application Cluster(RAC)

Высокая эффективность и доступность информационных систем - ключевое требование к повседневной работе предприятия или научной лаборатории. Рост зависимости от сохраненной информации за последнюю пару десятилетий привел тому, что накапливаются и анализируются большие объемы данных. Требования к высокоэффективным базам данных постоянно растут, и одновременно растут осведомленность и требования к поддержанию таких баз данных в оперативном режиме. При неравномерной и непредсказуемой загрузке систем БД многих деловых групп решающее значение приобрел поиск высокоэффективных систем и подходящих параллельных систем для поддержки сложных и больших БД. Еще одно важное свойство - масштабируемость. По мере роста локальной вычислительной сети предприятия растет накопление и взаимодействие данных, все больше пользователей и приложений начинают использовать системы БД, от которых требуется удовлетворять растущую потребность в данных без потери производительности и доступности. Для решения этих проблем в Огас1е9 имеется поддержка технологии Real Application Clusters (RAC). RAC поддерживает модель с разделением дисков, а, следовательно, имеет доступ ко всем разделяемым дискам и экстенсивный механизм координирования ресурсов на разных узлах. Технология разделения дисков быстро продвинулась вперед за последние несколько лет, что обеспечило RAC дополнительные преимущества. Технология "сервер-хранилище данных" (Storage Area Network - SAN) скрывает многие сложности аппаратных модулей, контроллеров, дисководов и межсерверных соединений, оставляя на поверхности только тома памяти (storage volumes). Таким же образом группа серверов в кластере обеспечивает один образ системы и вычислительный ресурс. Все эти достижения в области аппаратных средств только подчеркивают неоспоримые успехи RAC. На очень высоком уровне RAC представляет собой несколько экземпляров Oracle, обращающихся к одной базе данных Oracle. База данных - одна физическая БД, сохраненная на системе с разделением памяти. Каждый из экземпляров постоянно находится на отдельном хосте (также называемом "узел" или "сервер"). Все узлы собираются в кластеры через частное межсоединение и имеют доступ к разделяемой памяти. Все узлы параллельно выполняют транзакции в одной и той же БД. Как правило, предоставляемое поставщиками ПО менеджера кластера обеспечивает одно системное изображение, управляет членами узла и контролирует состояние узла. К главным компонентам относятся:

Узлы/серверы.
. Высокоскоростное частное межсоединение.
. Менеджер кластера или уровень зависимости от операционной системы (Operating System Dependent Layer - OSD).
. Разделяемый диск или память.
. Файловая система кластера или прозрачное устройство.
. Менеджер тома.
. Общедоступная сеть.

RAC - база данных с множественными экземплярами. Множественные экземпляры параллельно обращаются к одной и той же базе данных. Структура экземпляра RAC не так уж сильно отличается от автономного экземпляра Oracle. Помимо всех обычных процессов Oracle - например, PMON, SM0N, LCWR и BVVR - существует много специальных процессов, порождаемых для координирования связи между экземплярами и облегчения разделения ресурсов узлами кластера. Движение буфера между экземплярами и новый набор блоков Past Image Blocks (сохраняющих целостность данных) приводят к использованию дополнительных ресурсов из SGA.

LMON - диспетчер сервиса глобальных очередей (Global Enqueue Service Monitor - LMON) контролирует весь кластер, обеспечивая управление глобальными очередями и ресурсами. LMON управляет сроком действия процесса и экземпляра и восстановлением для Global Cache Service. LMD - демон сервиса глобальных очередей (Global Enqueue Service Daemon - LMD) - процесс агента блокировки, управляющий запросами сервиса менеджера для очереди Global Cache Service на доступ к глобальным очередям и ресурсам. Процесс LMD также обрабатывает обнаруженные взаимоблокировки и удаленные запросы на постановку в очередь.

LMSn - эти процессы сервисов глобального кэша (Global Cache Service Processes - LMSn) являются процессами для Global Cache service (GCS). Программное обеспечение RAC поддерживает до десяти процессов Global Cache Service. Число LMSn изменяется в зависимости от объема трафика передачи сообщений между узлами кластера.

GCS и GES - обеспечивают единое системное изображение данных, даже если к данным обращаются несколько экземпляров. GCS и GES являются интегрированными компонентами Real Application Clusters, которые координируют одновременный доступ к базе данных коллективного пользования и к разделяемым ресурсам в БД и кэше базы данных. GES и GCS вместе поддерживают Global Resource Directory (GRD), чтобы записывать в него информацию о ресурсах и очередях. GRD остается в памяти и сохраняется во всех экземплярах. Каждый экземпляр управляет частью каталога. Распределенный характер управления имеет решающее значение для отказоустойчивости RAC.

Преимущества Oracle Real Application Cluster

Oracle RAC обеспечивает ряд преимуществ по двум направлениям: повышение производительности базы данных и повышение отказоустойчивости. Под отказоустойчивостью в данном случае понимается возможность бесбойного обслуживания клиентских приложений в случае аппаратного или программного сбоя одного или нескольких узлов кластера, именуемых нодами. При этом подразумевается нормальная работа общего дискового массива, который может быть реализован в виде сетевого жесткого диска, использующего механизм iSCSI, или дисковой стойки. В случае подключения к RAC клиент базы данных взаимодействует не с одним listener (прослушивателем), а с группой listeners_имя базы данных. В таком случае клиент получает список IP-адресов всех нод кластера, причем данный список будет обновляться в случае включения новых нод. В случае обрыва соединения с текущей нодой и сбоя при повторном соединении клиент устанавливает соединение со следующей нодой в списке, и так происходит до того момента, пока не будет найдена рабочая нода. При этом клиент будет также учитывать нагрузку на каждую ноду, выбирая такую, которая быстрее всех обработает тестовый запрос (данный тест является опциональным и должен быть включен администратором базы данных). Таким образом, Oracle RAC сохраняет работоспособность до того момента, пока в кластере остается хотя бы одна рабочая нода. В Oracle RAC присутствует понятие general node (главная нода), однако оно относится исключительно к средствам администрирования. Как правило, general node является рабочим местом администратора базы данных, с нее осуществляется управление кластером. При этом выход из строя general node не приводит к остановке всего кластера. Отсюда вытекает еще одно важное преимущество Oracle RAC - возможность децентрализации. Предположим, на предприятии или в лаборатории имеется несколько мощных рабочих станций, вычислительные мощности которых используются не полностью. Если соединить такие рабочие станции при помощи локальной вычислительной сети, то можно получить высокоотказоустойчивую базу данных. При этом в случае возрастания нагрузки на одну или несколько рабочих станций со стороны непосредственных пользователей будет происходить плавное снижение нагрузки на данные рабочие станции со стороны базы данных вплоть до полного отключения клиентов. Таким образом можно достигнуть рационального использования вычислительной техники и повышения доступности информации для работников организации.

Из-за чего RAC может выйти из строя? Причиной может стать любая плохая разработка или вариант выбора. Обслуживание базы данных включает в себя много компонентов. помимо самой БД, RAC может быть включен и работать, но быть недоступен для клиентов. Между клиентскими машинами и серверами БД существуют промежуточные сетевые компоненты. В них может произойти сбой. Стихийные бедствия, уничтожающие аппаратные средства - например, пожар, наводнение или землетрясение, - могут вывести кластер и базу данных из строя. Однако при условии локализации сбоев свойство RAC обеспечивает максимальную безопасность и непрерывное обслуживание базы данных. Даже при потере многих компонентов кластер с RAC может все еще функционировать. Но для этого требуется избыточная разработка всех входящих в него компонентов. Ключевое слово здесь - "разработка". Недостаточно просто установить два или больше узлов; для надежного Real Application Cluster необходимы двойные межсоединения, двойные пути к блокам памяти, двойные блоки памяти, двойное электропитание, двойной общедоступный сетевой интерфейс и т.д. Пока в кластере доступен один из экземпляров Oracle, клиентские приложения имеют доступ к данным и могут выполняться без проблем.

Управление Oracle с использованием Oracle Enterprise Manager

Одной из основных компонент Oracle Enterprise Manager (OEM) является центральная консоль оператора. Сидя за этой консолью, администратор базы данных видит все СУБД, которые он администрирует, несмотря на то, что они размещаются на разных компьютерах, которые могут быть разбросаны по разным зданиям, городам и странам. Он может отслеживать состояние этих СУБД и выполнять с каждой СУБД или с группой СУБД различные административные действия, не сходя со своего рабочего места. При необходимости он может все это делать через Интернет. Кроме СУБД, администратор может контролировать с этой консоли узлы сети (компьютеры), листенеры (прослушиватели), серверы приложений (Oracle application servers), Oracle Developer Server, ERP-приложения (SAP/R3, Oracle Applications) и, конечно же, Oracle RAC.

OEM состоит из 3 компонент:
. центральные консоли, за которыми работают администраторы;
. управляющие серверы (Management servers), реализующие всю логику OEM;
. интеллектуальные агенты (Intelligent Agents), работающие на узлах, где размещены БД, и выполняющие там задания по поручению управляющих серверов.

Для эффективной работы с Oracle Enterprise Manager необходимо настроить Oracle Management Server, иначе многие полезные функции OEM будут недоступны. Для этого следует воспользоваться Enterprise Manager Configuration Assistant. Этот простой в использовании мастер позволит настроить OMS даже неопытному администратору. OEM позволяет выполнять не только те команды, которые выполняются экземпляром (instance) Oracle, но и команды операционной системы, старт и остановку БД. Поэтому на каждом управляемом узле должен работать сервис, который не привязан к состоянию БД. Эту роль и выполняет интеллектуальный агент. Он может выполнять скрипты, стартовать БД, выполнять команды операционной системы, контролировать возникновение заказанных OEM-событий. Причем выполнение этих работ может происходить в заранее указанные моменты времени или с определенной периодичностью, а результат будет передан управляющему серверу тогда, когда тот будет иметь связь с агентом. Вместе с OEM можно проинсталлировать его web-вариант. Он не требует дополнительного конфигурирования. Администратор просто запускает на компьютере с OEM установленную упрощенную версию сервера приложений и может работать с консолью через Интернет/Интранет с любого компьютера, где есть web-браузер (правда, при первом обращении придется выгрузить и установить пакет Jinitiator). Через этот web-интерфейс доступны все функции OEM и пакета DBA Management Pack. OEM и все его модули имеют графический интерфейс. Большинство работ выполняется с помощью мыши. Выполнить сложные операции помогают помощники (Wizards). Они разбивают сложную операцию на части и ведут с АБД диалог, объясняя, что и как надо делать. Таким образом, даже не очень опытный администратор может выполнить сложные задачи. Кроме того, OEM еще и обучает АБД в процессе работы. Вы всегда можете посмотреть текст скриптов и SQL операторов, которые он формирует, и понять, что и почему будет делаться.

В состав OEM входит набор заранее подготовленных заданий - таких, как анализ данных, экспорт/импорт, загрузка данных, копирование/восстановление, старт/остановка БД, выполнение команд SQLPLUS и Server Manager. Меняя параметры этих заданий, можно выполнять широкий набор функций. Кроме того, этапы одного задания могут быть взаимосвязаны - например, выполняться только при успешном или неуспешном выполнении предыдущего этапа задания. Задания могут запускаться не только по времени, но и автоматически при возникновении фиксируемых OEM- событий в БД или на узле. Это так называемые Fixit job. Например, при возникновении события "В табличном пространстве xxxxx осталось менее 1 Мб свободного пространства" автоматически запустится Fixit job, увеличивающая это табличное пространство. Вмешательство администратора здесь не требуется. Он будет лишь извещен о выполнении работы. В режиме работы с Oracle RAC OEM может рассматривать кластер как единую машину, выполняя операции обслуживания на всех нодах кластера сразу. При этом в случае возникновения проблем на одной из нод администратор сможет переключиться к просмотру Oracle Management Console по узлам кластера и работать только с "проблемной нодой". Таким образом, при правильной настройке OEM становится практически идеальным инструментом, когда администратор БД будет проактивным. OEM будет предупреждать события до их возникновения, а администратору не придется реагировать в пожарном порядке на постоянно возникающие проблемы. В этом случае количество проблем уменьшится, а вероятность ошибок станет минимальной. Выгоды от использования такого инструмента понятны. Уменьшится время простоя системы и повысится ее производительность.

Xpert Quest TOAD как средство разработки приложений, взаимодействующих с БД Oracle

Quest Toad - лучший инструмент для разработки и администрирования СУБД Oracle на сегодняшний день. Применяя Toad для управления объектами базы данных, пользователю не требуется иметь квалификацию эксперта, ему доступен простой и понятный графический интерфейс, позволяющий создавать и заполнять таблицы даже не владея языком SQL. Однако при выполнении любого действия начинающий программист баз данных может просмотреть SQL-код, выполняемый при тех или иных операциях, что позволяет одновременно и работать, и изучать язык SQL. Quest TOAD состоит из следующих основных модулей. Модуль Schema Browser в TOAD позволяет быстро просматривать и управлять словарем данных. По щелчку мыши на выбранном объекте пользователь мгновенно получает подробную информацию, минуя длинную иерархию хранения объектов. В том же окне можно управлять всеми объектами. Мощные редакторы Toad повышают производительность разработчика, исключают ошибки и значительно сокращают сроки разработки. Редакторы позволяют пользователям работать одновременно с исходными кодами на нескольких языках (SQL, PL/SQL, HTML, Java) или с текстом. Заменяя традиционный способ выполнения запроса в командной строке или из сценария графическим интерфейсом, Toad обеспечивает быструю и удобную среду разработки, легко конфигурируемую под предпочтения пользователя. SQL Editor повышает производительность разработки за счет большого количества горячих клавиш, функций автокорректировки, опережающего ввода и цветового выделения синтаксиса:

Удобные закладки позволяют разработчикам быстро перемещаться между несколькими областями программного кода.
Полнофункциональная панель инструментов облегчает редактирование и тестирование.
Всплывающие селекторы для выбора имен таблиц, имен столбцов и функций/ключевых слов.
Procedure Editor позволяет пользователям работать с несколькими файлами, в параллельном режиме используя SCC-совместимое управление версиями. Одновременно могут компилироваться несколько объектов с согласованной компиляцией всех зависимых объектов.

Редакторы Toad тесно интегрированы с отладчиком PL/SQL Debugger, что позволяет пользователям тестировать только определенные области процедур, выполнять только текущий оператор, несколько операторов за курсором или только операторы до курсора. SQL Modeler - средство для быстрого и легкого построения запросов. Достаточно перенести таблицы в SQL Modeler, и модуль автоматически сформирует запрос SQL. Удобная интегрированная среда позволяет уточнять критерии запроса, тестировать автоматически сгенерированные запросы SQL, просматривать планы выполнения и результаты запросов, сохранять выражения или копировать их в редактор. Применяя SQL Modeler, даже неопытные пользователи могут быстро создавать сложные запросы на уровне экспертов. Модуль PL/SQL Debugger обеспечивает удобную среду отладки приложений, экономя время для разработки и тестирования больших проектов. За счет интеграции отладчика с редактором Procedure Editor разработчики могут редактировать и отлаживать хранимые процедуры построчно - так, как они выполняются на сервере. Отладчик полностью контролирует выполнение приложения, устанавливая наблюдение за любым количеством переменных с просмотром и изменением их значений в процессе выполнения. Нормальное выполнение приложения при этом не изменяется, чем устраняется потребность в написании обработчиков ошибок. Более того, сеанс отладки может выполняться во время работы программ в других сеансах. Toad позволяет разработчикам избегать утомительных задач отладки PL/SQL, экономя ценное время и улучшая общее качество приложений. Кроме всего вышеперечисленного, Quest TOAD умеет импортировать и экспортировать структуру базы данных или все ее содержимое. Благодаря этой способности Quest TOAD позволяет, к примеру, перевести уже существующую базу данных в кластерный вариант с минимальными временными затратами.

Oracle RAC в действии

Решения на базе СУБД Oracle активно применяются для автоматизации документооборота и наукоемких физических экспериментов с большим объемом данных, поступающих от экспериментальных установок. Координирование совместной работы значительного числа ученых (на сегодняшний день около 6500 человек), распределенных по всему миру, сопряжено со значительными административными затратами, для уменьшения которых в ЦЕРН была разработана и внедрена корпоративная система электронного документооборота (EDH). Система EDH автоматизирует практически все стороны хозяйственной деятельности ЦЕРН включая закупки, платежи, отпуска, командировки, кадровые вопросы, обеспечение безопасности работ, предоставление информационных услуг, материально-техническое снабжение, заявки на обучение и др. Система осуществляет верификацию данных и автоматическое прохождение документов по всем необходимым адресам, исходя из структуры организации и характера документов. Безопасность и конфиденциальность данных гарантируется применением новейших разработок в области защиты информации и электронно-цифровой подписи. Система EDH написана на языке программирования высокого уровня Java с использованием технологий разработки корпоративных приложений (Java 2 Enterprise Edition - J2EE). Документы представлены в EDH в виде электронных форм, доступных из любой точки земного шара через среду World Wide Web. При этом вся бизнес- логика находится на стороне сервера, а клиент реализован на языке разметки гипертекста HTML (т.н. "тонкий клиент"). В процессе создания EDH были формализованы понятия, используемые в бизнес-процессах ЦЕРН ("сотрудники", "коды затрат", "подразделения" и т.д.), и разработаны библиотеки объектов для их хранения, обработки и ввода/вывода. Все данные хранятся в реляционной СУБД Oracle, доступ к которой осуществляется при помощи языка SQL (Structured Query Language - структурированный язык запросов) через интерфейс JDBC (Java Database Connectivity - интерфейс подключения к базе данных для Java). Была разработана и внедрена базовая инфраструктура, позволяющая быстро автоматизировать любые бизнес-процессы. Данная инфраструктура реализует функции, общие для всех типов документов - такие, как ввод/вывод, контроль доступа, проверка целостности данных, функции сохранения и отсылки документов. Маршрутизация электронных документов реализуется с помощью системы Oracle Workflow, для чего бизнес- процессы вначале формализуются при помощи сетей Петри.

Разработанная архитектура EDH успешно эксплуатируется с 2000 года. За это время в системе было создано и маршрутизировано более миллиона электронных документов. С 1996 года в ЦЕРН ведется строительство нового ускорителя "Большой адронный коллайдер" (LHC). В LHC могут осуществляться столкновения протонных пучков с энергией 14 ТЭВ в туннеле протяженностью 27 км. LHC является крупнейшей в мире сверхпроводящей установкой с рабочей температурой -270°C. При строительстве LHC для уменьшения расходов по вводу системы в эксплуатацию была создана система EVM. Для системы EVM было адаптировано программное приложение, разработанное в ЦЕРН ранее в Oracle Designer. Данное приложение было перенесено на платформу Java Enterprise Edition с центральной базой данных Oracle. При этом была использована легковесная архитектура с четким разделением модели, вида и контроллера, так как оригинальная архитектура стандарта EJB (Enterprise Java Beans) была сочтена слишком тяжелой для данной задачи.

Перед инженерами-проектировщиками LHC была поставлена задача составления центрального формата рабочих единиц таким образом, чтобы длительность каждой задачи не превышала трех месяцев. В результате было идентифицировано 12.000 рабочих единиц. Поскольку определение большого количества взаимосвязанных рабочих единиц через web-интерфейс представляет определенные трудности, в системе EVM был предусмотрен модуль импорта/экспорта данных в электронную таблицу Microsoft Excel. Для оперативного анализа транзакций (Online Transaction Processing - OLTP) и оперативного анализа данных (Online Analytical Processing - OLAP) был разработан и внедрен автоматизированный модуль обработки суммарных данных, позволяющий руководителям проекта получать в реальном режиме времени информацию о ходе работ и обеспечивающий анализ этой информации в различных разрезах. Поскольку доступ к системе EVM был преднамеренно открыт для всех участников проекта, возникла необходимость отслеживания сделанных изменений. Для этого все отчеты о результатах, как сделанные через web-интерфейс, так и полученные из Excel, группируются в транзакции и записываются в центральную базу данных. Каждая транзакция может затем быть визуализирована и при необходимости отменена. В EVM входит система обработки событий, отслеживающая влияние транзакций на план и расходы и уведомляющая нужных участников проекта на основе подписки на предупреждения.

Заключение

В данной статье я постарался просто и доступно рассказать про особенности Oracle Database и, смею надеяться, заинтересовал вас данной СУБД. В таком случае вам стоит посетить сайт производителя Oracle Database

ОСНОВЫ СУБД ORACLE
Лекция №2
Основные объекты ORACLE. Средства
манипулирования данными языка SQL. Структура
запроса. Простейшие запросы. Формирование
критерия отбора. Сортировка

Объекты модели хранения данных ORACLE

ОБЪЕКТЫ МОДЕЛИ ХРАНЕНИЯ ДАННЫХ
ORACLE
Разделение логического и физического
хранения данных одна из необходимых частей
парадигмы реляционных баз данных. Как уже
говорилось, различается физическая и
логическая структуры.
Физическая структура включает в себя
файлы данных, управляющие файлы и
оперативные журналы.
Логическая структура – это табличные
пространства, сегменты, экстенты и блоки
данных.

Логические структуры

ЛОГИЧЕСКИЕ СТРУКТУРЫ
Табличные пространства – верхний уровень
абстракции.
Сегмент данных – пространство, выделенное для
логического объекта в табличном пространстве. Он
располагается только в одном табличном пространстве, но
может находится в любом файле этого табличного
пространства. Сегмент состоит из одного или более
экстентов.
Экстент – это последовательность физически
прилегающих друг к другу блоков данных. Табличное
пространство для сегментов выделяется путем добавления
экстентов.
Блок данных – наименьшая логическая единица, которую
ORACLE выделяет в файле данных. Блок данных
ORACLE состоит из одного или более блоков
операционной системы.

Взаимосвязь между логическими структурами

ВЗАИМОСВЯЗЬ МЕЖДУ ЛОГИЧЕСКИМИ
СТРУКТУРАМИ

Каталоги

КАТАЛОГИ
Объект каталог (directory) является
логической ссылкой в базе данных на каталог
файловой системы сервера, где установлена
БД ORACLE. Владельцем всех объектов
directory в базе данных является пользователь
SYS, даже если объект directory создан другим
пользователем. Имена объектов directory
уникальны внутри всей БД. Все объекты
Directory хранятся в табличном пространстве
SYS.

Пользователи

ПОЛЬЗОВАТЕЛИ
В базе данных учетная запись пользователя не является
физической структурой, но она связана важными
взаимоотношениями с объектами базы данных:
пользователям принадлежат объекты. Пользователь SYS
владеет таблицами словаря данных, содержащими
информацию об остальных структурах базы данных.
Пользователю SYSTEM принадлежат представления,
обращающиеся к этим таблицам словаря данных, что
позволяет остальным пользователям базы данных
использовать их.
Объекты в базе данных создаются с учетными записями
пользователей. Для каждой учетной записи можно задать
конкретное табличное пространство в качестве
табличного пространства по умолчанию.

Схемы

СХЕМЫ
Набор объектов, принадлежащих учетной записи
пользователя, называется схемой. Можно создать
пользователей, не имеющих права входа в базу данных.
Такие учетные записи предлагают схему, которую можно
использовать для хранения наборов объектов базы данных
отдельно от схем других пользователей.
В ORACLE схема привязывается только к одному
пользователю (USER) и является логическим набором
объектов базы данных. Схема создается при создании
пользователем первого объекта, и все последующие
объекты, созданные этим пользователем, становятся
частью этой схемы.
Схема может включать другие объекты, принадлежащие
этому пользователю.

Роли

РОЛИ
Для сокращения объема информации по управлению
доступом и для обеспечения более гибких возможностей
управления обе СУБД применяют группирование
привилегий – возможность одним действием
администратора предоставить разным пользователям
одинаковый набор привилегий. Однако представления
концепций группирования различны в наших двух СУБД.
ORACLE использует для этих целей роли. Роль – это объект
базы данных, представляющий собой именованный набор
привилегий, который может предоставляться
пользователю или другой роли.

Профили

ПРОФИЛИ
Профили имеют двойную функцию, это реализация
парольной политики и распределение ресурсов.
Парольная политика исполняется всегда, контроль за
использованием ресурсов осуществляется, если значение
параметра RESOURCE_LIMIT равно TRUE, по
умолчанию оно равно FALSE. Профили используются
автоматически, но профиль, назначаемый всем
пользователям по умолчанию, а именно пользователям
SYS, SYSTEM и др., – DEFAULT очень простой.

10. Таблицы

ТАБЛИЦЫ
Таблицы представляют собой механизм сохранения
информации в базе данных ORACLE. Они содержат
фиксированный набор столбцов, в которых описываются
атрибуты объекта, с которым эта таблица работает. У
каждого столбца есть имя и уникальные характеристики.
Временная таблица является механизмом хранения данных
в базе данных ORACLE. Временная таблица состоит из
столбцов, имеющих типы данных и длину. В отличие от
регулярной таблицы описание временной таблицы
сохраняется, но данные, внесенные в таблицу, остаются в
ней во время сеанса или во время транзакции.

11. Кластеры

КЛАСТЕРЫ
Таблицы, с которыми часто работают совместно,
можно физически хранить совместно. Для этого
создается кластер, который будет их содержать.
Данные таких таблиц сохраняются вместе в
кластере, что уменьшает число операций
ввода/вывода и повышает производительность.
Связанные столбцы таблиц называются
кластерным ключом. Кластерный ключ
индексируется с помощью кластерного индекса,
причем его значение сохраняется только один раз
для нескольких таблиц кластера. Кластерный
индекс необходимо создать до введения (insert)
новых строк в таблицы кластера.

12. Ограничения

ОГРАНИЧЕНИЯ
На столбцы таблицы можно налагать ограничения; при этом
каждая ее строка должна удовлетворять указанному в
описании ограничению.
Ограничение NOT NULL проверяет чтобы каждая строка
таблицы содержала значение для данного столбца.
Ограничение DEFAULT генерирует значение столбца при
включении (insert) строки в таблицу, но для него не
указывается никакого значения.
Ограничение CHECK позволяет удостовериться, что
значения в указанном столбце соответствуют
определенному критерию.

13. Ограничения

ОГРАНИЧЕНИЯ
Ограничение UNIQUE гарантирует уникальность
столбца, который должен быть уникальным, но не
является частью первичного ключа.
Ограничение первичного ключа PRIMARY KEY
гарантирует что каждая строка таблицы должна содержать
значение уникальное не пустое для данного столбца.
Ограничение внешнего ключа FOREIGN KEY
определяет природу взаимоотношений между таблицами.
Внешний ключ одной таблицы ссылается на первичный
ключ, который был ранее определен где-то в другом месте
базы данных.

14. Последовательности

ПОСЛЕДОВАТЕЛЬНОСТИ
Определение последовательностей (sequences) содержится в
словаре данных. Последовательности позволяют
упростить процесс программирования, поскольку
предоставляют последовательный список уникальных
номеров.
При первом обращении к последовательности в запросе она
возвращает предопределенное значение. Каждый
следующий запрос возвращает значение, которое больше
предыдущего на указанное приращение.
Последовательности могут быть циклическими, а могут
увеличиваться до достижения заданного максимального
значения.

15. Индексы

ИНДЕКСЫ
Индекс - это структура базы данных, используемая сервером
для быстрого поиска строки в таблице. Существуют три
типа индексов: кластерные, табличные и индексы битовой
карты, или битовые индексы. Кластерные индексы
содержат значения ключей кластеров в кластерах.
Табличный индекс содержит значения строк таблиц
вместе с физическим расположением строки (RowlD).
Битовый индекс является особым типом табличного
индекса, предназначенным для поддержки запросов
больших таблиц со столбцами, содержащими несколько
отдельных значений.

16. ROWID

Для того чтобы ORACLE мог найти данные, каждая строка в
каждой таблице помечается с помощью идентификатора
RowID. Этот идентификатор содержит информацию о
том, где конкретно расположена строка (файл, блок
внутри этого файла и строка внутри этого блока).
ВНИМАНИЕ: Таблица, организованная по индексу, не
содержит традиционных для ORACLE идентификаторов
RowlD. Вместо этого в качестве логических
идентификаторов используется первичный ключ.

17. Снимок

СНИМОК
Снимок – это только-читаемая копия таблицы или данных
из нескольких таблиц. Снимок периодически освежается,
чтобы отразить последнее согласованное состояние
таблиц, которые он отображает. Снимки содержатся в
схеме пользователя. Имя снимка должно быть
уникальным по отношению к другим объектам в этой
схеме.

18. Представление

ПРЕДСТАВЛЕНИЕ
На самом деле представление – это таблица, содержащая
столбцы, и обращение к нему осуществляется точно так
же, как и к таблице. Однако оно не содержит данных.
Концептуально представление можно считать маской,
перекрывающей одну или несколько таблиц, так как
столбцы представления содержатся в одной или
нескольких таблицах. Но физически представления не
содержат данных. Определение представления
(включающее запрос, на котором оно основано,
расположение его столбцов и назначенные привилегии)
содержится в словаре данных.

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

ХРАНИМЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
Процедура – это блок операторов PL/SQL, сохраняемый в
словаре данных и вызываемый приложениями.
Процедуры позволяют сохранять в базе данных часто
используемую логику приложений. При выполнении
процедуры все ее операторы выполняются как единое
целое. Процедуры не возвращают никаких значений
вызвавшей их программе.
Функции, как и процедуры, представляют собой блоки кода,
сохраняемые в базе данных. Однако в отличие от
процедур функции могут возвращать значения вызвавшей
их программе. Можно создавать свои собственные
функции и обращаться к ним в операторах SQL, а можно
использовать только те функции, которые
предоставляются средой ORACLE.

20. Пакеты

ПАКЕТЫ
С помощью пакетов можно упорядочить процедуры и
функции и объединять их в логические группы.
Спецификации и тела пакетов сохраняются в словаре
данных. Пакеты бывают очень полезны при решении
задач администрирования по управлению процедурами и
функциями.

21. Триггеры

ТРИГГЕРЫ
Триггеры – это процедуры, выполняемые при наступлении
указанного события базы данных. С помощью триггеров
можно укрепить ссылочную целостность, обеспечить
дополнительную безопасность или повысить доступные
возможности аудита.
Существуют два типа триггеров:
Операторные триггеры. Срабатывают один раз для
каждого активизирующего оператора.
Строковые триггеры. Срабатывают один раз для каждой
строки таблицы, на которую влияют данные операторы.
Для любого типа триггера можно создать триггеры BEFORE
(до) и AFTER (после), относящиеся к каждому типу
активизирующих событий. К числу таких событий
относятся команды insert, update и delete

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

СРЕДСТВА МАНИПУЛИРОВАНИЯ
ДАННЫМИ ЯЗЫКА SQL
ORACLE поддерживает 4 стандартных оператора
манипулирования данными:
INSERT – используется для ввода данных;
SELECT – используется для выборки данных;
UPDATE – используется для обновления данных;
DELETE – используется для удаления данных.

23. Ввод данных

ВВОД ДАННЫХ
Оператор INSERT используется для добавления строк в
таблицу. Вы можете указать следующую информацию при
использовании оператора INSERT:
Таблица, в которую необходимо добавить строку.
Список столбцов, для которых будут заданы значения.
Список значений, которые будут храниться в указанных
столбцах.
Во время добавления строки необходимо указать значения
для первичного ключа и всех других столбцов, которые
определены как NOT NULL. Нет необходимости
указывать значения для остальных столбцов; им
автоматически будет присвоено значение NULL.

24. Простые манипуляции по выборке данных из одной таблицы.

ПРОСТЫЕ МАНИПУЛЯЦИИ ПО ВЫБОРКЕ
ДАННЫХ ИЗ ОДНОЙ ТАБЛИЦЫ.
Оператор SELECT используется для выборки данных из
таблиц базы данных. В самом простом примере вы
указываете таблицу и столбцы, которые вам необходимо
выбрать из базы данных
Сразу за ключевым словом SELECT указываются имена
столбцов, которые вам необходимо получить, а после
ключевого слова FROM указывается имя таблицы.
Оператор языка SQL заканчивается точкой с запятой (;).
Операторы SELECT часто называют запросами.
SELECT <список столбцов>
FROM <список таблиц>;

25. Использование WHERE

ИСПОЛЬЗОВАНИЕ WHERE
Если необходимо вывести только определенные строки,
необходимо добавить к оператору SELECT ключевое
слово WHERE. Это очень важно, поскольку ORACLE
вмещает огромное количество строк в таблице, можно
получить небольшое подмножество этих строк. Для этого
необходимо после ключевого слова FROM и имени
таблицы поместить ключевое слово WHERE и указать
условие отбора:
SELECT <список столбцов>
FROM <список таблиц>
WHERE <условие отбора>;

26. Операторы сравнения применяемые с WHERE

ОПЕРАТОРЫ СРАВНЕНИЯ ПРИМЕНЯЕМЫЕ
С WHERE
Оператор
=
<> или!=
<
>
<=
>=
ANY
SOME
ALL
Описание
Равно
Не равно
Меньше
Больше
Меньше или равно
Больше или равно
Сравнивает значение с любыми
значениями из списка
Идентично оператору ANY;
используется реже, чем ANY
Сравнивает значение со всеми
значениями в списке.

27. Использование SQL операторов при формировании запросов

ИСПОЛЬЗОВАНИЕ SQL ОПЕРАТОРОВ ПРИ
ФОРМИРОВАНИИ ЗАПРОСОВ
Оператор
LIKE
IN
BETWEEN
IS NULL
IS NAN
IS INFINITE
Описание
Проверяет соответствие строки
заданному шаблону
Проверяет значение на присутствие
в списке
Проверяет значение на вхождение в
диапазон

пустым
Проверяет, является ли значение не
числовым значением
Проверяет, является ли значение
бесконечным BINARY_FLOAT или
BINARY_DOUBLE

28. Сортировка данных

СОРТИРОВКА ДАННЫХ
Для сортировки выбираемых строк используется ключевое
слово ORDER BY. При использовании ORDER BY можно
указать один и более столбцов по которым необходимо
отсортировать полученные строки. Выражение ORDER
BY должно следовать за выражением FROM или WHERE
(если с помощью WHERE указывается условие отбора).
Следующий пример использует ORDER BY для
сортировки строк из таблицы CUSTOMERS по столбцу
LAST_NAME:
SELECT *
FROM customers
ORDER BY last_name;

29. Обновление данных

ОБНОВЛЕНИЕ ДАННЫХ
Для изменения данных в таблице используется оператор UPDATE.
При использовании оператора UPDATE обычно указывается
следующая информация:
Имя таблицы
Выражение WHERE, определяющее какие строки будут
изменены.
Список столбцов и их значений, определенных с помощью
ключевого слова SET.
С помощью одного и того же запроса UPDATE можно изменить
одну и несколько строк. При изменении нескольких строк
нужно помнить, что новое значение будет применено во всех
строках. Например, следующий запрос UPDATE устанавливает
для столбца last_name значение Orange в строке, чей customer_id
равен 2.
UPDATE customers SET last_name = "Orange"
WHERE customer_id = 2;

30. Удаление данных

УДАЛЕНИЕ ДАННЫХ
Для удаления строк используется оператор DELETE.
Обычно необходимо указать с помощью выражения
WHERE строки, которые необходимо удалить; в
противном случае будут удалены все строки.
Следующий запрос DELETE удаляет из таблицы
покупателей строку, в которой customer_id равен 10:
DELETE FROM customers
WHERE customer_id = 10;
1 row deleted.
SQL*Plus подтверждает, что одна строка была удалена.
Также можно использовать подзапрос с оператором
DELETE. Подзапросы будут рассматриваться в 4-й
лекции.

31. Завершение работы с SQL*Plus

ЗАВЕРШЕНИЕ РАБОТЫ С SQL*PLUS
При использовании операторов INSERT, UPDATE и
DELETE необходимо фиксировать транзакции с помощью
оператора COMMIT, т.к. до момента выхода или
завершении сессии измененные значения хранятся только
во временном пространстве, а не в постоянной базе
данных. Если после подтверждения изменений
необходимо вернуть данные в исходное состояние можно
выполнить оператор ROLLBACK.

Просто и ясно объясняется, что такое реляционные базы данных вообще, и какими преимуществами перед своими аналогами обладают СУБД Oracle. Спрос на системы этой корпорации постоянно растет, выпускаются все новые и новые версии, каждая из которых имеет свои особенности. Настоящее руководство дает всеобъемлющее описание последней вышедшей модификации — Oracle Database 11g. Первые главы посвящаются организации структуры и архитектуры 11g, ее инсталляции, запуску и настройке. Потом объясняются механизмы безопасности, исследуются критерии оценки соответствия требованиям. Уделяется внимание многопользовательскому конкурентному доступу, хранилищу данных, распределенным базам данных, OLTP-системам, обеспечению высокой доступности, аппаратным архитектурам. В число последних входят кластеры, симметричные мультипроцессоры, Numa-системы и gird-вычисления.

Все описания иллюстрируются примерами. Книгу «Oracle 11g. Основы» Рика Гринвальда, Роберта Стаковьяка и Джонатана Стерна можно рекомендовать всем, кто раньше не использовал Oracle, и только планирует приступить к работе с этими системами. В то же время руководство вполне подойдет в качестве справочника и уже использующим эти системы специалистам.

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

Издание «Oracle. Программирование на языке Java» представляет собой одно из самых полных справочных руководств по созданию программных компонентов Java для баз данных Oracle.
Изучив предложенный материал, читатель сможет самостоятельно строить приложения из отдельных компонентов, при этом приложения будут обладать возможностью обращаться к другим объектам в среде Oracle. В книге осуществляется демонстрация того, как необходимо работать с моделями серверных компонентов CORBA и Enterprise JavaBeans (EJB) для распределенных вычислительных систем. Также подробно освещаются вопросы, связанные с процессом разработки компонентов EJB и CORBA, разработкой и внедрением компонентных приложений с помощью SQLJ и Java и SQLJ. Предлагаются пошаговые инструкции построения приложений JavaServer Page (JSP). Читатель узнает, каким образом создавать приложения БД, которые производят управление схемами объектно-реляционных и реляционных баз данных.
В книге раскрыты следующие темы:
— способы работы в распределенных вычислительных средах;
— осуществление построения компонентов Enterprise JavaBeans и CORBA;
— организациями управления транзакциями;
— построение страницы JSP на основе компонентов JavaBeans, CORBA, EJB;
— создание приложений баз данных с помощью сервлетов, страниц JSP, XML;
— применение утилиты XML-SQL для проведения запросов и операций обновления.

Руководство «Oracle9i. Программирование на языке PL/SQL» предназначено для программистов, желающих освоить разработку надежных приложений PL/SQL. В книге рассмотрены основные возможности баз данных различных версий. Издание призвано обучить разработке, тестированию и отладке приложений PL/SQL в различных средах разработки. Рассмотрен синтаксис PL/SQL, дано описание переменным, типам данных, операциям, выражениям, управляющим структурам. Показано использование различных сред разработки и выполнения PL/SQL, применение возможностей многоуровневых конструкций Oracle9i.

Рассмотрены вопросы обеспечения согласованности данных при помощи инструкций управления транзакциями SQL, создания и применения функций, модулей и процедур, использования DML, триггеров для решения сложных ограницений данных. Объяснено применение курсоров для управления обработкой инструкций SQL и для многострочных запросов. Раскрыта тема использования развитых средств PL/SQL, таких как встроенных динамический SQL, внешние процедуры и объектные типы. Книга официально одобрена корпорацией Oracle.

Книга «Oracle9iR2: разработка и эксплуатация хранилищ баз данных» посвящена особенностям использования хранилищ данных (WareHouse). Описаны принципы построения хранилищ на базе СУБД Oracle9i. Рассмотрены теоретические и практические вопросы проектирования хранилищ данных — одной из самых сложных отраслей программной инженерии. Она учитывает все существующие методологии проектирования программного обеспечения, но их выполнение затрудняется в связи с относительной молодостью данной сферы и нехваткой специалистов, работающих в ней. Книга может служить пособием для различных специалистов в области интернет-технологий, а также будет полезной аналитикам, маркетологам и другим использующим в своей работе хранилища данных специалистам.

«Oracle9i XML. Разработка приложений электронной коммерции с использованием технологии XML», написанная разработчиками XML-продуктов компании Oracle, посвящена разработке и развертыванию основанных на транзакциях межплатформных приложений Оrасlе9i с применением технологии XML. Данная технология является ныне промышленным стандартом описания данных при организации Интернет-торговли и интеграции приложений электронного бизнеса.

Книга направлена на обучение эффективному использованию всех достоинств инструментального пакета разработчика Oracle XML Developer Kit (XDK) с целью создания, просмотра, преобразования и управления ХМL-документов. Использование встроенных в Оrасlе9i и поддерживающих технологию XML функций наглядно иллюстрируется различными практическими примерами, описанными в книге. Благодаря данной книге читатель узнает о преимуществах ХМL-инфраструктуры Оrасlе9i и инструментального пакета разработчика Oracle XML Developer Kit и научится их использовать.

В книге описано, как пользоваться синтаксическими анализаторами, генераторами, процессами, программами просмотра и различными утилитами пакета XDK. Читатель научится разработке приложений Оrасlе9i с помощью Java XML-компонентов, эффективному применению новых функций XML SQL и PL/SQL, созданию и использованию приложений для OAS и Оrасlе9iAS, ориентированных на обработку транзакций. В книге рассмотрено, как управлять различными типами данных — текстовыми, звуковыми, графическими, видео — при помощи средства Oracle Text, описаны особенности разработки приложений электронного бизнеса, работающих в системе Web с использованием компонента Oracle E-Business XML Services и многое другое.

Книга одного из крупнейших в своей сфере специалистов Джонатана Льюиса «Oracle. Основы стоимостной оптимизации» посвящена наиболее часто используемым компонентам модели обработки данных Oracle, описанию работы оптимизатора с предоставленной ему статистикой и причинам, по которым его работа может разладиться. Будучи всего лишь фрагментом кода, содержащим модель обработки данных Oracle, стоимостный оптимизатор применяет эту модель к статистике по вашим данным и пытается эффективно преобразовать в исполняемый план созданный вами запрос. Но поскольку модель зачастую далека от совершенства, а статистика тоже не всегда идеальна, то получившийся план исполнения может оставлять желать лучшего. Располагая информацией о том, почему работа оптимизатора может разладиться, можно не только исправить отдельные операторы SQL, но и отрегулировать модель, создать более надежную статистику и тем самым полностью усовершенствовать проблемные области.

Самоучитель «Введение в Oracle 10g» Дж. Перри и Дж. Поста дает возможность ознакомиться с базовыми принципами работы системы управления базами данных Oracle, потренироваться в применении основных навыков и закрепить в памяти усвоенные знания. Предлагаемый материал подробно изложен и хорошо проиллюстрирован множеством примеров. Книга написана простым и доступным языком и будет удачным приобретением в первую очередь для людей, не имеющих большого опыта в общении с базами данных. К самоучителю прилагается словарь наиболее важных и часто используемых терминов, необходимых каждому, кто работает с различными системами управления базами данных. Книга рассчитана на широкий круг читателей, но может использоваться и в качестве учебного пособия для аспирантов и студентов, получающих образование в области информационных технологий.

PL/SQL — это очень мощный процедурный язык компании Oracle, который является основой приложений, создаваемых на технологиях Oracle последние пятнадцать лет. Первоначально PL/SQL предназначался исключительно для разработчиков. Но на сегодняшний день он стал важным инструментом администрирования баз данных, поскольку непосредственная ответственность администраторов за высокую производительность баз данных повысилась, а отличия между разработчиками и администраторами шаг за шагом стираются. Издание «Oracle PL/SQL для администраторов баз данных» — это самая первая книга, в которой PL/SQL рассматривается со стороны администрирования. Следует отметить, что изложение ориентировано на версию программы 10g Release 2 и начинается с краткого обзора PL/SQL, которого будет достаточно для знакомства администратора БД с азами этого языка и последующего начала работы на нем. Затем в описываемой книге рассматриваются вопросы обеспечения безопасности, которые можно отнести к администрированию базы данных: контроль доступа на уровне строк, шифрование (описаны как обычные методы, так и инновационное прозрачное шифрование Oracle — TDE), генерация случайных значений и тщательный аудит (FGA). Особое внимание в книге уделено способам увеличения производительности базы данных, а также запросов за счет использования табличных функций и курсоров. В ней описывается применение планировщика Oracle, который даёт возможность настроить систематическое выполнение таких заданий, как сбор статистики и мониторинг базы данных.

Издание «Секреты Oracle SQL» на множестве примеров раскрывает перед вами способы использования средств SQL для того, чтобы создавать не просто удобные, но и крайне эффективные сопровождения запросов в среде Oracle. Эта книга поможет вам строить эффективные запросы, которые будут работать с коллекциями и объектами, применять возможности CASE и DECODE для создания условной логики при формировании запросов SQL и использовать для создания оконных запросов многочисленные аналитические функции SQL. Помимо этого, вы сможете освоить сложные группирующие функции, использование ANSI-совместимого синтаксиса объединения, научитесь в полной мере использовать многочисленные конструкции SQL, среди которых всем известные группы, подзапросы, объединения и многое другое. Изучая информацию на страницах книги, вы не только станете более уверено создавать SQL-запросы, но, и повысите свою образованность в этой сфере, а, как следствие, и производительность. Научившись использовать в своей работе новые типы для дат и времени, обрабатывать иерархические данные, вы сможете, используя свойства Oracle SQL, решать вполне определенные задачи при помощи недоступных ранее приемов. Книга «Секреты Oracle SQL» предназначена для программистов на PL/SQL и Java-программистов, администраторов баз банных.