- •1.Основные понятия и определения курса. Традиционные файловые системы.
- •5 История развития субд Oracle.
- •6 Общие сведения об инструкциях sql. Правила именования таблиц и столбцов
- •7 Общие сведения о dml.
- •8 Общий синтаксис инструкции select
- •9 Предложения select и from. Предикаты и вычисляемые столбцы (пример).
- •10 Предложение where и классификация условий отбора (привести примеры).
- •11 Составные условия отбора. Влияние значений null на результат отбора.
- •12 Многотабличные запросы и их особенности (привести пример).
- •13 Операторы комбинирования результирующих таблиц в многотабличных запросах (привести примеры).
- •14 Предложение group by. Статистические (агрегативные) функции в sql (примеры).
- •15 Условия отбора групп (предложение having)
- •16 Сортировка результатов запроса (предложение order by).
- •17 Подзапросы: типы, примеры, правила и ограничения, ключевые слова any, all, exist, not exist
- •18 Добавление данных (инструкции insert, merge).
- •19 Модификация и удаление данных (инструкции update, merge и delete).
- •20 Общие сведения о ddl.
- •21 Типы данных sql.
- •22 Создание таблиц (инструкция create table).
- •23 Изменение определения и удаление таблицы (инструкции alter ,drop table).
- •24 Создание псевдонимов и индексов таблиц (инструкции create/drop alias, create/drop index)
- •25 Создание представлений (инструкция create view). Преимущества и недостатки использования, основные виды
- •26 Проблемы обновления и удаление представлений.
- •27 Принципы защиты данных в sql: аутентификация пользователей, защищаемые объекты, использование привилегий и другие возможности обеспечения безопасности
- •28 Аутентификация. Создание и изменение пользователей. Аутентификация пользователей
- •29 Профили. Создание, изменение, удаление.
- •30 Привилегии. Системные привилегии.
- •31 Привилегии доступа к объектам схемы. Правила предоставления привилегий
- •32 Предоставление и отмена привилегий (инструкция grant и revoke).
- •33 Работа с привилегиями при помощи ролей. Системные роли, определение, изменение, удаление ролей
- •34 Аудит. Типы и применение аудита.
- •Типы аудита. В диспетчере авторизации можно использовать два вида аудита: аудит времени выполнения и аудит изменения хранилища данных авторизации. Аудит времени выполнения
- •Аудит изменений хранилища данных авторизации
- •35 Условия целостности данных
- •36 Правила добавления и удаления. Проблемы ссылочных циклов
- •37 Понятие транзакций. Инструкции обработки транзакций (commit и rollback)
- •38 Модель транзакции в стандарте ansi/iso
- •39 Журнал транзакций. Проблемы обработки параллельных транзакций.
- •40 Блокировки транзакций: уровни и виды, тупиковые ситуации.
- •41 Преимущества pl/sql и общие сведения о структуре pl/sql программ
- •42 Классификация блоков pl/sql.
- •43 Управление блоками в sql*Plus.
- •44 Лексические единицы pl/sql
- •45 Синтаксис объявления переменных, инициализация.
- •46 Скалярные типы pl/sql.
- •48 Коллекции (составные типы pl/sql).
- •Методы, применяемые при работе с коллекциями
- •Инициализация коллекций
- •50 Массовое связывание.
- •51 Преобразование типов данных. Область действия и область видимости переменных. Выражения и операции.
- •52 Управляющие структуры pl/sql. Область действия счетчика цикла, ограничения безусловных переходов условное управление
- •Итерационное управление
- •53 Понятие транзакции и виды блокировок Oracle
- •54 Операторы управления транзакциями в Oracle (commit, rollback, savepoint, set transaction, lock table).
- •55 Многоверсионная модель согласованности Oracle.
- •56 Автономные транзакции. Понятие прагмы.
- •57 Записи pl/sql. Использование %rowtype
- •58 Курсорные типы, переменные и выражения. Виды и назначение курсоров.
- •59 Обработка явных и неявных курсоров.
- •61 Динамический sql: использование пакета dbms_sql.
- •62 Алгоритма обработки данных в dbms_sql
- •63 Встроенный динамический sql (nds). (операторы execute immediate, open … for).
- •65 Классификация и определение программных единиц. Общие ключевые слова.
- •66 Создание и использование процедур
- •Вызов процедур и функций
- •67 Создание и использование (вызов) функций.
- •Вызов процедур и функций
- •68 Структура и определение пакета.
- •69 Триггеры бд: виды и создание
- •70 Последовательность событий и предикаты триггеров.
- •71 Пакет dbms_output.
- •72 Пакет utl_file(файловый ввод/вывод)
- •Безопасность
- •73 Пакет dbms_pipe: посылка и получение сообщений
- •74 Пакет dbms_pipe: создание программных каналов и управление ими.
- •75 Архитектура odbc и коды возврата
- •76 Основной алгоритм программ odbc. Инициализация и завершение.
- •77 Выполнение операторов: функции управления каталогом.
- •78 Непосредственное и подготавливаемое выполнение.
- •79 Выборка результатов.
- •80 Подробный алгоритм использования odbc в прикладных программах.
1.Основные понятия и определения курса. Традиционные файловые системы.
Файловые системы были разработаны в ответ на потребность в получении более эффективных способов доступа к данным. Однако, вместо организации централизованного хранилища всех данных предприятия, был использован децентрализованный подход, при котором сотрудники каждого отдела при помощи специалистов по обработке данных работают со своими собственными данными и хранят их в своем отделе. В связи с этим файловые системы обладают рядом существенных ограничений, а именно:
Разделение и изоляция данных
Когда данные изолированы в отдельных файлах, доступ к ним весьма затруднен.
Дублирование данных
Из-за децентрализованной работы с данными в файловой системе фактически поощряется бесконтрольное дублирование данных, и это, в принципе, неизбежно.
Несовместимость форматов файлов
Поскольку структура файлов определяется кодом приложений, она также зависит от языка программирования этого приложения.
Фиксированные запросы. Увеличение количества приложений
Во многих организациях типы создаваемых запросов имели фиксированную форму, и не было никаких инструментов создания незапланированных или произвольных запросов к данным.
В других организациях наблюдалось быстрое увеличение количества файлов и приложений. В конечном счете, наступал момент, когда сотрудники отдела обработки информации (ОИ) были, просто не в состоянии справится со всей этой работой с помощью имеющихся ресурсов. В этом случае нагрузка на сотрудников отдела ОИ настолько возрастала, что неизбежно наступал момент, когда программное обеспечение было неспособно адекватно отвечать на запросы пользователей, эффективность его падала.
Зависимость от данных
Как уже упоминалось, физическая структура, и способ хранения записей файлов данных жестко зафиксированы в коде программ приложений. Это значит, что изменить существующую структуру данных достаточно сложно.
СУБД это программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ.
База данныхсовместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей организации.
Реляционная БД-это совместно используемый набор логически связанных данных, предназначена для реализации информационных потребностей потребителей.
БД еще называют набором интегрированных записей с самоописанием.В совокупности, описание данных называетсясистемным каталогом(system catalog), а сами элементы описания принято называтьметаданными(meta-data), т.е. ”данными о данных”. Именно наличие самоописания данных в базе обеспечивает в нейнезависимость между программами и данными
Модели данных. Сравнительный анализ структуры и свойств.
Модель данных Интегрированный набор понятий для описания данных, связей между ними и ограничений, накладываемых на данные в некоторой организации
В литературе предложено и опубликовано достаточно много моделей данных. Они подразделяются на следующие две категории: объектные (object-based) модели данных и модели данных на основе записей
Объектные модели данных
При построении объектных моделей данных используются такие понятия как сущности, атрибуты и связи. Сущность это отдельный элемент (понятие или событие) организации, который должен быть представлен в базе данных. Атрибут это свойство, которое описывает некоторый аспект объекта, и значение которого следует зафиксировать, связь является ассоциативным отношением между сущностями. Существует два наиболее важных типа объектных моделей данных:
Модель типа “сущностьсвязь” или ERмодель (EntityRelationship)
Объектноориентированная модель
Модели данных на основе записей
Существует три основных типа логических моделей на основе записей: реляционная модель данных сетевая модель данных и иерархическая модель данных
Иерархическая модель.В этой модели каждая запись представляет конкретную составную часть. Между записями существовали отношения предок/потомок, связывающие каждую составную часть с частями, входящими в нее.
Программа могла:
найти конкретную запись (по ее номеру)
перейти “вниз” к первому потомку
перейти “вверх” к предку
перейти “в сторону” к другому потомку.
Сетевая модель данных. Она являлась улучшенной иерархической моделью, в которой одна запись могла участвовать в нескольких отношениях предок/потомок. В сетевой модели такие отношения называются множествами.
Прикладная программа могла:
найти конкретную запись предка по ключу (например, номер клиента)
перейти к первому потомку в конкретном множестве (первый заказ, размещенный клиентом)
перейти в сторону от одного потомка к другому в конкретном множестве (следующий заказ, сделанный этим же клиентом)
перейти вверх от потомка к его предку в другом множестве (служащий, принявший заказ)
Реляционная модель данных. Базы данных, построенные на реляционной модели в настоящее время, наиболее востребованы.Реляционная модель основана на математическом понятии отношения, физическим представлением которого является таблица. Реляционная модель впервые была предложена доктором Коддом. Для работ Кодда характерна следующая терминология:
Отношение плоская таблица, состоящая из столбцов и строк
Атрибут именованный столбец отношения
Домен набор допустимых значений для одного или нескольких атрибутов
Кортеж строка отношения
Степень определяется количеством атрибутов, которое содержит отношение.
Кардинальность – оличество кортежей, которое содержит отношение.
Свойства отношений
Отношение имеет имя, которое отличается от имен всех других отношений
Каждая ячейка отношения содержит только атомарное (неделимое) значение
Каждый атрибут имеет уникальное имя
Значения атрибута берутся из одного и того же домена
Порядок следования атрибутов не имеет никакого значения
Постреляционная модель данных представляет собой расширенную реляционную модель, снимающую ограничение неделимости данных, хранящихся в записях таблиц. Постреляцнонная модель данных допускает многозначные поля — поля, значения которых состоят из подзначений. Набор значений многозначных полей считается самостоятельной таблицей, встроенной в основную таблицу.
Помимо обеспечения вложенности полей постреляционная модель поддерживает ассоциированные многозначные поля (множественные группы). Совокупность ассоциированных полей называется ассоциацией. При этом в строке первое значение одного столбца ассоциации соответствует первым значениям всех других столбцов ассоциации. Аналогичным образом связаны все вторые значения столбцов и т. д.
Типовая структура и основные возможности СУБД
Процессор запросов
Это основной компонент СУБД, который преобразует запросы в последовательность низкоуровневых инструкций для контроллера базы данных
Контроллер базы данных
Этот компонент взаимодействует с запущенными пользователем прикладными программами и запросами. Контроллер базы данных принимает запросы и проверяет схему базы данных для определения тех записей, которые необходимы для удовлетворения требований запроса. Затем контроллер баз данных. Вызывает контроллер файлов для выполнения поступившего запроса.
Контроллер файлов
Манипулирует предназначенными для хранения данных файлами и отвечает за распределение доступного дискового пространства. Он создает и поддерживает список индексов. Если используются хешированные файлы, то в его обязанности входит и вызов функций хеширования для генерации адресов записей. Однако контроллер файлов не управляет физическим вводом и выводом данных непосредственно, а лишь передает запросы соответствующим методам доступа, которые считывают данные в системные буферы или записывают их оттуда на диск.
Препроцессор языка DML
Этот модуль преобразует внедренные в прикладные программы DMLоператоры в вызовы стандартных функций базового языка.
Компилятор языка DDL
Компилятор языка DDLпреобразуетDDLкоманды в набор таблиц , содержащих метаданные, затем эти таблицы сохраняются в системном каталоге.
Контролер словаря
Контроллер словаря управляет доступом к системному каталогу и обеспечивает работу с ним.
4 Преимущества и недостатки СУБД.
ПРЕИМУЩЕСТВА:
Контроль избыточности данных
Непротиворечивость данных
Совместное использование данных
Поддержка целостности данных
Повышенная безопасность
Повышение эффективности с ростом масштабов системы
Повышение доступности данных и их готовности к работе
Улучшение показателей производительности
Упрощение сопровождения системы за счет независимости от данных
Улучшенное управление параллельностью
Развитые службы резервного копирования и восстановления
-Глобальность
НЕДОСТАТКИ:
Сложность
Размер
Стоимость
Затраты на преобразование
Производительность
Более серьезные последствия при выходе системы из строя