- •Установочный модуль
- •Введение
- •Модуль 1
- •Реляционная алгебра
- •Отсутствующие данные
- •Пустые значения
- •Неопределенные значения
- •Интерпретации
- •Правила вычисления выражений
- •Следствия
- •Проверка условий
- •Реляционные объекты данных
- •Формальные определения
- •Домены и атрибуты
- •Схема отношения
- •Именованное значение атрибута
- •Кортеж
- •Отношение
- •Схема базы данных
- •База данных
- •Операции реляционной алгебры
- •Унарные операции
- •Бинарные операции
- •Варианты операции соединения
- •Производные операции
- •Пример построения выражения реляционной алгебры
- •Понятие базовых и виртуальных отношений
- •Понятие полноты реляционной алгебры
- •Формирование запросов на языке SQL
- •Металингвистические символы
- •Реализация операций реляционной алгебры
- •Пример использования подзапросов
- •Группирующие запросы
- •Упорядочение результатов
- •Вопросы для самоконтроля
- •Упражнения
- •Построение выражений реляционной алгебры
- •Модуль 2
- •Базовые и виртуальные отношения
- •Типы данных
- •Базовые типы данных
- •Типы данных, определяемые пользователем
- •Первичные и кандидатные ключи
- •Создание базовых отношений
- •Индексы
- •Модификация базовых отношений
- •Вставка строк
- •Обновление строк
- •Удаление строк
- •Целостность
- •Декларативная поддержка
- •Пример декларативной поддержки целостности
- •Транзакции и блокировки
- •Триггеры
- •Виртуальные отношения
- •Вопросы для самоконтроля
- •Упражнения
- •Декларативная поддержка целостности
- •Модуль 3
- •Нормальные формы
- •Функциональные зависимости (ФЗ)
- •Правила вывода Армстронга
- •Производные правила вывода
- •Независимость правил Армстронга
- •Полнота системы правил Армстронга
- •Нормальные формы
- •Первая нормальная форма (1NF)
- •Вторая нормальная форма (2NF)
- •Третья нормальная форма (3NF)
- •Нормальная форма Бойса-Кодда (Boyce, Codd; NFBC)
- •Пример построения нормализованных схем отношений
- •Вопросы для самоконтроля
- •Модуль 4
- •Проектирование схем баз данных
- •Уровни логической модели
- •Миграция ключей и виды связей
- •Классификация кластеров
- •Иерархическая рекурсия
- •Абстрактная схема
- •Обобщения
- •Пример реализации иерархической рекурсии
- •Сетевая рекурсия
- •Абстрактная схема
- •Сетевая реализация иерархической рекурсии
- •Обобщения
- •Пример реализации сетевой рекурсии
- •Ассоциация
- •Детализация связей многие-ко-многим
- •Обобщения
- •Пример реализации ассоциации
- •Обобщение
- •Абстрактная схема
- •Пример реализации обобщения
- •Композиция
- •Абстрактная схема
- •Пример реализации композиции
- •Агрегация
- •Абстрактная схема
- •Пример реализации агрегации
- •Унификация атрибутов
- •Вопросы для самоконтроля
- •Упражнения
- •Иерархическая рекурсия
- •Сетевая рекурсия
- •Ассоциация
- •Обобщение
- •Композиция
- •Агрегация
- •Дополнительные главы
- •Технологии баз данных
- •Информационные системы
- •Жизненный цикл ИС
- •СУБД и БД
- •Жизненный цикл БД и средства проектирования
- •Модели данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Постреляционная модель данных
- •Объектно-ориентированные модели данных
- •XML как модель данных
- •Многомерная модель данных (OLAP)
- •Основные функции СУБД
- •Управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация и восстановление БД после сбоев
- •Поддержка языков баз данных
- •Типовая организация СУБД
- •Модели взаимодействия с БД
- •Модель с централизованной архитектурой
- •Модель с автономными персональными компьютерами
- •Архитектура «файл-сервер»
- •Архитектура «клиент-сервер»
- •Архитектура «клиент-сервер» трехзвенная
- •Распределенные базы данных
- •Технология тиражирования данных
- •Понятие «фрактал»
- •Геометрические фракталы
- •Алгебраические фракталы
- •Стохастические фракталы
- •Системы итерируемых функций
- •Вопросы для самоконтроля
- •Литература
- •Список иллюстраций
- •Список таблиц
В настоящее время большинство сетевых СУБД поддерживают только простые сетевые структуры. Такие системы называют СУБД с равноправными (однотипными) файлами. Типичным представителем является Integrated Database Management System (IDMS) компании Cullinet Software Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем.
Главным достоинством сетевой и иерархической моделей данных является возможность их эффективной реализации по показателям затрат памяти и оперативности. Недостатком сетевой модели данных является высокая сложность и жесткость схемы БД, построенной на ее основе.
6.2.3. Реляционная модель данных
Что означает термин «реляционная модель»? Термин происходит от relation (отношение, зависимость, связь). Отношение в общем математическом смысле – это подмножество декартова произведения множеств, то есть
R A1 An = f(x1; : : : ; xn) j x1 2 A1; : : : ; xn 2 Ang
Например, бинарные отношения строгого порядка на множестве положительных оценок A1 = A2 = f3; 4; 5g являются множествами упорядоченных пар
A1 A2 = f(3; 3); (3; 4); (3; 5); (4; 3); (4; 4); : : : (5; 5)g R< = f(3; 4); (4; 5); (3; 5)g A1 A2
R> = f(5; 4); (4; 3); (5; 3)g A1 A2
(x < y) , (x; y) 2 R< (x > y) , (x; y) 2 R>
Рис. 6.5.: Пример структурной диаграммы базы медицинских знаний
Примечание.
Больница(Код больницы, Название, Адрес, Телефон, Число коек) Лаборатория(№ лаборатории, Название, Адрес, Телефон) Палата(Код палаты, Название, Число коек)
Персонал(№ табельный, ФИО, Должность, Смена, Зарплата)
Пациент(№ регистрационный, № койки, ФИО, Адрес, Дата рождения, Пол) Врач(№ табельный, ФИО, Специальность)
Диагноз(Код диагноза, Тип диагноза, Осложнения, Предупреждающая информация) Больница-Лаборатория(Код больницы, № лаборатории)
Анализ(Код анализа, Тип, Назначенная дата, Назначенное время, Номер варианта/предписания, Состояние)
Эти отношения можно представить в форме таблиц с упорядоченными столбцами и произвольным порядком строк (табл. 6.1).
Таблица 6.1.: Отношения R< и R>
Отношение R< |
|
Отношение R> |
||
3 |
4 |
6= |
5 |
4 |
4 |
5 |
4 |
3 |
|
3 |
5 |
|
5 |
3 |
|
|
|
|
|
Таким образом, в реляционных базах данных (РБД) данные организованы в виде отношений и представлены в форме таблиц. Однако формы представления или, как еще говорят, изображения, могут быть различными. Так, например, для числа 1 имеем эквивалентные представления
1 |
1 |
|
Xi |
|
и т.п. |
1; 0:999 : : : ; 0:(9); |
|
|
=1 |
2i |
|
|
|
Применительно к рассматриваемым в примере отношениям эта возможность различного представления проявляется в том, что строки в таблицах переставлять можно, так как отношения – это множества, а множества не упорядочены. Однако столбцы в таблицах переставлять нельзя, так как элементы этих множеств являются упорядоченными наборами, в данном случае упорядоченными парами. Таким образом, таблицы с произвольным порядком строк, но фиксированным порядком столбцов, являются адекватной формой представления отношений в общем математическом смысле.
Но с точки зрения информационного содержания рассматриваемые в примере отношения R< и R> эквивалентны. Поэтому понятие отношения в реляционных базах данных имеет несколько отличающийся смысл, не связанный с какой-либо упорядоченностью столбцов в табличной форме представления. Для этого отношения связываются с так называемыми схемами отношений, имеющими смысл строки заголовков столбцов (табл. 6.2).
Таблица 6.2.: Отношение строгого порядка
Оценка |
Оценка |
|
Оценка |
Оценка |
меньшая |
большая´ |
|
большая´ |
меньшая |
|
|
|
|
|
3 |
4 |
= |
5 |
4 |
4 |
5 |
|
4 |
3 |
3 |
5 |
|
5 |
3 |
|
|
|
|
|
Таким образом, понятие отношения в смысле реляционных баз данных близко по смыслу, но не тождественно понятию отношения в общем математическом смысле.
Достоинством реляционной модели данных является ее простота, удобство реализации на ЭВМ, наличие теоретического обоснования и возможность формирования гибкой схемы БД, допускающей настройку при формировании запроса. Однако при увеличении числа таблиц в БД заметно падает скорость работы с ней. Определенные проблемы использования реляционной модели возникают при создании систем со сложными структурами данных, например, систем автоматизации проектирования.