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

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

Модель БД представляет формирование логических записей в виде совокупности элементов данных и взаимосвязей между записями.

Взаимосвязи могут быть типизированы по основным видам:

· «один к одному», когда одна запись может быть связана только с одной записью;

· «один ко многим», когда одна запись взаимосвязана со многими другими;

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

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

В иерархической модели данные представляются в виде древовидной (иерархической) структуры (рисунок 1).

Объекты, связанные иерархическими отношениями, образует ориентированный граф (перевернутое дерево). К основным понятиям иерархической структуры относятся: уровень, узел, связь.

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

Рисунок 1 – Иерархическая модель БД

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

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

В иерархических и сетевых БД наборы элементов данных и структура записей создаются изначально, а изменение структуры обычно озна­чает перестройку всей базы. Кроме того, для реализации пользовательских запросов про­граммист должен выполнить программу навигации по базе данных, и к моменту появления запрошенной ин­формации она часто оказывается бесполезной.

Рисунок 2 – Сетевая модель БД

Эдгар Франк Кодд в 60-х – 70-х годах XX века работал в компании IBM над концепциями хранения данных. Его труды заложили основы теории реляционных БД, оказали широкое влияние на технологию БД во всех ее аспектах, а также на другие области информационных технологий (например, искусственный интеллект и обработку текстов на естественных языках).

В 2002 журнал Forbes поместил реляционную модель данных в список важнейших инноваций последних 85 лет.

Реляционнаямодель получила название от английского термина relation – отношение.

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

Примером упрощенной реляционной модели может служить таблица Сотрудники (таблица 1), где одна строка (запись) – сведения об одном из сотрудников.

Таблица 1 – Отношение Сотрудники

Код ФИО Дата Рождения Таб Номер Должность Оклад
  Иванов А.М. 10.12.70   Директор  
  Сидоров О.П. 04.05.77   Менеджер по продажам  
  Петров Н.И. 08.11.75   Менеджер по закупкам  

При работе с реляционными моделями используется как математическая терминология, так и терминология, исторически принятая в сфере обработки данных:

Формальный реляционный термин Неформальный эквивалент
Отношение Таблица
Кортеж Запись, строка
Атрибут Поле, столбец
Домен Множество значений
Ключ Средство связи отношений

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

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

Поле, значение которого однозначно определяет соответствующую запись, называется ключевым полем, например, поле Код в таблице 1. Данное ключевое поле имеет тип Счётчик с автоматическим изменением значения на единицу при переходе к следующей записи

Таблица базы данных это совокупность экземпляров записей одной структуры. Описание структуры базы данных содержит перечень полей записи и их основные характеристики.

Преобладание реляционной модели в современных СУБД обусловлено рядом причин, в числе которых:

· наличие развитой теории реляционных БД;

· наличие аппарата приведения любой модели данных к реляционной;

· поддержка реляционной моделью специальных средств ускоренного доступа к информации;

· возможность манипулирования данными без необходимости знания конкретной физической организации БД во внешней памяти;

· наличие стандартизованного высокоуровневого языка запросов к БД – SQL.

Объектно-ориентированная модель объединяет в себе реляционную и сетевую модели БД.

Вобъектно-ориентированнойБД данные оформлены в виде моделей объектов, включающих прикладные программы, которые управляются внешними событиями. Результатом совмещения возможностей (особенностей) БД и возможностей объектно-ориентированных языков программирования (ООЯП) являются Объектно-ориентированные системы управления базами данных (ООСУБД). ООСУБД позволяет работать с объектами баз данных так же, как с объектами в программировании на ООЯП. ООСУБД расширяет языки программирования, вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и другие возможности.

Одни объектно-ориентированные БД разработаны для взаимодействия с такими ООЯП как Python, Java, C#, Visual Basic.NET, C++, Objective-C и Smalltalk, а другие имеют свои собственные языки программирования.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: