- •Базы данных: основные понятия. Введение в базы данных. Определения.
- •Развитие технологий обработки данных. Современное состояние технологий баз данных.
- •Базы данных и их свойства.
- •Системы управления базами данных. Компоненты среды субд.
- •Архитектура субд. Трехуровневая архитектура базы данных. Внешний уровень. Концептуальный уровень. Внутренний уровень.
- •Функции субд. Управление данными во внешней памяти. Управление транзакциями. Восстановление базы данных.
- •Управление данными во внешней памяти
- •Управление транзакциями
- •Восстановление базы данных
- •Функции субд. Поддержка языков бд. Словарь данных. Управление параллельным доступом. Управление буферами оперативной памяти. Поддержка языков бд
- •Словарь данных
- •Управление буферами оперативной памяти
- •Функции субд. Контроль доступа к данным. Поддержка обмена данными. Поддержка целостности данных. Поддержка независимости от данных. Вспомогательные функции. Контроль доступа к данным
- •Поддержка обмена данными
- •Поддержка целостности данных
- •Поддержка независимости от данных
- •Вспомогательные функции
- •Типовая организация современной субд.
- •Языки баз данных. Язык определения данных. Языки манипулирования данными.
- •Манипулирование данными
- •Архитектура многопользовательских субд. Тенденции развития многопользовательских систем.
- •Модели двухуровневой технологии «клиент-сервер». Файловый сервер. Модель удаленного доступа к данным.
- •Модель сервера баз данных. Сервер приложений. Трехуровневая модель.
- •Проектирование баз данных. Концепции проектирования. Жизненный цикл бд.
- •Планирование разработки базы данных. Определение требований к системе. Сбор и анализ требований пользователей.
- •Проектирование базы данных. Концептуальное проектирование базы данных. Логическое проектирование базы данных. Физическое проектирование базы данных.
- •Разработка приложений. Загрузка данных. Тестирование. Эксплуатация и сопровождение.
- •Концептуальное проектирование. Фундаментальные понятия. Объекты. Атрибуты. Ключи.
- •Связи между объектами. Показатель кардинальности. Степень участия. Рекурсивная связь.
- •Пример моделирования локальной ПрО.
- •Специализация и генерализация. Категоризация. Составные объекты.
- •Модели данных. Классификация моделей данных. Объектные модели данных. Модели данных на основе записей. Физическая модель данных.
- •Сетевая модель. Структуры данных сетевой модели. Сетевой граф бд.
- •Преобразование концептуальной модели в сетевую. Реализация наборов. Управляющая часть сетевой модели.
- •Иерархическая модель данных. Структурная часть иерархической модели.
- •Преобразование концептуальной модели в иерархическую модель данных.
- •Управляющая часть иерархической модели. Описание данных. Манипулирование данными. Ограничения целостности.
- •Достоинства и недостатки ранних субд.
- •Реляционная модель данных. История вопроса. Структурная часть реляционной модели. Реляционное отношение. Свойства и виды отношений. Реляционные ключи.
- •Обновление отношений. Целостность базы данных. Проектирование базы данных. Последовательная нормализация. Избыточность данных в бд.
- •Аномалии обновления в базе данных. Аномалии включения. Аномалии удаления. Аномалии модификации.
- •Процесс нормализации. Функциональные зависимости и ключи. Первая нормальная форма.
- •Вторая нормальная форма. Третья нормальная форма.
- •Нормализация на основе декомпозиции. Недостатки данной нормализации.
- •Четвертая нормальная форма. Пятая нормальная форма.
- •Проектирование реляционной базы данных. Логическое проектирование реляционной бд. Упрощение концептуальной модели данных.
- •Методика преобразования концептуальных структур данных в реляционные структуры.
- •Преобразование объектов и атрибутов. Преобразование бинарных связей. Преобразование связи типа «суперкласс/подкласс».
- •Предварительные отношения для бинарных связей типа m:n. Преобразование составных объектов. Преобразование тернарных связей. Преобразование рекурсивных связей.
- •Проверка модели с помощью концепций последовательной нормализации. Проверка модели в отношении транзакций пользователей. Проверка поддержки целостности данных.
- •Управление реляционной базой данных.
- •Реляционная алгебра. Основные операции реляционной алгебры. Дополнительные операции реляционной алгебры.
- •Реляционное исчисление. Целевой список и определяющее выражение. Формулы исчисления кортежей. Квантор существования. Квантор всеобщности.
- •Язык sql. Исторические аспекты развития sql. Структура и типы данных языка sql. Операторы языка sql.
- •Оператор выбора select. Формирование запросов к базе данных. Агрегатные функции языка. Группирование результатов. Вложенные запросы.
- •Оператор выбора select. Многотабличные запросы. Множественные операции реляционной алгебры. Открытые соединения.
- •Встроенный sql. Однострочные и многострочные запросы.
- •Управление транзакциями. Модель транзакции. Свойства транзакции. Журнализация. Проблемы многопользовательских систем. Блокировки.
- •Триггеры. Основные сведения. Создание триггера. Триггер удаления.
- •Хранимые процедуры. Назначение хранимых процедур. Создание и использование хранимых процедур.
- •Администрирование баз данных. Управление учетными записями и правами доступа в ms sql Server. Резервное копирование и восстановление баз данных.
Преобразование концептуальной модели в иерархическую модель данных.
Преобразование концептуальной модели в иерархическую структуру данных во многом схоже с преобразованием ее в сетевую модель, но и имеет некоторые отличия в связи с тем, что иерархическая модель требует организации всех данных в виде дерева.
Преобразование связи типа «один ко многим» между предком и потомком осуществляется практически автоматически в том случае, если потомок имеет одного предка, и происходит это следующим образом. Каждый объект, участвующий в такой связи, с его атрибутами становится логическим сегментом. Между двумя логическими сегментами устанавливается связь типа «один ко многим». Сегмент со стороны «много» становится потомком, а сегмент со стороны «один» становится предком.
Если потомок в связи имеет не одного, а двух и более предков, то отражаемая структура данных нуждается в преобразованиях, которые сводятся к замене одного дерева, например, двумя (если имеется два предка). В результате такого преобразования в базе данных появляется избыточность, так как единственно возможный выход из этой ситуации — дублирование данных.
Управляющая часть иерархической модели. Описание данных. Манипулирование данными. Ограничения целостности.
Управляющая часть иерархической модели
В рамках иерархической модели выделяют языковые средства описания данных (ЯОД) и средства манипулирования данными (ЯМД).
Описание данных
Каждая физическая база описывается набором операторов, обусловливающих как ее логическую структуру, так и структуру хранения БД. При этом способ доступа устанавливает способ организации взаимосвязи физических записей. Определены следующие способы доступа:
иерархически последовательный;
иерархически индексно-последовательный;
иерархически прямой;
иерархически индексно-прямой;
индексный.
Помимо задания имени БД и способа доступа описания должны содержать определения типов сегментов, составляющих БД, в соответствии с иерархией, начиная с корневого сегмента. Каждая физическая БД содержит только один корневой сегмент, но в системе может быть несколько физических БД.
Манипулирование данными
Для доступа к БД у пользователя должна быть сформирована специальная среда окружения, поддерживающая в явном виде навигационные операции, которые связаны с перемещением указателя, определяющего текущий экземпляр конкретного сегмента. Для этого в среде окружения должны храниться:
шаблоны всех записей логических БД, доступных пользователю;
указатели на текущий экземпляр сегмента данного типа — для всех типов сегментов.
Достоинства и недостатки ранних субд.
Достоинства ранних СУБД:
развитые средства управления данными во внешней памяти на низком уровне;
возможность построения вручную эффективных прикладных систем;
возможность экономии памяти за счет разделения подобъектов (в сетевых системах).
Недостатки ранних СУБД:
сложность использования;
высокий уровень требований к знаниям о физической организации БД;
зависимость прикладных систем от физической организации БД;
перегруженность логики прикладных систем деталями организации доступа к БД.
Как иерархическая, так и сетевая модель данных предполагает наличие высококвалифицированных программистов. И даже в таких случаях реализация пользовательских запросов часто затягивается на длительный срок.
