- •Лекція 8. Основи баз даних
- •1 Базы данных и файловые системы Основи баз даних
- •Файловые системы и информационные системы
- •Потребности и задачи информационных систем
- •Пример Простая ис, которая предназначена для учета сотрудников некоторой организации. Она должна:
- •2 Функции субд
- •Типовая организация субд
- •Субд различных информационных моделей
- •1 Субд на инвертированных (преобразованных) списках
- •2Субд иерархического типа
- •3Сетевые субд
- •Реляционные базы данных
- •Фундаментальные свойства отношений
- •Реляционная модель данных
- •Манипуляционная часть рмд
- •Реляционная алгебра
- •Теоретико-множественные операции ра
- •Специальные реляционные операции
- •Реляционное исчисление
- •Исчисление кортежей
- •Проектирование реляционных бд
- •Функциональная зависимость
- •Полная функциональная зависимость
- •Транзитивная функциональная зависимость
- •Семантическое моделирование данных
- •Моделирование по схеме сущности – связи
- •Нормализация er-диаграмм
- •Внутренняя организация реляционных субд
- •1 Хранение отношений
- •2 Индексы
- •3 Хеширование
- •4 Журнальная информация
- •5 Служебная информация
- •Обработка с помощью транзакций
- •Сериализация транзакций
- •Синхронизационные захваты
- •Гранулированные синхронизационные захваты
- •Временные метки
- •Журнализация и откаты
- •Индивидуальный откат транзакций
- •Восстановление при мягком сбое
- •Теневой механизм
- •Журнализация постраничных изменений
- •Обзор языка рбд sql
2Субд иерархического типа
Типичный представитель: IMS (IBM).
Структура данных: данные иерархического типа. БД состоит из упорядоченного набора деревьев (набора экземпляров одного типа дерева). Дерево содержит несколько типов записей. Один из них является корневым, а остальные типы являются поддеревьями.
П
ример:
…
Манипуляция данными:
Типичные операторы:
найти дерево;
перейти от одного дерева к другому;
перейти от корневого узла к следующему по иерархии;
перейти от одной записи внутри дерева к другой;
вставить новую запись в указанное дерево в соответствие с иерархией;
удалить текущую запись.
Ограничение целостности: никакой потомок не может существовать без своего предка.
Физическая организация: система основана на записях и указателях. Такие записи с указателями называются связанными (прошитыми) списками.
Файл корневых узлов
Файл узлов потомков следующего уровня
Файл узлов потомков
…
3Сетевые субд
появились позже всех. Они появились в ответ на требование расширить иерархическую модель. Смысл расширения: убрать ограничение, что у каждого потомка только один предок. Рассмотрим задачу «Поставщики – потребители».
Поставщики |
потребители |
S |
D1 |
S |
D2 |
S |
D3 |
|
D4 |
Сетевые СУБД общего вида не рассматривают. Существует модель CODASYL. Сетевая БД должна содержать два набора: записей и связей между этими записями. Тип записей – информационная часть; тип связей определяется для двух типов записей: запись-предок и запись-потомок. Экземпляр типа связей содержит один экземпляр типа записей предка и упорядоченный набор экземпляров типа потомка.
,
где L
– связь, P
– предок, C
– потомок.
Для типа связей каждый экземпляр P является предком только в одном экземпляре L, и каждый экземпляр C является потомком не более, чем в одном экземпляре L.
L – поставки i – ого поставщика j – ому потребителю.
|
L11 |
|
S1 |
L |
D1 |
|
L |
|
S2 |
L |
D2 |
|
L |
|
|
L |
D3 |
S3 |
L |
|
|
L |
D4 |
|
L34 |
|
В
модели «Сотрудники»:
Отдел
Сотрудник
Начальник
Манипулирование данными:
Примерный набор операций:
найти запись в наборе однотипных;
перейти от предка к потомку по некоторой связи;
перейти от потомка к предку по некоторой связи;
создать запись;
уничтожить запись;
модифицировать запись;
включить в связь;
исключить из связи;
переставить в другую запись.
Ограничения целостности: в принципе их поддержка не требуется. Достаточно поддерживать целостность по ссылкам, как в иерархической модели, т.е. хотя бы один предок – хотя бы один потомок.
Преимущество реляционных моделей перед тремя выше перечисленными: эти модели могут быть строго формализованы, т.е. описаны математическим языком. Есть реляционные операции, которые могут быть либо корректными, либо некорректными. Т.е. реляционные модели поддерживают только правильные операции. 80-е и 90-е годы – “триумф” реляционных моделей. И сейчас они в моде.

1
2
3
12
21
23
24
31
32
33