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

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

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

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

Если вновь порожденный объект оказывается по необходимости связанным с каким-либо объектом предметной области, то между этими двумя объектами существует обязательная связь. В против­ном случае связь является факультативной (необязательной).

Обязательная связь «ЗАМЕЩАЕТ» существует, например, меж­ду двумя объектами СОТРУДНИК и ДОЛЖНОСТЬ в предметной области кадровой информационной системы. Каждый принимае­мый в организацию сотрудник зачисляется на какую-либо долж­ность и не может быть сотрудника, не замещающего какой-либо Должности. В то же время связь «ЗАМЕЩАЕТСЯ» между типами объектов СОТРУДНИК и ДОЛЖНОСТЬ является факультативной, поскольку могут существовать вакантные должности.

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

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

Информационно-логическаямодель (ИЛМ) — совокупность ин­формационных объектов (сущностей) предметной области и связей между ними.

Процесс создания информационной модели начинается с опре­деления концептуальных требований будущих пользователей БД.

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

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

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

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

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

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

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

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

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

 

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

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

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

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

Поиск данных в иерархической системе всегда начинается с корня. Затем производится спуск с одного уровня на другой пока не будет достигнут искомый уровень. Перемещения по системе от од­ной записи к другой осуществляются с помощью ссылок.

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

Указанный недостаток снят в сетевоймодели, где, по крайней мере, теоретически возможны связи «всех информационных объек­тов со всеми». В примере учебного заведения на рис. 1.3 каждый преподаватель может обучать много (теоретически всех) студентов, и каждый студент может обучаться у многих (теоретически всех) преподавателей. Поскольку на практике это, естественно, невоз­можно, приходится прибегать к некоторым ограничениям.

Использование иерархическойи сетевоймоделей ускоряет до­ступ к информации в базе данных. Но поскольку каждый элемент данных должен содержать ссылки на некоторые другие элементы, требуются значительные ресурсы как дисковой, так и основной па­мяти ЭВМ. Недостаток основной памяти, конечно, снижает ско­рость обработки данных. Кроме того, для таких моделей характерна сложность реализации системы управления базами данных (СУБД). Реляционная модель(от англ. relation — отношение) была разра­ботана в начале 70-х годов Коддом. Простота и гибкость модели привлекли к ней внимание разработчиков. В 80-х годах она получи­ла широкое распространение, и реляционные СУБД оказались про­мышленным стандартом.

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

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

Таблицаотражает объект реального мира — сущность, а каждая ее строка (запись) отражает один конкретный экземпляр объекта — экземпляр сущности. Каждый столбец таблицы имеет уникальное для своей таблицы имя. Столбцы расположены в таблице в соответ­ствии с порядком следования их имен при ее создании. Таблица не может иметь менее одного столбца.

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

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

В каждой таблице реляционной модели должен быть столбец или совокупность столбцов, значения которых однозначно иденти­фицируют каждую строку таблицы. Этот столбец или их совокуп­ность и называется первичным ключомтаблицы (рис. 1.4).

Если таблица удовлетворяет требованию уникальности первично­го ключа, она называется отношением. Вреляционной модели все таблицы должны быть преобразованы в отношения. Отношения ре­ляционной модели связаны между собой. Связи поддерживаются внешними ключами. Внешний ключ— это столбец (совокупность столбцов), значение которого однозначно характеризует значение первичного ключа другого отношения (таблицы).

Говорят, что отношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором та же сово­купность столбцов является первичным ключом.

В приведенном примере на рис. 1.4 отношение «СОТРУДНИК» ссылается на отношение «ОТДЕЛ» через название отдела.

Схема реляционной таблицы (отношения)представляет собой со­вокупность имен полей, образующих запись таблицы:

НАЗВАНИЕ ТАБЛИЦЫ (Поле 1, Поле 2, ..., Поле п).

Например, для таблиц на рис. 1.4 имеем следующие схемы таблиц:

СОТРУДНИК (№ пропуска, Фамилия, Должность, Название отдела,

Телефон);

ОТДЕЛ {Название отдела, Расположение отдела, Назначение отдела).

Курсивом в схемах таблиц показаны первичные ключи.

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

Доминирование реляционной модели в современных СУБД оп­ределяется:

1) наличием развитой теории (реляционной алгебры);

2) наличием аппарата сведения других моделей данных к реля­ционной модели;

3) наличием специальных средств ускоренного доступа к ин­формации;

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

Типы взаимосвязей в модели: «один к одному», «один ко многим», «многие ко многим»

На практике часто используются связи, устанавливающие раз­личные виды соответствия между объектами «связанных» типов, — «один к одному» (1:1), «один ко многим» (1:М), «многие ко мно­гим» (М:М).

Связь «один к одному» означает, что каждому экземпляру пер­вого объекта (А) соответствует только один экземпляр второго объ­екта (В) и наоборот, каждому экземпляру второго объекта (В) соот­ветствует только один экземпляр первого объекта (А).

Связь «один ко многим» характеризуется тем, что каждому эк­земпляру одного объекта (А) может соответствовать несколько эк­земпляров другого объекта (В), а каждому экземпляру второго объ­екта (В) может соответствовать только один экземпляр первого объ­екта (А).

Связь «многие ко многим» означает, что каждому экземпляру одного объекта (А) могут соответствовать несколько экземпляров второго объекта (В) и наоборот, каждому экземпляру второго объек­та (В) могут соответствовать тоже несколько экземпляров первого объекта (А).

Пример 1.1.Рассмотрим совокупность следующих информаци онных объектов:

СТУДЕНТ (Номер студента, Фамилия И.О., Дата рождения. Номер группы);

СТИПЕНДИЯ (Номер студента. Размер стипендии);

ГРУППА (Номер группы, Специальность);

ПРЕПОДАВАТЕЛЬ (Код преподавателя, Фамилия И.О., Должность).

Информационные объекты СТУДЕНТ и СТИПЕНДИЯ связаны отношением «один к одному», так как каждый студент может иметь только одну стипендию, и каждая стипендия может быть назначена только одному студенту.

Информационные объекты ГРУППА и СТУДЕНТ связаны от­ношением «один ко многим», так как одна группа может включать много студентов, и в то же время каждый студент может обучаться только в одной группе.

Информационные объекты СТУДЕНТ и ПРЕПОДАВАТЕЛЬ связаны отношением «многие ко многим», так как один студент мо­жет обучаться у многих преподавателей, и один преподаватель мо­жет обучать многих студентов.