![]() |
Информационная модель данныхСистема автоматизированной обработки данных основывается на использовании определенной модели данных или информационной модели. Модель данных отражает взаимосвязи между объектами. Способ описания данных и способ манипулирования данными определяют модель данных, поддерживаемую конкретной СУБД. Различают внешнюю, концептуальную,
логическую (внутреннюю) и физическую модели данных.
Последовательность создания информационной моделиПроцесс создания информационной модели начинается с определения концептуальных требований ряда пользователей (рис. 2.1). Концептуальные требования могут определяться и для некоторых задач (приложений), которые в ближайшее время реализовывать не планируется. Это может несколько повысить трудоемкость работы, однако поможет наиболее полно учесть все нюансы функциональности, требуемой для разрабатываемой системы, и снизит вероятность ее переделки в дальнейшем. Требования отдельных пользователей интегрируются в едином «обобщенном представлении». Последнее называют концептуальной моделью. Рис.2.1. Процесс проектирования информационной модели
Концептуальная модель включает
описания объектов и их взаимосвязей, представляющих интерес в рассматриваемой
предметной области и выявляемых в результате анализа данных. Здесь имеются
в виду данные, используемые как в уже разработанных прикладных программах,
так и в тех, которые только будут реализованы.
Версия концептуальной модели, которая может быть обеспечена конкретной СУБД, называется логической моделью.
С другой стороны, если концептуальная модель способна учитывать расширение требований к системе в будущем, то вносимые в нее изменения не должны оказывать влияния на существующие внешние модели. Это - второй уровень независимости данных. Уровни независимости данных показаны на рис. 2.1. Важно помнить, что построение логической модели обусловлено требованиями используемой СУБД. Поэтому при замене СУБД она также может измениться. С точки зрения прикладного программирования независимость данных определяется не техникой программирования, а его дисциплиной. Например, для того чтобы при любом изменении системы избежать перекомпиляции приложения, рекомендуется не определять константы (постоянные значения данных) в программе. Лучшее решение состоит в передаче программе значений в качестве параметров. Все актуальные требования предметной области и адекватные им «скрытые» требования на стадии проектирования должны найти свое отражение в концептуальной модели. Конечно, нельзя предусмотреть все возможные варианты использования и изменения базы данных. Но в большинстве предметных областей такие основные данные, как объекты и их взаимосвязи, относительно стабильны. Меняются только информационные требования, то есть способы использования данных для получения информации. Степень независимости данных определяется тщательностью проектирования базы данных. Всесторонний анализ объектов предметной области и их взаимосвязей минимизирует влияние изменения требований к данным в одной программе на другие программы. В этом и состоит всеобъемлющая независимость данных. Основное различие между указанными
выше тремя типами моделей данных (концептуальной, логической и физической)
состоит в способах представления взаимосвязей между объектами. При проектировании
БД нам потребуется различать взаимосвязи между объектами, между атрибутами
одного объекта и между атрибутами различных объектов.
|