Модели представления данных в электронных базах данных
Внедрение новых информационных технологий не обошлось без трудностей, так как поначалу поиск в электронных картотеках оказался хотя и очень быстрым, но зачастую гораздо менее эффективным, чем поиск в обычной картотеке или традиционное изучение архивных дел. Это во многом было связано с тем, что в то время доступ к обрабатываемым данным осуществлялся прикладными программами напрямую, а сами данные были организованы в виде плоских файлов.
Возрастающие потребности в обработке информационных массивов стали мощным стимулом развития теоретических основ информационных технологий и их практической реализации. Возникавшие проблемы с логической целостностью данных, а также невозможность представить логические связи между ними в указанных выше системах стали причиной возникновения первой модели данных — иерархической.
На сегодняшний день существует четыре модели* представления данных: иерархическая, сетевая, реляционная (объектно-реляционная) и объектно-ориентированная. Между собой они различаются в основном способами представления взаимосвязей между объектами. {Моделирование данных — это выявление сущностей (объектов), которые должны быть представлены в базе данных, и связей между ними.}
Иерархическая модель данныхстала применяться в системах управления базами данныхв начале 60-х годов. {Программные продукты, призванные работать со структурированными информационными массивами, стали называться системы управления базами данных (СУБД). Система управления базами данных предоставляет возможность контролировать задание структуры и описания своих данных, работу с ними и организацию коллективного использования этой информации. СУБД также существенно увеличивает возможности и облегчает каталогизацию и ведение больших объемов хранящейся информации. СУБД включает в себя три основных типа функций: определение (задание структуры и описание) данных, обработка и управление данными.}
Она представляет собой совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое дерево (граф).
Иерархическая модель данных строится по принципу иерархии типов объектов, то есть один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии, — подчиненными. Между главным и подчиненными объектами устанавливается взаимосвязь «один ко многим».
Иными словами, для данного главного типа объекта существует несколько подчиненных типов объекта. В то же время для каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов. Таким образом, взаимосвязи между объектами напоминают взаимосвязи в генеалогическом дереве за единственным исключением: для каждого порожденного (подчиненного) типа объекта может быть только один исходный (главный) тип объекта. То есть иерархическая модель данных допускает только два типа связей между объектами: «один к одному» и «один ко многим».
При моделировании событий, как правило, необходимы связи типа «многие ко многим». Как одно из возможных решений снятия этого ограничения можно предложить дублирование объектов. Однако дублирование объектов создает возможности рассогласования данных. Приведу пример: объект «Иванов» может проходить как подчиненная связь объекта «Петров», и одновременно имеется объект «Иванов» с подчиненной связью «Петров». Установить реально существующие связи ближайшего окружения «Иванова» и «Петрова» в этом случае достаточно проблематично.
Иерархические базы данных по существу являются навигационными, т.е. доступ возможен только с помощью заранее определенных связей.
Достоинство иерархической базы данных в том, что ее навигационная природа обеспечивает очень быстрый доступ при следовании вдоль заранее определенных связей. Однако негибкость модели данных и, в частности, невозможность наличия у объекта нескольких родителей, а также отсутствие прямого доступа к данным делают ее непригодной в условиях частого выполнения запросов, не запланированных заранее. Еще одним недостатком иерархической модели данных является то, что информационный поиск из нижних уровней иерархии нельзя направить по вышележащим узлам.
Чтобы устранить ограничения, свойственные иерархической модели данных, в начале 60-х годов, задолго до появления компьютерных сетей, проектировщики баз данных создают сетевую модель данных,описывающую сети связей между данными.
В сетевой модели данных понятия главного и подчиненных объектов несколько расширены. Любой объект может быть и главным, и подчиненным (в сетевой модели главный объект обозначается термином «владелец набора», а подчиненный — термином «член набора»). Один и тот же объект может одновременно выступать и в роли владельца, и в роли члена набора. Это означает, что каждый объект может участвовать в любом числе взаимосвязей.
Сетевая модель базы данных похожа на иерархическую, однако характер отношений основных ее составляющих принципиально иной. В сетевой модели принята свободная связь между элементами разных уровней, т.е. она допускает связи «многие ко многим». В качестве примера используемой на сегодняшний день СУБД, поддерживающей принципы сетевой модели данных, можно привести инструментальную СУБД «Cronos Plus».
Понятие реляционная модельввел в 1970 г. Э. Ф. Кодц. В реляционной модели данных объекты и взаимосвязи между ними представляются с помощью таблиц. Взаимосвязи также рассматриваются в качестве объектов. Каждая таблица представляет один объект и состоит из строк и столбцов. В реляционной базе данных каждая таблица должна иметь первичный ключ (ключевой элемент) — поле или комбинацию полей, которые единственным образом идентифицируют каждую строку в таблице. Благодаря своей простоте и естественности представления реляционная модель получила наибольшее распространение среди СУБД для персональных компьютеров.
Название «реляционная» (relational) связано с тем, что каждая запись в такой базе данных содержит информацию, относящуюся (related) только к конкретному объекту. Кроме того, с данными двух типов можно работать как с единым целым, основанным на значениях связанных между собой данных.
Преимуществом реляционной модели перед другими моделями является простая и удобная для пользователя схема данных, представляемая в виде таблиц.
Физическая независимость реляционной модели состоит в том, что модель данных не включает никаких физических описаний. В действительности физическое представление отношений и путей доступа описывается независимо от описания логической схемы отношений.
Недостатком реляционной модели данных является избыточность по полям (из-за создания связей).
В качестве примера можно привести реляционные СУБД Microsoft Access и Borland Paradox.
Объектно-ориентированная модель данныхв отличие от вышеописанных моделей, в которых информация и процедуры хранились раздельно (данные и связи между ними — в базе данных, а процедуры — в прикладной программе), позволяет хранить процедуры обработки сущностей вместе с данными. Такое совместное хранение считается шагом вперед в методах управления данными. Но объектно-ориентированные базы данных являются навигационными, что представляется шагом назад.
Объектно-ориентированная модель непосредственно поддерживает связи типа «многие ко многим».