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

Модель данных - это совокупность структур данных и операций их обработки. Рассмотрим три основных типа моделей данных: иерархическую, сетевую и реляционную.

Файловая модель

Файловая модель была первой моделью, используемой при разработке информационных систем[1][1]. Точнее модель, как таковая, отсутствовала. Можно сказать, что файловая модель – это модель без СУБД. Прикладные программисты разрабатывали базы данных непосредственно на внутреннем уровне, т.е. имели дело непосредственно с файлами (логический и внутренний уровень совпадали). Другими словами базы данных представляли собой наборы файлов, трактовка внутренней структуры которых принадлежала непосредственно разработчикам данной информационной системы, т.е. была уникальна. Файловая модель обладала рядом недостатков, но, несмотря на это она дожила до наших дней и иногда используется для разработки не больших однопользовательских информационных систем. Перечислим основные недостатки данной модели.

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

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

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

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

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

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

 

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

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

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

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

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

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

1. Каждый элемент таблицы соответствует одному элементу данных.

2. Все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип и длину.

3. Каждый столбец имеет уникальное имя.

4. Одинаковые строки в таблице отсутствуют;

5. Порядок следования строк и столбцов может быть произвольным.

 



 

Hosted by uCoz