Иерархическая, сетевая и реляционная модели данных
Существуют три основных типа моделей данных – иерархическая, сетевая и реляционная.
Иерархическая модель.
Иерархическая модель БД (рис.1) представляет собой совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое дерево (граф).
Данная модель характеризуется такими параметрами, как уровни, узлы, связи. Принцип работы модели таков, что несколько узлов более низкого уровня соединяются при помощи связи с одним узлом более высокого уровня.
Уровень – определяет положение узла в модели.
Узел – информационная модель элемента, находящегося на данном уровне иерархии.
Связи – определяют взаимодействующие узлы.
Узлы
Уровни
Связи
Рис. 1. Иерархическая и сетевая модели.
Свойства иерархической модели данных:
- несколько узлов низшего уровня связано только с одним узлом высшего уровня;
- иерархическое дерево имеет только одну вершину (корень), не подчиненную никакой другой вершине;
- Каждый узел имеет свое имя (идентификатор);
- Существует только один путь от корневой записи к более частной записи данных.
Сетевая модель.
Сетевая модель БД (рис.1) похожа на иерархическую. Она имеет те же основные составляющие (узел, уровень, связь), однако характер их отношений принципиально иной. В сетевой модели принята свободная связь между элементами разных уровней.
Реляционная модель.
Реляционная модель – модель представления данных, которая описывает структуру данных, допустимые операции над данными и специальные правила, обеспечивающие целостность данных.
Реляционная база данных – база данных, построенная на основе реляционной модели. То есть БД, имеющая табличный способ представления данных, а на внешнем уровне задаваемая набором однородных таблиц. Каждый объект записывается строкой в таблице. Строка называется записью. Запись состоит из полей разного типа.
Реляционная база создается и затем управляется с помощью специальных средств - систем управления базами данных (СУБД).
База данных является организованной на машинном носителе совокупностью взаимосвязанных данных и содержит сведения о различных сущностях (характеристиках) предметной области – реальных объектах, процессах, событиях или явлениях.
Реляционная БД представляет собой множество взаимосвязанных двумерных таблиц – реляционных таблиц, в каждой из которых содержатся сведения об одной сущности.
Структура реляционной таблицы определяется составом и последовательностью полей, соответствующих ее столбцам, с указанием типа элементарного данного, размещаемого в поле. Каждое поле отражает определенную характеристику сущности, а соответствующий столбец содержит данные одного типа.
Содержание таблицы заключено в ее строках. Каждая строка таблицы содержит данные о конкретном экземпляре сущности и называется записью. Для однозначно определения каждой записи таблица должна иметь уникальный первичный ключ. Ключ может состоять из одного или нескольких полей. По значению ключа отыскивается единственная запись.
Связи между таблицами дают возможность совместно использовать данные из разных таблиц.
Различают следующие виды связей:
1. Отображение 1:1
Класс А Класс В
2. Отображение 1:М (связь один ко многим).
1 М
3. Отображение М:N (связь многие ко многим).
М N
Таким образом, связь каждой пары таблиц обеспечивается одинаковыми полями в них – ключом связи. Ключом таких связей всегда является уникальный ключ главной таблицы связи. В подчиненной таблице он называется внешним ключом. В качестве примера рассмотрим две таблицы: Кафедра и Преподаватели. Они связаны одним ключом Код кафедры.
Размещение сведений о каждой сущности в отдельной таблице и связывание таблиц позволяет избежать повторения значений данных в разных таблицах и упрощает процесс их обновления и поиска в базе. При этом обеспечивается однократный ввод данных при загрузке и корректировке базы данных. Если данные двух таблиц в приведенном примере разместить в одной таблице, то каждая запись должна соответствовать одному преподавателю. Причем данные о кафедре (название, телефон) должны повторяться во всех записях о преподавателях одной кафедры.
Главная таблица
Код кафедры | Название | ФИО заведующего | Телефон |
01 | Информатики | Иванов В.В. | 450-00-00 |
02 | Математики | Петров В.В. | 420-00-00 |
Подчиненная таблица
Таб. номер | ФИО преподавателя | Код кафедры | Ученая степень |
Андреев А.П. | ДТН | ||
Чернов В.С. | КТН | ||
Попов Ю.А. | КТН | ||
Суриков И.П | КТН | ||
Новиков И.И | ДТН |
В БД возможно отображение информации в иерархическом виде. При раскрытии одного уровня иерархии рядом с записью главной таблицы могут быть открыты связанные записи подчиненной. Для записи подчиненной также могут быть открыты связанные записи и т.д.