База данных содержит набор данных, используемых какой-либо прикладной информационной системой.
В зависимости от вида организации данных различают четыре основных модели представления данных в БД:
- иерархическая;
- сетевая;
- реляционная;
- объектно-ориентированная.
Иерархическая модель
В иерархической модели данные представляются в виде древовидной (иерархической) структуры и базируется на теории графов. Такая организация данных удобна только для работы с иерархически упорядоченной информацией. При оперировании данными со сложными логическими связями иерархическая модель становится слишком громоздкой и сложной.
Вершины графа – деревья БД, а дуги, которые соединяют эти вершины – связь «предок-потомок». Иерархическую модель данных часто называют деревом или набором деревьев, т.к. внешне сходно с ним. В начале или вершине иерархии модели находится корень дерева, а его ответвления – листья дерева. Между типами записи поддерживаются связи, а целостность связи поддерживается между предками и потомками.
Основное правило: никакой потомок не может существовать без своего родителя. Обладает следующими свойствами:
- каждый потомок имеет только одного предка;
- предок может не иметь потомков.
Преимущества
- Эффективное использование памяти компьютера.
- Высокие временные показатели выполнения операций над данными.
Недостатки
- Громоздкость для обработки информации с достаточно сложными связями.
Сетевая модель
В сетевой модели данные организуются в виде произвольного графа и является расширением иерархической модели. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков. Основными элементами сетевой базы данных являются элемент данных, агрегат данных, запись, набор.
Элемент данных – наименьшая неделимая поименованная информационная единица, доступная пользователю. Элемент данных может иметь свой тип. Агрегат данных – поименованная совокупность элементов данных внутри записи (день, месяц, год).
Запись – поименованная структура, содержащая элементы данных (запись в реляционной таблице).
Тип записей – это совокупность логически связанных экземпляров записей, моделирует некоторый класс объектов реального мира.
Набор – это поименованная двухуровневая иерархическая структура, которая выражает связи между двумя типами записей (один к одному, один ко многим).
Преимущества
- Возможность эффективной реализации по показателям затрат памяти
оперативности. - Большие возможности по созданию и моделированию различных связей между сущностями реального мира (предметной области).
Недостатки
- Высокая сложность.
- Жесткость схемы данных.
- Сложность для понимания и выполнения обработки информации обычным пользователем.
Объектно-ориентированная модель
В объектно-ориентированной модели отдельные записи базы данных представляются в виде объектов. Между записями базы данных и функциями их обработки устанавливаются взаимосвязи с помощью механизмов, подобных соответствующим средствам объектно-ориентированных языков программирования. Объектно-ориентированные модели сочетают особенности сетевой и реляционной моделей и используются для создания крупных БД со сложными структурами данных.
Значением свойства типа string является строка символов. Значение свойства типа class есть объект, являющийся экземпляром соответствующего класса, Каждый объект-экземпляр класса считается потомком объекта, в котором он определен как свойство. Объект-экземпляр класса принадлежит своему классу и имеет одного родителя. Родовые отношения в БД образуют связную иерархию объектов.
Объект типа библиотека является родительским для объектов-экземпляров классов абонент, каталог и выдача. различные объекты типа книга могут иметь одного или разных родителей. объекты типа книга, имеющие одного и того же родителя, должны различаться по крайней мере инвентарным номером (уникален для каждого экземпляра книги), но имеют одинаковые значения свойств ISBN, УДК, название и автор.
Логическая структура объектно-ориентированной БД внешне похожа на структуру иерархической БД. Основное отличие между ними состоит в методах манипулирования данными.
Основные понятия ООП применительно к объектно-ориентированной модели БД:
- Инкапсуляция ограничивает область видимости имени свойства пределами того объекта, в котором оно определено. Смысл такого свойства будет определяться тем объектом, в который оно инкапсулировано.
- Наследование, наоборот, распространяет область видимости свойства на всех потомков объекта. Если необходимо расширить действие механизма наследования на объекты, не являющиеся непосредственными родственниками (например, между двумя потомками одного родителя), то в их общем предке определяется абстрактное свойство типа аbs.
- Полиморфизм в объектно-ориентированных языках программирования означает способность одного и того же программного кода работать с разнотипными данными. Другими словами, он означает допустимость в объектах разных типов иметь методы (процедуры или функции) с одинаковыми именами.
Преимущества
- Возможность отображения информации о сложных взаимосвязях объектов.
- Позволяет идентифицировать отдельную запись базы данных и определять функции их обработки.
Недостатки
- Высокая понятийная сложность.
- Неудобство обработки данных.
- Низкая скорость выполнения запросов.
Реляционная модель
Реляционная модель состоит из relations (связей, отношений), каждое из которых имеет уникальное имя и состоит из строк (записей – кортежей) и столбцов (полей – атрибутов). Каждая запись представляет объект реального мира. Свойства объекта (его характеристики) определяются значениями полей. Каждое поле имеет имя, тип и размер данных, хранимых в нем. Имена полей вынесены в шапку таблицы.
Пример реляционной таблицы с полями «Сотрудник», «Задача», «Время разработки» представлен в таблице.
Сотрудник | Задача | Время разработки |
---|---|---|
Иванов И.И. | Тестирование ПО | 3 ч |
Петров П.П. | Разработка ПО | 12 ч |
Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования.
Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (например, денежная валюта), а также специальных «темпоральных» данных (дата, время, временной интервал).
Наименьшая единица данных реляционной модели – это отдельное атомарное (неразложимое) значение данных. Так, в одной предметной области фамилия, имя и отчество могут рассматриваться как единое значение, а в другой – как три различных значения.
Доменом называется множество значений данного типа (например, множество названий населенных пунктов).
Отношением является таблица, заголовком которой является схема отношения, строками – кортежи, а имена атрибутов – столбцы таблицы. Отношения используются для представления объектов окружающего мира и представления связей между объектами.
Реляционная база данных – это конечный набор отношений. Т.е. некоторое количество реляционных таблиц во взаимосвязи и составляют реляционную базу данных.
Каждое отношение обладает хотя бы одним потенциальным ключом, т.е. полем, все значения которого в данной таблице являются уникальными.
Преимущества
- Простота.
- Гибкость структуры.
- Удобство реализации на компьютере.
- Наличие теоретического описания.