Сервер Oracle 10g. Программирование на SQL и PL/SQL Целью проведения курса является овладение слушателями знаниями, умениями и навыками, необходимыми для управления объектами баз данных под управлением Oracle 10g, разработки запросов и программирования серверных частей распределенных приложений. Аннотация Данный курс предлагает слушателям: введение в технологию проектирования реляционных баз данных под управлением сервера Oracle, являющегося стандартом «де-факто» разработки крупных информационных систем; изучение языка SQL, который используется для запросов данных, метаданных и для создания объектов базы данных; изучение процедурного расширения SQL фирмы Oracle – PL/SQL с целью создания эффективных серверных частей распределенных приложений. После успешного завершения курса слушатели научатся: анализировать информационные потребности пользователя, создавать модель "сущность-связь", отражающую потребности пользователя, и разрабатывать на ее основе начальный проект базы данных; разрабатывать sql-запросы произвольной сложности; управлять всевозможными объектами базы данных под управлением сервера Oracle. создавать блоки PL/SQL кода, процедуры, функции, пакеты и триггеры базы данных, которые могут использоваться различными приложениями по обработке данных. Для разработки программ используются среды SQL*Plus, SQL Developer. Демонстрации и многочисленные практические упражнения позволят закрепить основные концепции. Категория слушателей: Разработчики приложений, проектировщики и администраторы баз данных, системные аналитики и специалисты отделов технической поддержки. Предварительные требования Знакомство с концепциями и техниками обработки данных. Навыки работы с компьютером (знакомство с графическим интерфейсом). Продолжительность обучения: 48 часов (46 ауд.часов) (1 неделя с отрывом от основной деятельности или 3 недели без отрыва от основной деятельности) Режим занятий: 6 дней в неделю по 5 часов аудиторных занятий (с отрывом от основной деятельности); 2-3 рабочих дня по 4 академических часа (в вечернее время) и 6 часов в субботний день (без отрыва от основной деятельности). Аттестация: Сертификат Академии бизнес-информатики Преподаватель: Веберова И.И. Учебно-тематический план курса «Сервер Oracle 10g. Программирование на SQL и PL/SQL» №№ п/п 1. 2. 3. 4. 5. 6. 7. Название модулей и разделов (тем) Введение Проектирование базы данных Основы SQL. Язык запросов Управление объектами базы данных Oracle Управление транзакциями Управление доступом пользователей Язык программирования PL/SQL Аттестация (зачет) Итого: Всего 2 4 10 10 Трудоемкость в часах Аудиторные занятия Всего Лек- Практ. ции занятия 2 2 0 4 2 2 10 2 8 10 2 8 Самост. работа 0 0 0 0 2 4 2 4 2 2 0 2 0 0 14 2 48 14 4 10 46 16 20 0 2 34 Содержание 1. Введение Цели курса. Программные изделия фирмы Oracle. Архитектура сервера Oracle 10g. Создание базы данных. Архитектурные подходы к построению распределенных приложений. Интерфейсы прикладного программирования. 2. Проектирование базы данных Жизненный цикл разработки системы. Обзор этапов разработки. Концептуальное и физическое моделирование. Терминология. Концептуальное моделирование данных. Характеристики модели данных. Независимость от аппаратного и программного обеспечения. Условные обозначения. Моделирование сущностей. Моделирование и проверка связей. Типы связей. Создание диаграммы "сущность-связь" (ER-диаграммы). Уникальные идентификаторы. Разрешение связей "многие ко многим". Контроль качества ER-модели. Создание начального проекта базы данных. 3. Основы SQL. Язык запросов Написание базовых SQL предложений. Дополнительные возможности оператора SELECT. Ограничение выборки и сортировка данных. 2 Функции Oracle. Выборка данных из нескольких таблиц. Агрегирование данных с использованием групповых функций. Подзапросы. Древовидные (иерархические) запросы. Коррелированные подзапросы Слияние результатов нескольких запросов. Форматирование и вывод данных с помощью SQL*Plus. 4. Управление объектами базы данных Oracle Типы объектов базы данных. Типы данных сервера Oracle. Языки DDL и DML. Поддерживаемые ограничения целостности. Создание базовых таблиц и управление ими. Создание и использование временных транзакционных таблиц. Создание таблицы на основе запроса к другим таблицам Изменение таблиц и ограничений. Словарь базы данных. Запросы к словарю данных. Проверка ограничений на таблицу. Манипулирование данными. Создание и изменение последовательностей. Использование последовательностей. Создание и изменение представлений. Особенности использования простых и сложных представлений. Индексы. Особенности работы с индексами. Использование кластеров. Преимущества и недостатки кластеров. Синонимы. Получение сведений об объектах пользователей. 5. Управление транзакциями Модель и свойства транзакции. Проблемы параллелизма. Решение проблем параллелизма. Уровни изоляции пользователей. Механизмы блокирования Oracle. Язык управления транзакциями TCL. 6. Управление доступом пользователей Политика защиты пользователей. Идентификация пользователей. Создание, изменение и удаление пользователей. Объектные и системные привилегии. Роли. Предоставление привилегий и ролей на объекты. Отзыв привилегий и ролей. Каскадные эффекты отзыва привилегий. Получение данных по предоставленным привилегиям. Управление ресурсами через профили. Аудит БД. 3 7. Язык программирования PL/SQL Преимущества PL/SQL. Блочная структура кода. Программные единицы PL/SQL. Продукт PL/SQL Developer. Основные конструкции языка. Типы данных. Объявление переменных. Выражения. Операторы управления PL/SQL. Процедуры и функции. Особенности использования операторов DML в PL/SQL. Обработка запросов с использованием курсоров. Явные и неявные курсоры. Атрибуты явных и неявных курсоров. Управление явными курсорами. Курсоры и записи. Курсоры с параметрами. Цикл FOR с курсором. Обработка исключений. Типы исключений. Перехват исключений. Функции для перехвата ошибок. Хранимые подпрограммы и модули (пакеты). Создание модулей. Триггеры БД. Типы триггеров. Создание триггеров. Алгоритм выполнения триггеров DML. Использование идентификаторов корреляции. Системные триггеры. Специфика использования триггеров. Примеры триггеров проверки ссылочной целостности, аудита и др. Эффект изменяющихся таблиц. Объектные свойства БД. Создание объектных типов. Объявление и инициализация объектов. Методы. Сравнительная характеристика сборных конструкций. Обзор встроенных модулей PL/SQL. Заключение. 4