- •Установочный модуль
- •Введение
- •Модуль 1
- •Реляционная алгебра
- •Отсутствующие данные
- •Пустые значения
- •Неопределенные значения
- •Интерпретации
- •Правила вычисления выражений
- •Следствия
- •Проверка условий
- •Реляционные объекты данных
- •Формальные определения
- •Домены и атрибуты
- •Схема отношения
- •Именованное значение атрибута
- •Кортеж
- •Отношение
- •Схема базы данных
- •База данных
- •Операции реляционной алгебры
- •Унарные операции
- •Бинарные операции
- •Варианты операции соединения
- •Производные операции
- •Пример построения выражения реляционной алгебры
- •Понятие базовых и виртуальных отношений
- •Понятие полноты реляционной алгебры
- •Формирование запросов на языке SQL
- •Металингвистические символы
- •Реализация операций реляционной алгебры
- •Пример использования подзапросов
- •Группирующие запросы
- •Упорядочение результатов
- •Вопросы для самоконтроля
- •Упражнения
- •Построение выражений реляционной алгебры
- •Модуль 2
- •Базовые и виртуальные отношения
- •Типы данных
- •Базовые типы данных
- •Типы данных, определяемые пользователем
- •Первичные и кандидатные ключи
- •Создание базовых отношений
- •Индексы
- •Модификация базовых отношений
- •Вставка строк
- •Обновление строк
- •Удаление строк
- •Целостность
- •Декларативная поддержка
- •Пример декларативной поддержки целостности
- •Транзакции и блокировки
- •Триггеры
- •Виртуальные отношения
- •Вопросы для самоконтроля
- •Упражнения
- •Декларативная поддержка целостности
- •Модуль 3
- •Нормальные формы
- •Функциональные зависимости (ФЗ)
- •Правила вывода Армстронга
- •Производные правила вывода
- •Независимость правил Армстронга
- •Полнота системы правил Армстронга
- •Нормальные формы
- •Первая нормальная форма (1NF)
- •Вторая нормальная форма (2NF)
- •Третья нормальная форма (3NF)
- •Нормальная форма Бойса-Кодда (Boyce, Codd; NFBC)
- •Пример построения нормализованных схем отношений
- •Вопросы для самоконтроля
- •Модуль 4
- •Проектирование схем баз данных
- •Уровни логической модели
- •Миграция ключей и виды связей
- •Классификация кластеров
- •Иерархическая рекурсия
- •Абстрактная схема
- •Обобщения
- •Пример реализации иерархической рекурсии
- •Сетевая рекурсия
- •Абстрактная схема
- •Сетевая реализация иерархической рекурсии
- •Обобщения
- •Пример реализации сетевой рекурсии
- •Ассоциация
- •Детализация связей многие-ко-многим
- •Обобщения
- •Пример реализации ассоциации
- •Обобщение
- •Абстрактная схема
- •Пример реализации обобщения
- •Композиция
- •Абстрактная схема
- •Пример реализации композиции
- •Агрегация
- •Абстрактная схема
- •Пример реализации агрегации
- •Унификация атрибутов
- •Вопросы для самоконтроля
- •Упражнения
- •Иерархическая рекурсия
- •Сетевая рекурсия
- •Ассоциация
- •Обобщение
- •Композиция
- •Агрегация
- •Дополнительные главы
- •Технологии баз данных
- •Информационные системы
- •Жизненный цикл ИС
- •СУБД и БД
- •Жизненный цикл БД и средства проектирования
- •Модели данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Постреляционная модель данных
- •Объектно-ориентированные модели данных
- •XML как модель данных
- •Многомерная модель данных (OLAP)
- •Основные функции СУБД
- •Управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация и восстановление БД после сбоев
- •Поддержка языков баз данных
- •Типовая организация СУБД
- •Модели взаимодействия с БД
- •Модель с централизованной архитектурой
- •Модель с автономными персональными компьютерами
- •Архитектура «файл-сервер»
- •Архитектура «клиент-сервер»
- •Архитектура «клиент-сервер» трехзвенная
- •Распределенные базы данных
- •Технология тиражирования данных
- •Понятие «фрактал»
- •Геометрические фракталы
- •Алгебраические фракталы
- •Стохастические фракталы
- •Системы итерируемых функций
- •Вопросы для самоконтроля
- •Литература
- •Список иллюстраций
- •Список таблиц
6. Технологии баз данных
6.1. Информационные системы
С появлением вычислительной техники сразу образовались два основных направления ее использования:
1)применение для выполнения численных расчетов,
2)применение в информационных системах.
Информационная система (ИС) – это программно-аппаратный комплекс, предназначенный для автоматизированного сбора, хранения, обработки и выдачи данных, имеющих обычно большой объем и сложную структуру. Примерами ИС являются банковские системы, системы продажи билетов и т.п.
Информационная система всегда специализируется на информации из определенной области реального мира, например, экономики, техники, медицины и т.д. Часть реального мира, отображаемая в ИС, называется предметной областью.
6.1.1. Жизненный цикл ИС
Как и любая система, информационная система участвует в процессе жизненного цикла. Жизненный цикл системы – это непрерывный процесс, который начинается с момента принятия решения о создании системы и заканчивается в момент полного изъятия системы из эксплуатации. Структура жизненного цикла ИС в соответствии с международным стандартом ISO/IEC 12207 базируется на трех группах процессов:
1)основные процессы (приобретение, поставка, разработка, эксплуатация, сопровождение);
2)вспомогательные процессы (документирование, верификация, обеспечение качества и др.);
3)организационные процессы (управление проектами, обучение и др.).
Разработка включает все работы по созданию ИС в соответствии с заданными требованиями. Разработка состоит из 4-х этапов:
1)формирование и анализ требований к системе (в результате составляется спецификация системы);
2)концептуальное проектирование (создание информационной модели системы без привязки к типу ЭВМ и системных программных средств);
3)проектирование реализации (выбор вычислительной системы, системных программных средств, проектирование структуры данных);
4)физическая реализация (разработка прикладных программ, базы данных, их отладка и тестирование, написание документации).
Эксплуатация включает все работы по внедрению компонентов ИС, созданию рабочих мест, обучению персонала, а также собственно эксплуатацию, в том числе поиск и устранение проблем, подготовку предложений по развитию и улучшению системы.
Модернизация ИС – это процесс замены отдельных компонент системы в связи с изменениями предметной области, для повышения качества и надежности ИС, для совместимости с другими ИС.
Сопровождение – это поддержание системы в работоспособном состоянии в период эксплуатации. Управление проектом относится к организационным процессам жизненного цикла и связано с планированием работ, созданием коллектива разработчиков, контролем над сроками и качеством
работ.
Верификация – это вспомогательный процесс, который состоит в определении того, отвечает ли промежуточный проект требованиям соответствующего этапа.
Существующие модели жизненного цикла, определяют порядок исполнения этапов в процессе создания ИС, а также критерии перехода от этапа к этапу. В соответствии с этим наибольшее распространение получили три модели: каскадная, итерационная, спиральная.
Каскадная модель (рис. 6.1) – предполагает переход на следующий этап в цепочке этапов «Анализ
– Проектирование – Реализация – Внедрение – Сопровождение» после полного завершения работ предыдущего этапа (характерна для военно-технических проектов).
Каскадный подход хорошо зарекомендовал себя при построении ИС, для которых в самом начале разработки можно достаточно точно и полно сформулировать все требования и дать свободу разработчикам реализовать их как можно лучше с технической точки зрения. В эту категорию попадают сложные расчетные системы, системы реального времени и другие подобные задачи. Однако в процессе использования этого подхода обнаруживается ряд его недостатков, вызванных, прежде всего тем, что реальный процесс создания программного обеспечения никогда полностью не укладывается в жесткую схему. Часто возникает потребность в возврате к предыдущим этапам с целью уточнения или пересмотра ранее принятых решений.
Рис. 6.1.: Каскадная модель жизненного цикла ИС
Поэтапная итерационная модель (рис. 6.2) предполагает наличие циклов обратной связи между этапами «Анализ – Проектирование – Реализация – Внедрение – Сопровождение»:
Рис. 6.2.: Итерационная модель жизненного цикла ИС
Преимущество такой модели заключается в том, что межэтапные корректировки обеспечивают большую гибкость и меньшую трудоемкость по сравнению с каскадной моделью. Однако время жизни каждого из этапов может растянуться на весь период создания системы.
Спиральная модель (рис. 6.3) опирается на начальные этапы жизненного цикла: анализ, предварительное и детальное проектирование. Каждый виток спирали соответствует поэтапной модели создания фрагмента или версии системы, на нем уточняются цели и характеристики проекта, определяется его качество, планируются работы следующего витка спирали.
Рис. 6.3.: Спиральная модель жизненного цикла ИС