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

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

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

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

Например, в базе данных предметной области «Успеваемость студентов» может возникнуть оценка по дисциплине не закрепленная за каким-либо конкретным студентом. Это нарушение целостности данных.

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

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

Одной из первых технологий моделирования баз данных стала иерархическая модель. Эта модель представляет собой древовидную структуру, где данные связаны между собой по следующим правилам:

· каждый узел дерева представляет собой некий элемент предметной области, обладающий свойствами:

o наличие одного родительского узла, который является источником связанной информации в соответствии с предметной областью;

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

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

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

Сетевая модель подчиняется следующим правилам:

· модель не имеет корневого узла, относительно которого может начинаться обработка данных (хотя в частном случае такая ситуация возможна);

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

· модель предполагает связь непосредственно с экземплярами узла.

Использование сетевой модели данных показало недостатки в такой организации хранения информации:

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

· возможнее существование зацикливания при обработке данных.

Естественно, что данная модель данных также должна была быть изменена. В результате родилась третья модель базы данных – реляционная.

Основой для построения реляционных баз данных явилась математическая теория, оперирующая понятием «отношение», «связь».

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

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

Для отображения реляционной модели базы данных вводится ряд понятий:

· атрибут – это существенная деталь, параметр, свойство или функция определяемого объекта [2];

· ключевой атрибут (ключ) – это атрибут, значение которого однозначно определяет конкретный экземпляр объекта;

· сцепленный ключ – это набор атрибутов, объединение значений которых может однозначно определить конкретный экземпляр объекта;

· внешний ключ – это атрибут, значение которого совпадает со значением родительского объекта;

· сущность – это представление объекта в модели базы данных;

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

Классификация по видам связей описывает количественные показатели по взаимодействию экземпляров таблиц. Выделяют три вида связей:

· 1:1 (один-к-одному) – связь описывает, что одному экземпляру одной сущности соответствует не более одного экземпляра другой сущности

· 1:M (один-ко-многим) – связь описывает, что одному экземпляру первой сущности может соответствовать несколько экземпляров второй сущности, а одному экземпляру второй сущности – не более одного экземпляра первой сущности

· N:M (многие-ко-многим) – связь описывает, что одному экземпляру одной сущности может соответствовать несколько экземпляров другой сущности


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



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