- •Установочный модуль
- •Введение
- •Модуль 1
- •Реляционная алгебра
- •Отсутствующие данные
- •Пустые значения
- •Неопределенные значения
- •Интерпретации
- •Правила вычисления выражений
- •Следствия
- •Проверка условий
- •Реляционные объекты данных
- •Формальные определения
- •Домены и атрибуты
- •Схема отношения
- •Именованное значение атрибута
- •Кортеж
- •Отношение
- •Схема базы данных
- •База данных
- •Операции реляционной алгебры
- •Унарные операции
- •Бинарные операции
- •Варианты операции соединения
- •Производные операции
- •Пример построения выражения реляционной алгебры
- •Понятие базовых и виртуальных отношений
- •Понятие полноты реляционной алгебры
- •Формирование запросов на языке SQL
- •Металингвистические символы
- •Реализация операций реляционной алгебры
- •Пример использования подзапросов
- •Группирующие запросы
- •Упорядочение результатов
- •Вопросы для самоконтроля
- •Упражнения
- •Построение выражений реляционной алгебры
- •Модуль 2
- •Базовые и виртуальные отношения
- •Типы данных
- •Базовые типы данных
- •Типы данных, определяемые пользователем
- •Первичные и кандидатные ключи
- •Создание базовых отношений
- •Индексы
- •Модификация базовых отношений
- •Вставка строк
- •Обновление строк
- •Удаление строк
- •Целостность
- •Декларативная поддержка
- •Пример декларативной поддержки целостности
- •Транзакции и блокировки
- •Триггеры
- •Виртуальные отношения
- •Вопросы для самоконтроля
- •Упражнения
- •Декларативная поддержка целостности
- •Модуль 3
- •Нормальные формы
- •Функциональные зависимости (ФЗ)
- •Правила вывода Армстронга
- •Производные правила вывода
- •Независимость правил Армстронга
- •Полнота системы правил Армстронга
- •Нормальные формы
- •Первая нормальная форма (1NF)
- •Вторая нормальная форма (2NF)
- •Третья нормальная форма (3NF)
- •Нормальная форма Бойса-Кодда (Boyce, Codd; NFBC)
- •Пример построения нормализованных схем отношений
- •Вопросы для самоконтроля
- •Модуль 4
- •Проектирование схем баз данных
- •Уровни логической модели
- •Миграция ключей и виды связей
- •Классификация кластеров
- •Иерархическая рекурсия
- •Абстрактная схема
- •Обобщения
- •Пример реализации иерархической рекурсии
- •Сетевая рекурсия
- •Абстрактная схема
- •Сетевая реализация иерархической рекурсии
- •Обобщения
- •Пример реализации сетевой рекурсии
- •Ассоциация
- •Детализация связей многие-ко-многим
- •Обобщения
- •Пример реализации ассоциации
- •Обобщение
- •Абстрактная схема
- •Пример реализации обобщения
- •Композиция
- •Абстрактная схема
- •Пример реализации композиции
- •Агрегация
- •Абстрактная схема
- •Пример реализации агрегации
- •Унификация атрибутов
- •Вопросы для самоконтроля
- •Упражнения
- •Иерархическая рекурсия
- •Сетевая рекурсия
- •Ассоциация
- •Обобщение
- •Композиция
- •Агрегация
- •Дополнительные главы
- •Технологии баз данных
- •Информационные системы
- •Жизненный цикл ИС
- •СУБД и БД
- •Жизненный цикл БД и средства проектирования
- •Модели данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Постреляционная модель данных
- •Объектно-ориентированные модели данных
- •XML как модель данных
- •Многомерная модель данных (OLAP)
- •Основные функции СУБД
- •Управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация и восстановление БД после сбоев
- •Поддержка языков баз данных
- •Типовая организация СУБД
- •Модели взаимодействия с БД
- •Модель с централизованной архитектурой
- •Модель с автономными персональными компьютерами
- •Архитектура «файл-сервер»
- •Архитектура «клиент-сервер»
- •Архитектура «клиент-сервер» трехзвенная
- •Распределенные базы данных
- •Технология тиражирования данных
- •Понятие «фрактал»
- •Геометрические фракталы
- •Алгебраические фракталы
- •Стохастические фракталы
- •Системы итерируемых функций
- •Вопросы для самоконтроля
- •Литература
- •Список иллюстраций
- •Список таблиц
5.12. Упражнения
5.12.1. Иерархическая рекурсия
Практическое задание. Реализовать иерархическую рекурсию в реляционной модели данных. Для рассматриваемого варианта
1)Построить презентационную диаграмму. Указать кратности и роли в связи.
2)Построить ключевую диаграмму. Привести маркеры атрибутов ключей и указать кратности связей.
3)Сформулировать и записать на псевдокоде декларативное правило поддержания ссылочной целостности. Обосновать на содержательном уровне выбор правила.
4)Привести пример в табличной форме.
Вариант 1. Иерархическая подчиненность подразделений организации. Привести пример в табличной форме для организации со структурой 1(2(3,4), 5(6)).
Вариант 2. Иерархическая подчиненность сотрудников организации. Привести пример в табличной форме со структурой подчинения 3(4(5,6), 1(2)).
Вариант 3. Иерархическое вхождение одних агрегатов в другие. Привести пример в табличной форме со структурой вхождения 5(4(6), 1(2,3)).
Вариант 4. Иерархическая система приказов, каждый из которых выполняется «во исполнение» не более чем одного приказа. Привести пример в табличной форме для системы приказов 6(5(4), 3(2,1)).
Решение. Пример выполнения аналогичного задания приведен в 5.4.3, с. 161.
5.12.2. Сетевая рекурсия
Практическое задание. Реализовать сетевую рекурсию в реляционной модели данных. Для рассматриваемого варианта
1)Построить презентационную диаграмму. Указать кратности и роли в связи.
2)Построить ключевую диаграмму. Привести маркеры атрибутов ключей и указать кратности связей.
3)Сформулировать и записать на псевдокоде декларативное правило поддержания ссылочной целостности. Обосновать на содержательном уровне выбор правила.
4)Привести пример в табличной форме.
Вариант 1. Каждый документ может ссылаться на много документов. Привести пример в табличной форме для случая следующих перекрестных ссылок: 1(3,4), 2(1), 4(1,2,3).
Вариант 2. Каждый город может быть связан авиарейсами со многими городами. Привести пример в табличной форме для случая следующих перекрестных ссылок: 3(1,2), 4(3), 2(3,1,2).
Вариант 3. Каждый документ может ссылаться на много документов. Привести пример в табличной форме для случая следующих перекрестных ссылок: 3(1,2,3), 2(3,4), 4(1).
Вариант 4. Каждый приказ может выполняться во исполнение многих приказов. Привести пример в табличной форме для случая следующих перекрестных ссылок: 4(1), 2(1,4), 3(1,2,4).
Решение. Пример выполнения аналогичного задания приведен в 5.5.4, с. 170.
5.12.3. Ассоциация
Практическое задание. Реализовать ассоциацию в реляционной модели данных. Для рассматриваемого варианта
1)Построить презентационную диаграмму. Указать кратности и роли в связи.
2)Построить ключевую диаграмму. Привести маркеры атрибутов ключей и указать кратности связей.
3)Сформулировать и записать на псевдокоде декларативные правила поддержания ссылочной целостности. Обосновать на содержательном уровне выбор правила.
4)Привести пример в табличной форме.
Вариант 1. График встреч Заказчика с Исполнителем при необязательном участии Консультанта.
Вариант 2. График приема Врачами Пациентов.
Вариант 3. Ассоциация Преподавателей и Студентов в процессе Обучения.
Вариант 4. Участие Сотрудников организации в выполнении НИР (научно-исследовательских работ).
Решение. Пример выполнения аналогичного задания приведен в 5.6.3, с. 177.
5.12.4. Обобщение
Практическое задание. Реализовать обобщение в реляционной модели данных. Для рассматриваемого варианта
1)Построить презентационную диаграмму.
2)Построить ключевую диаграмму. Привести маркеры атрибутов ключей и указать кратности связей.
3)Сформулировать и записать на псевдокоде декларативные правила поддержания ссылочной целостности. Обосновать на содержательном уровне выбор правила.
4)Привести пример в табличной форме.
Вариант 1. Учащиеся как обобщение понятий Студенты, Аспиранты.
Вариант 2. Транспорт как обобщение понятий Воздушный, Наземный, Подводный.
Вариант 3. Сотрудники как обобщение понятий Преподаватели и АУП (административно-управленческий персонал).
Вариант 4. Аудитория как обобщение понятий Учебная, Административная.
Решение. Пример выполнения аналогичного задания приведен в 5.7.2, с. 183.