Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
612-4 / Клиент-серверные ИТ / Лекции Клиент-серверные технологии.doc
Скачиваний:
119
Добавлен:
02.04.2015
Размер:
2.03 Mб
Скачать
  1. Базы данных как информационные модели предметных областей

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

Прежде всего необходимо отметить, что само понятие база данных на сегодняшний день претерпело некоторые изменения. Нельзя равнозначно говорить о базах данных, создаваемых и поддерживаемых средствами СУБД типа клиент-сервер, например, Oracle, и базах данных Paradox. Это различие определяется понятием концептуальной модели базы данных [1] и возможностью ее реализации средствами выбранной СУБД. Базы данных и предметные области должны быть с информационной точки зрения максимально адекватными друг другу. Например, одним из правил для обеспечения адекватности может быть следующее - СУБД должна быть представительной и организована таким образом, чтобы поступающая в базу данных информация отфильтровывалась, если ее включение нарушает адекватность. Если сформулированные пользователем концептуальные требования к базам данных - ограничения целостности - нельзя реализовать в конкретной СУБД, то либо они должны быть заданы в каждом приложении, работающем с этой базой данных, либо пользователь должен быть хорошо знаком с предметной областью и действовать в соответствии с этим знанием, не разрушая базы данных. Очевидно можно определить и другие меры адекватности, но это требует отдельного рассмотрения.

Такие СУБД как Oracle, Informix, Sybase, т.е. серверы баз данных, позволяют задавать весь спектр ограничений целостности. Сегодня нельзя говорить только о реляционной модели, так как, ориентируясь на производителей SQL-серверов, следует учитывать поддержку ими как минимум 10 правил-требований к реляционным системам, сформулированных Коддом, что расширяет реляционную модель. Принципиально важным при этом является использование средств, позволяющих задавать ограничения, накладываемые на связи между объектами, поскольку это позволяет значительно увеличить семантическую мощность базы данных и тем самым повысить ее адекватность предметной области. Таким образом, данные в такой базе уже нельзя рассматривать как некий абстрактный объект, не имеющий связи с объектами предметной области.

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

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

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

АБИТУРИЕНТ (Id*, факультет, декан, номер телефона, шифр специальности, номер специальности, название специальности, фамилия абитуриента, имя, отчество, год рождения, ..., экзаменационный предмет, оценка). Кроме того, известно о существовании следующих функциональных зависимостей:

СПЕЦИАЛЬНОСТИ;ФАКУЛЬТЕТ        Id*;ФАКУЛЬТЕТ        Id*;СПЕЦИАЛЬНОСТЬ        ПРЕДМЕТ;Id*        ФАМИЛИЯ АБИТУРИЕНТА, ИМЯ, ОТЧЕСТВО,Id* ГОД РОЖДЕНИЯ, …;        ПРЕДМЕТ, ОЦЕНКА;Id*        ДЕКАН, НОМЕР ТЕЛЕФОНА;ФАКУЛЬТЕТ        НОМЕР, НАЗВАНИЕШИФР СПЕЦИАЛЬНОСТИ СПЕЦИАЛЬНОСТИ.

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

       АБИТУРИЕНТ(Id*, шифр специальности, фамилия, имя, отчество, год рождения, …);        СДАЧА ЭКЗАМЕНОВ (Id*, предмет, оценка);        СПЕЦИАЛЬНОСТЬ (шифр специальности, номер специальности, название специальности);        ФАКУЛЬТЕТ (факультет, декан, номер телефона).

Теперь рассмотрим информационную модель той части предметной области, которая связана с организацией приема в вуз (рис. 1), предварительно выделив объекты "АБИТУРИЕНТ", "ФАКУЛЬТЕТ", "СПЕЦИАЛЬНОСТЬ" и "ПРЕДМЕТ" и формализовав связи.

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

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

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

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

— сложно реализовать связи между объектами, поскольку информацию об объекте, всегда можно выразить реляционным отношением, а вот некоторые связи реализовать, используя только теорию реляционных баз данных, вероятно, невозможно; например, для хранения связи супертип/подтип (наследование) при реализации возможно либо создать отдельно таблицы для объекта супертипа и объектов подтипов, либо только таблицы подтипов. В первом случае, в одной таблице хранится общая для объектов информация, а также поле, отвечающее за принадлежность к подтипу, остальные таблицы включают атрибуты, характерные только для данного подтипа, и, работая с таблицами нижнего уровня, легко можно восстановить ту часть информации, которая находится в "родительской" таблице - соединение по ключу, однако обратное действие

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

— неопределенность результатов выполнения операций реляционной алгебры с точки зрения объектного подхода.

Так как в области баз данных ведущее место принадлежит реляционным базам, а при проектировании сложных систем, программировании интерфейса доступа к данным преимущественно используется объектно-ориентированный подход, необходимо найти способ совместного использования этих технологий. Один из путей - расширение реляционных баз данных до возможности работы с объектами. Попытка соединить достоинства обеих технологий привела к появлению объектно-реляционных СУБД. Преимущества таких систем очевидны: сохранение преемственности с системами предыдущего поколения, возможность работы с уже накопленными данными, применение уже зарекомендовавших себя методов хранения информации реляционных СУБД, возможность использования новых объектно-ориентированных механизмов, повышающих эффективность хранения и обработки данных. Наиболее известные объектно-реляционные СУБД сегодня: Postgres5, Informix Universal Server, Oracle8, DB2 Universal Server. Общими для них являются поддержка определения сложных типов данных и управления ими, поддержка иерархии и наследования (исключение - Oracle8), а также языка запросов, основанного на расширении индустриального стандарта SQL [6, 7]. Реализует эти свойства каждая фирма по-своему, причем подходы существенно различаются, что связано с проблемой, перекочевавшей вместе с префиксом "объектный" из области объектно-ориентированных баз данных, отсутствия общепринятой объектно-ориентированной модели данных.

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

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