- •Введение
- •Лекция 1: Информационные системы с базами данных Информация, данные, информационные системы Информация как социальный ресурс
- •Информация и данные
- •Определение понятия информации
- •Информационные системы
- •Итерационная процедура построения информационных систем
- •Концепция баз данных
- •Основные подходы к обработке информации в автоматизированных информационных системах
- •Системы управления базами данных
- •Концепция баз данных
- •Модели данных Понятие о модели данных
- •Информационная модель данных
- •Концепция трех схем
- •Основные типы моделей и их эквивалентность
- •Общие принципы классификации субд
- •Обзор основных моделей данных
- •Иерархическая модель
- •Сетевая модель данных
- •Модели вычислений
- •Лекция 2. Предметная область базы данных и ее модели Понятие предметной области
- •Информационная модель предметной области базы данных
- •Сущности, атрибуты и идентификаторы (ключи) сущности, домены атрибутов
- •Отношения, связи
- •Подтипы и супертипы
- •Диаграммы "сущность-связь"
- •Документирование сущностей и атрибутов
- •Документирование доменов
- •Документирование отношений (связей)
- •Документирование супертипов и подтипов
- •Функциональная модель предметной области базы данных Понятие функциональной модели предметной области базы данных
- •Бизнес-модель процессов (иерархия функций системы)
- •Модель потока данных
- •Модель жизненного цикла сущности
- •Набор спецификаций функций системы (требования), описание функций системы через сущности и атрибуты, бизнес-правила
- •Общесистемные требования и решения
- •Контроль качества результатов анализа предметной области
- •Лекция 3. Что такое проектирование баз данных Введение
- •Что такое проектирование базы данных
- •Типовая бизнес-модель процесса проектирования базы данных
- •Бизнес-модель процесса проектирования базы данных: сбор и анализ входных данных
- •Бизнес-модель процесса проектирования реляционной базы данных: создание логической модели базы данных
- •Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных
- •Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных: учет влияния транзакций
- •Краткое рассмотрение задач создания серверного кода и подготовки скрипта
- •Лекция 4. Реляционная модель данных Информация, данные, информационные системы Понятие отношения
- •Формы представления отношений
- •Реляционные операции
- •Объединение отношений
- •Пересечение отношений
- •Разность отношений
- •Декартово произведение отношений
- •Проекция отношения
- •Деление отношений
- •Выбор из отношения
- •Соединение отношений
- •Лекция 5. Функциональные зависимости и реляционные базы данных Информация, данные, информационные системы Понятие функциональной зависимости в данных
- •Основные классы функциональных зависимостей
- •Аксиомы вывода функциональных зависимостей
- •Минимальные покрытия множеств функциональных зависимостей
Деление отношений
Операция деления выполняется над двумя отношениями А и В, где А - отношение-делимое, а B - отношение-делитель. При этом атрибуты B должны являться подмножеством атрибутов A. Результатом выполнения операции деления является отношение С, которое включает в себя атрибуты отношения А, отличные от атрибутов отношения В, и только те кортежи, декартовы произведения которых с отношением В дают отношение А:
Представление частного отношений через
другие алгебраические операции может
быть получено следующим образом.
Предположим, что
Пусть
n и m - арности отношений Qa и Qb,
n > m. Тогда разность исходных отношений
есть множество кортежей t степени n - m,
таких, что для всех кортежей s степени
m из Qb, кортеж ts принадлежит Qa.
Пусть
Тогда
есть
множество кортежей степени n, не
принадлежащих Qa. Каждый из них
формируется из n - m первых компонентов
кортежа из Qa, за которым следуют
компоненты кортежа Qb. Пусть далее
есть
множество кортежей t степени n - m, состоящих
из первых n - m компонентов Qa, причем
для каждого из них в Qb существует
некоторый кортеж s степени m, такой, что
ts не принадлежит Qa. Таким образом,
разность отношений T - V есть, по определению,
частное отношений
Пример. Деление отношений. Выполним операцию деления
отношения РЕЗУЛЬТАТЫ_МЕДОСМОТРА на отношение МЕДОСМОТР.
Исходные отношения:
РЕЗУЛЬТАТЫ_МЕДОСМОТРА (#, Фамилия, Пол, Процедура, Дата)
МЕДОСМОТР (Процедура, Дата )
1 |
Иванов |
М |
ЭКГ |
17.08 |
1 |
Иванов |
М |
Анализ крови |
20.08 |
1 |
Иванов |
М |
Терапевт |
23.08 |
5 |
Антонова |
Ж |
ЭКГ |
17.08 |
5 |
Антонова |
Ж |
Анализ крови |
20.08 |
5 |
Антонова |
Ж |
Терапевт |
23.08 |
Результирующее отношение:
ЭКГ |
17.08 |
Анализ крови |
20.08 |
Терапевт |
23.08 |
СЛУЖАЩИЙ (#, Фамилия, Пол) = РЕЗУЛЬТАТЫ_МЕДОСМОТРА / МЕДОСМОТР
1 |
Иванов |
М |
5 |
Антонова |
Ж |
Выбор из отношения
Операция выбора ( селекции ) выполняется над одним отношением А. Результатом выполнения операции выбора является отношение С, которое включает в себя кортежи отношения А, удовлетворяющие заданному условию (критерию выбора). Операция выбора из отношения может быть представлена следующим образом:
где s обозначает операцию выбора, F - критерий выбора на множестве атрибутов в форме логического выражения, образованного с помощью определенных операндов (константы, имена атрибутов, арифметические операции сравнения, логические операции).
Пример. Селекция отношения. Произведем выбор из
отношения СЛУЖАЩИЕ по критерию "Возраст >= 30".
Исходное отношение:
СЛУЖАЩИЕ (#, Фамилия, Возраст)
1 |
Иванов |
20 |
2 |
Исаев |
30 |
3 |
Петров |
23 |
4 |
Фролов |
49 |
5 |
Антонова |
25 |
Критерий выбора: Возраст >= 30
Результирующее отношение:
СЛУЖАЩИЕ (#, Фамилия, Возраст)
2 |
Исаев |
30 |
4 |
Фролов |
49 |
