Базы данных предназначаются для хранения, организации и управления данными, обеспечивая также доступ к ним для различных приложений и пользователей. Данные, хранящиеся в базе данных, имеют определенную логическую структуру, которая называется моделью представления данных. Модель данных получается в результате процесса моделирования данных, целью которого является иллюстрация типов данных, использующихся и хранящихся в системе, отношения между этими типами данных, способов группировки и организации данных. Разработка базы данных информационной системы ведется на трех уровнях абстрагирования: концептуальном, логическом и физическом.
Существует множество моделей данных, позволяющих структурировать информацию и обеспечивать эффективность ее использования. Каждая из них обладает своими достоинствами и недостатками, а также особенностями работы с данными и их представлениями, следовательно, выбор той или иной модели зависит от требований к данным и их обработке. В данной статье приводятся результаты сравнения следующих моделей данных: иерархической, сетевой, реляционной, постреляционной, многомерной и объектно-ориентированной.
Ключевые слова: база данных, модель данных, моделирование данных, иерархическая модель, сетевая модель, реляционная модель, постреляционная модель, многомерная модель, объектно-ориентированная модель .
Базы данных представляют собой совокупность специальным образом организованных данных, которые хранятся в памяти вычислительной системы и отображают состояние объектов и взаимосвязей между ними в рассматриваемой предметной области. Данные, организованные в БД, должны обладать такой минимальной избыточностью, которая допускает их многоцелевое использование, также эти данные обладают определенной логической структурой, которая называется моделью представления данных и которая является средством абстракции, позволяющим видеть обобщённую структуру хранимых в базе данных [5].
Термин «модель данных» был определен Эдгаром Франком Коддом в 1980 году в статье «Модель данных в управлении базами данных» [1] как комбинация трех компонентов:
— набор типов структур данных,
— набор операторов и правил, применимых к экземплярам данных для выполнения операций и иных манипуляций,
— набор общих правил целостности, которые определяют набор состояний БД и возможность изменений данных состояний.
Цель моделирования данных заключается в иллюстрировании типов данных, использующихся и хранящихся в системе, отношений между этими типами данных, способов группировки и организации данных, их форматы и атрибуты. Модели данных создаются на разных этапах проектирования информационной модели. Разработка начинается с самого высокого уровня абстракции и с каждым этапом становится всё точнее. В зависимости от степени абстракции можно выделить три уровня:
- Концептуальный является первым уровнем моделирования данных, характеризующимся абстрактным представлением разрабатываемой системы. На данном этапе определяются предметная область и ее основные элементы.
- На логическом уровне определяется структура данных, т. е. описываются связи между сущностями и атрибутами.
- На физическом уровне определяется реализация данных в базе: архитектура ПО, тип и структура БД, а также СУБД [2].
В рамках исследования был проведен сравнительный анализ основных моделей представления данных: иерархической, сетевой, реляционной, постреляционной, многомерной и объектно-ориентированной [3, 4, 5]. Фрагмент результатов исследования моделей данных представлен в таблице 1.
Таблица 1
Фрагмент результатов исследования моделей данных
Критерии Объекты |
Структура представления модели данных |
Методы доступа к данным |
Гибкость структуры |
Иерархическая модель данных |
Упорядоченная древовидная/ графовая структура |
Навигационный |
Жесткая из-за ограничения на наличие одного родителя у узла |
Сетевая модель данных |
Графовая структура |
Навигационный |
Достигается за счет возможности создавать произвольные связи между любыми записями, без ограничений на типы связей |
Реляционная модель данных |
Табличная структура |
Навигационный, реляционный, декларативный |
Возможно моделировать данные с помощью отношений и связей между таблицами, а также добавлять новые элементы структуры по необходимости |
Постреляционная модель данных |
Табличная структура с многозначными полями |
Навигационный и реляционный |
Является расширенной реляционной моделью, которая снимает ограничение неделимости данных, хранящихся в записях таблиц и является более гибкой |
Многомерная модель данных |
MOLAP — многомерный куб ROLAP — табличное представление HOLAP — гибридная структура |
Навигационный, реляционный, OLAP, прямой |
Может адаптироваться к меняющимся требованиям и условиям, а также расширять свои возможности |
Объектно-ориентированная модель данных |
В виде совокупности взаимодействующих объектов, каждый из которых имеет свои свойства (атрибуты) и поведение (методы). Графически представима в виде дерева, узлами которого являются объекты |
Объектный (осуществляется через методы объектов) |
Обеспечивается принципами ООП. Позволяет создавать структуры, которые легко модифицируются и расширяются, адаптируясь к меняющимся требованиям |
В результате выполнения анализа были получены следующие выводы:
- Иерархическая модель подойдет для работы с иерархически упорядоченной информацией с односторонним направлением доступа к данным, не требующей сложных запросов и реализации сложных связей для работы с данными.
- Сетевая модель используется для работы с информацией, между объектами которой необходима реализация сложных связей, представляемых в виде графа. В ней решена проблема предшествующей модели, связанная с избыточностью данных, благодаря установлению произвольных связей между записями, но из-за этого осуществляется более слабый контроль целостности связей.
- Реляционная модель используется для работы со структурированной информацией, для которой важны целостность и безопасность и которая может быть представлена в виде взаимосвязанных при помощи ключей таблиц. Дает возможность легко манипулировать данными благодаря поддержке реляционного метода доступа к данным и позволяет добавлять новые элементы структуры в процессе работы.
- Постреляционная модель может быть использована для хранения и обработки данных, обладающих сложной структурой и представимых в виде таблицы с многозначными полями. Обладает большей гибкостью по сравнению со своей предшественницей и обеспечивает большую наглядность и повышение эффективности обработки информации за счет снятия ограничения на неделимость данных, содержащихся в таблице.
- Многомерная модель используется для обработки многомерных данных, которые могут быть представлены в виде многомерного куба или стандартных взаимосвязанных таблиц, представляющих собой «срезы», содержащие данные по одному или нескольким измерениям куба. В сравнении с реляционной моделью отличается большей наглядностью и информативностью. Позволяет оперативно обрабатывать информацию для проведения анализа и принятия решений.
- Объектно-ориентированная модель может быть использована для работы со сложными структурами, которые представляются в виде объектов, а отношения между ними представляются в виде методов и функций объектно-ориентированного программирования. При этом каждый объект состоит из свойств и методов. Методы объектов позволяют реализовывать поведенческий аспект. По сравнению со всеми выше рассмотренными моделями объектно-ориентированная является единственной, в которой структурные и поведенческие аспекты учитываются совместно при проектировании, реализации и сопровождении информационной системы.
Выбор типа модели данных зависит от предъявляемых требований к способам представления данных и их обработке, т. к. каждая модель обладает своими преимуществами и недостатками, а также особенностями.
Литература:
- Codd, E. F. Data models in database management / E. F. Codd — IBM Research Laboratory — San Jose, California 95193, 1980. — C. 112–114.
- IBM Cloud Education. What is data modeling?: [Электронный ресурс] — URL: https://www.ibm.com/think/topics/data-modeling (Дата обращения: 26.09.2024)
- Волкова, Г. Д. Анализ представления данных / Волкова Г. Д., Григорьев О. Г. — BC/NW 2010; № 2 (17): 4.3.
- Григорьев, О. Г. Анализ моделей представления данных в современных СУБД с учетом требований методологии автоматизации интеллектуального труда / Григорьев О. Г., Волкова Г. Д., Щукин М. В. — журнал «Межотраслевая информационная служба» — № 3, 2010 — С. 12–29.
- Сергеева, Т. И. Базы данных: модели данных, проектирование, язык SQL: учебное пособие / Т. И. Сергеева, М. Ю. Сергеев.; ФГБОУ ВПО «Воронежский государственный технический университет» — Воронеж, 2012. — 233 с.