Модели данных

Для использования в практической жизни человека cведения можно накапливать и систематизировать в какой-то знаковой форме, т.е. в виде данных. Данные — это объект, обладающий определенной структурой, объемом и ценностью. Понятия «данные» и «информация» неразрывно связаны между собой, но нетождественны. Данные представляются в виде зарегистрированных сигналов (знаков) и являются составной частью информации. Следовательно, информация – это совокупность данных, систематизированных с определенной целью.

База данных (БД) — это структурированная упорядоченная совокупность данных, которыми управляют централизованно. В качестве ее признаков называют следующие:

• информация хранится и обрабатывается в вычислительной системе;

• данные структурированы для эффективного поиска и обработки;

• имеется схема, описывающая базу данных в формальном виде;

• средства работы ориентированы на максимальное быстродействие и защиту информации от повреждений.

В составе базы данных можно выделить следующие подсистемы. Подсистема хранения данных обеспечивает создание и манипуляции с таблицами. Подсистема управления доступом позволяет управлять пользователями базы данных, формировать пользовательские роли на основании наборов полномочий, схемы для определения части базы данных, доступных для каждой роли. Подсистема обработки реализует команды, необходимые для манипуляций объектами базы данных и данными

Простейший некомпьютерный вариант базы данных – это деловой ежедневник, в котором каждому календарному дню выделена специальная страница для внесения данных. Поиск нужной информации в таких «текстовых файлах» затруднен, в то вре­мя, как база данных рассчитана имен­но на поиск конкретных данных и выдачу их поль­зователю. Возрастание объемов получаемой информации требует их систематизации и обеспечения перевода данных из одной знаковой системы в другую. Это возможно при соответствующем структурировании данных, т.е. их группировании  по определенным параметрам. Это привело к построению баз и банков данных,  а также к разработке и созданию компьютерных устройств, способных накапливать большие массивы данных и их систематизировать для выполнения соответствующих целей.  К одной базе данных возможен доступ сразу нескольких пользо­вателей одновременно.

Чтобы создать структурированную базу данных, удобную для применения для работы в компьютерных сетях, а также на персональных компьютерах, были использованы основы теории моделирования объектов.

Можно по-разному характеризовать понятие модели данных. С одной стороны, модель данных – это способ структурирования данных, которые рассматриваются как некоторая абстракция в отрыве от предметной области. С другой стороны, модель данных – это инструмент представления концептуальной модели предметной области и динамики ее изменения в виде базы данных.

В классической теории баз данных, модель данных есть формальная теория представления и обработки данных в системе управления базами данных (СУБД), которая включает, по меньшей мере, три аспекта:

Аспект структуры определяет то, что из себя логически представляет база данных, а аспект манипуляции - способы перехода между состояниями базы данных (то есть способы модификации данных) и способы извлечения данных из базы данных. Аспект целостности характеризует средства описаний корректных состояний базы данных.

Модель данных — это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Эти объекты позволяют моделировать структуру данных, а операторы — поведение данных.

Выделяют информационно-логическую, концептуальную и физическую модели данных.

Логические представления о свойствах и отношениях объектов предметной области определяют построением внешней, информационно-логической модели, которая не зависит от способов физического размещения данных. В такой модели объекты представлены типами записей, свойства – полями записей, а отношения – связями между типами и полями записей. Наглядное изображение логической модели возможно двумя способами: графическим, когда схема строится в виде ориентированного графа с вершинами типов записей и дугами связей, и табличными, когда каждому типу записи (объекту) соответствует таблица с множеством полей записи (свойств).

Концептуальная (содержательная) модель — это абстрактная модель, определяющая структуру моделируемой системы, свойства её элементов и причинно-следственные связи, присущие системе и существенные для достижения цели моделирования.

Важнейшим понятием концептуальной модели является понятие связи между сущностями (наборами сущностей). В моделях данных соответствующее понятие отражается понятием «групповое отношение».

Групповое отношение – поименованное бинарное отношение, заданное на двух множествах экземпляров рассматриваемых групп. По характеру бинарных связей различают групповые отношения вида 1:1, 1:M, M:1, M:N. Пары чисел называют коэффициентами группового отношения. В групповом отношении один член группы назначается владельцем отношения, а другой – членом.

Логические связи между таблицами дают возможность объединять данные из разных таблиц. Связь каждой пары таблиц задается одинаковыми полями в них — ключом связи. Таким образом обеспечивается рациональное хранение недублированных данных и их объединение в соответствии с требованиями решаемых задач. В нормализованной реляционной базе данных связь двух таблиц характеризуется отношениями записей типа “один-к-одному” (1 : 1) или “один-ко-многим” (1 : M). Отношение 1 : 1 предполагает, что каждой записи одной таблицы соответствует одна запись в другой. Отношение 1 : М предполагает, что каждой записи первой таблицы соответствует много записей во второй, но каждой записи второй таблицы соответствует только одна запись в первой. Для двух таблиц, находящихся в отношении типа 1 : M, связь устанавливается по уникальному ключу таблицы, представляющей в отношении сторону “один”, — главной таблицы в связи. Во второй таблице, представляющей в отношении сторону “многие” и называемой подчиненной, этот ключ связи может быть либо частью уникального ключа, либо не входить в состав ключа. В подчиненной таблице ключ связи называется еще внешним ключом.

