
- •Isbn © СибАгс, 2009
- •Тема 1. Роль и место баз данных в автоматизированных информационных системах 6
- •Тема 2. Модели бд 18
- •Тема 3. Реляционная модель бд 27
- •Предисловие
- •Тема 1. Роль и место баз данных в автоматизированных информационных системах
- •Технология субд
- •Размещение и архитектура субд
- •Функции субд
- •Тема 2. Модели бд
- •Модели организации данных Иерархическая модель хранения данных
- •Сетевая модель данных
- •Типы связей в модели
- •Тема 3. Реляционная модель бд
- •Структура реляционной базы данных
- •Типы данных
- •Ограничения целостности бд
- •Аномалии вставки (insert)
- •Аномалии обновления (update)
- •Аномалии удаления (delete)
- •Тема 4. Проектирование бд
- •Проектирование по методу erd-модели
- •Инфологическое проектирование баз данных
- •Структура бд
- •Количество таблиц и их имена
- •Типы данных и типы полей
- •Тема 5. Работа в субд Access
- •Мастера Access
- •Нормализация
- •Создание таблиц
- •Определение связей и обеспечение целостности данных
- •Создание форм для ввода данных
- •Создание запросов
- •Создание отчетов
- •Варианты заданий для лабораторной работы
- •Заключение
- •Литература Основная литература
- •3.3.2. Дополнительная литература
- •Глоссарий
Тема 2. Модели бд
Ядром любой базы данных является модель данных. Модель данных — это совокупность структур данных и операций их обработки.
Обычно СУБД различают по используемой модели данных. Так, СУБД, основанные на использовании реляционной модели данных, называют реляционными СУБД.
Каждая СУБД поддерживает как правило одну модель данных, но иногда и одновременно несколько моделей.
Иерархическая и сетевая модели хранения данных стали применяться в системах управления базами данных в начале 60-х годов прошлого столетия. В начале 70-х годов XX в. была предложена реляционная модель хранения данных. Эти три модели различаются в основном способами представления взаимосвязей между объектами.
По способу установления связей между данными различают иерархическую, сетевую и реляционную модели.
Модели организации данных Иерархическая модель хранения данных
В повседневной жизни мы часто имеем дело с иерархическими структурами. Поэтому нетрудно уяснить, что же представляет собой иерархия.
Пример 1. В каждой организации есть руководители и подчиненные. В зависимости от положения сотрудника на иерархической лестнице изменяется и круг его обязанностей.
Пример 2. Рассмотрим генеалогическое древо. Родители могут иметь одного или нескольких детей, либо вовсе их не иметь. Дети в свою очередь в будущем также могут иметь детей. Генеалогическое древо можно рассматривать как иерархическую структуру.
Графическим способом представления иерархической структуры является дерево (от привычного нам дерева оно отличается только тем, что перевернуто, т.е. корень находится наверху, а ветви растут вниз.). Дерево представляет собой иерархию элементов, называемых узлами. Под элементами понимается список (совокупность, набор) атрибутов, описывающих объекты (сущности). При этом каждый узел может иметь только одного предка. Исходный узел, из которого строится дерево, называется корневым узлом или просто корнем, причем одно дерево может иметь только один корень (см. рис. 3), например, руководитель фирмы. Зависимые узлы располагаются на более низких уровнях дерева. Уровень, на котором находится данный узел, определяется расстоянием от корневого узла.
Рис.3.
Поиск данных в иерархической системе всегда начинается с корня. Затем производится спуск с одного уровня дерева на другой, пока не будет достигнут искомый уровень. Перемещения по системе от одной записи к другой осуществляются с помощью ссылок.
Иерархическая модель данных была исторически первой. На ее основе в конце 60-х — начале 70-х годов были разработаны первые профессиональные СУБД.
Примеры реализации: ADABAS, АСПИД.
Основное внимание в ограничениях целостности в иерархической модели уделяется целостности ссылок между предками и потомками с учетом основного правила: никакой потомок не может существовать без родителя.
Достоинства
Простота понимания и использования
Обеспечение определенного уровня независимости данных
Высокое быстродействие промышленных реализаций.
Недостатки
Связи типа «многие-ко-многим» непосредственно не поддерживаются
Сложность в поддержании достоверности и актуальности (трудоемкость)