Для представления группового отношения используется две формы:

  1. Графовая. Группы изображаются вершинами графа, связи между группами – дугами, направленными от группы-владельца к группе-члену с указанием имени отношения и коэффициента.

По типу графов различают:

  1. Табличная. Связь между группами изображается таблицей, столбцы которой представляют ключи соответствующих групп. Для формального описания таблицы используется математическое (теоретико-множественное) понятие отношения. Соответствующая модель данных называется реляционной моделью.

Иерархическая модель данных основана на графическом способе и предусматривает поиск данных по одной из ветвей «дерева», в котором каждая вершина имеет только одну связь с вершиной более высокого уровня. Для осуществления поиска необходимо указать полный путь к данным, начиная с корневого элемента.

Сетевая модель данных также основана на графическом способе, но допускает усложнение «дерева» без ограничения количества связей, входящих в вершину. Это позволяет строить сложные поисковые структуры.

К поисковым структурам относят следующие виды:

Рассмотрим основные элементы структуры модели данных.

Элемент данных (поле) – наименьшая поименованная единица данных. Используется для представления значения атрибута.

Запись – поименованная совокупность полей. Используется для представления совокупности атрибутов сущности (записи о сущности).

Экземпляр записи – запись с конкретными значениями полей.

Агрегат данных – поименованная совокупность элементов данных внутри записи, которую можно рассматривать как единое целое.

Фундаментальным понятием реляционной модели данных является отношение.

Отношение – структура, которая формально определяет свойства различных однородных объектов и их взаимосвязи. Один и тот же объект может быть описан с разных точек зрения, обладая отличными атрибутами. Например, разные документы, принадлежащие одному и тому же человеку, описывают его как разные отношения. Для получения полного описания объекта средствами реляционной модели данных используют связи отношений.

Связь – правило, описывающее способ объединения разных отношений для получения полного описания объекта средствами базы данных. Группа данных, описывающая какой-либо объект с помощью отношений и связей, образует кортеж данных, входящие в в его состав элементы данных называются атрибутами.

Формой представления отношений являются таблицы базы данных, строки которых соответствуют записям, а столбцы — полям.

В настоящее время существуют три вида баз данных: сетевые, иерархические и реляционные. Они различаются способом реализации связей между данными. Сетевые БД реализуют связи посредством отношений, т. е. в них одни данные связаны с другими, другие — с третьими и т. д.; возможны также множественные связи. В результате данные в базе связаны между собой подобно сети. Иерархические БД являются некоторой разновидностью сетевых БД, поскольку в них допустим только один вид связи — «владелец — подчиненный». В итоге связи получаются направленными строго «сверху вниз» (на рисунке это можно изобразить в виде дерева). Реляционные БД реализуют связи между данными по­средством ссылок (или реляций), т. е. одни данные хранят ссылки на другие данные. Такие БД имеют жесткую структуру и могут быть представлены в виде таблиц.

Реляционные БД нашли наибольшее распространение. Даже если в базе нет никаких данных (пустая база), то это все равно БД. БД имеет свою структуру, которая определяется методами занесения данных и их хранения в базе. Наиболее простая реляционная база – это содержание одной таблицы, структура которой соответствует структуре БД. Структуры двухмерной и более сложных таблиц включает столбцы и строки. Их аналогами в структуре в БД являются поля и записи. Каждая строка является записью, а каждый столбец содержит значения полей. Безусловно, значение каждого поля любой записи таблицы можно изменить, отредактировать, удалить.

В настоящее время наиболее широко распространены реляционные базы данных (базы данных в Microsoft Access являются реляционными). В них используется ряд специфических терминов, смысл которых следует пояснить.

Поле — это наименьший элемент данных, имеющий имя и значение.

Запись — более сложный элемент данных, состоящий из значений нескольких полей. В отличие от поля запись не имеет имени, но имеет номер. Еще одна особенность записи заключается в том, что количество полей в ней может изменяться: к записи можно добавлять поля и удалять их из нее. Например, запись с полями Фамилия, Имя, Отчество может быть дополнена полем НомерТелефона. В записи не может быть меньше одного поля.

Таблица — еще более сложный элемент данных, представляющий собой набор записей одного типа. Таблица всегда имеет имя и может быть пустой, т. е. не содержать записей.

Реляционная база данных — это совокупность взаимосвязанных таблиц. Данные, которые необходимо хранить, обычно неоднородны. Это значит, что, например, объекты Поезд и Машинист неодинаковы, поскольку у любо­го поезда есть номер, время прибытия и время отправления, а у машиниста — фамилия, имя, отчество и номер телефона. Поэтому если в одной базе данных нужно хранить информацию о поездах и машинистах, которые управляют ими, то эти данные хранят в разных таблицах, но при этом таблицы являются взаимосвязанными. Так как машинист управляет поездом, то СУБД по номеру поезда должна выдавать фамилию машиниста и наоборот.