УДК 681.3.07
Ф.А. Попов, А.В. Максимов
Подходы к проектированию баз данных
для автоматизированных систем
Как показано в работах [1—6], одной из главных функций автоматизированных систем управления различных типов (САПР, АСУТП, городских информационно-управляющих систем и др.) является сбор данных и передача их между подсистемами управления с целью дальнейшего использования для учета и анализа на этапах принятия решений.
Для повышения эффективности работы таких систем в настоящее время чаще всего используется подход, основанный на использовании баз данных (БД) и систем управления базами данных, или СУБД. При этом сегодня для большинства исследователей и разработчиков становится очевидным, что реляционные системы, получившие распространение с момента опубликования в 1970 г. Э.Ф. Коддом статьи о реляционной модели данных [7], не удовлетворяют требованиям приложений и входят в противоречие с объектными методами разработки информационных систем.
Для разрешения этого противоречия исследователи и разработчики идут двумя путями: создают объектно-ориентированные СУБД (ОО СУБД) и дорабатывают реляционные системы, превращая их в объектно-реляционные (ОР СУБД) [8-10].
Кроме того, к современным СУБД предъявляется требование структурированности с использованием клиент-серверной модели, являющейся удобным концептуальным средством ясного представления функций различных программных элементов систем, а также обеспечивающей эффективную обработку данных в рамках информационно-вычислительных сетей [9-10].
При этом необходимо отметить, что, рассматривая историю СУБД, исследователи обычно ориентируются на зарубежные разработки (IMS - Information Management System, IKS - Integrated Data Store, System R, др.), а также на системы, созданные в нашей стране в академических центрах (CKKASYL-система ВЦ АН СССР, иерархическая СУБД ВЕГА Новосибирского филиала ИТМ и ВТ АН СССР), и упускают из внимания разработки, выполненные в отраслевых НИИ в рамках закрытых работ и слабо отраженные в открытой
печати. В этой связи хочется отметить, что еще в середине 70-х гг. в НПО «Алтай» при непосредственном участии одного из авторов была доказана ограниченность реляционных подходов к проектированию БД для многих приложений, в первую очередь для САПР, и была создана первая объектно-ориентированная СУБД, использовавшаяся для решения широкого класса задач до начала 90-х гг. [11— 14]. Доступ к данным в первых версиях системы осуществлялся с так называемых интеллектуальных терминалов и сателлитов, разработанных здесь же и являющихся эволюционными звеньями на пути создания клиент-серверных моделей распределенной обработки информации [15]. В конце 70-начале 80-х гг. данная система получила законченное выражение как объектно-ориентированная клиент-серверная СУБД, имеющая развитые интеллектуальные человеко-машинные интерфейсы, языки определения данных и манипулирования данными, возможность доступа к информации как с клиентских рабочих мест, так и из прикладных программ, написанных на языках высокого уровня (ФОРТРАН, АЛГОЛ, др.).
Далее необходимо отметить, что разработка информационных систем в кратчайшие сроки всегда была сопряжена с рядом неудач, многие из которых были вызваны отсутствием полной спецификации всех требований; отсутствием приемлемой методологии разработки; недостаточной степенью разделения проекта на отдельные компоненты, поддающиеся эффективному контролю и управлению.
Для разрешения этих проблем был предложен подход к разработке программного обеспечения, основанный на понятии жизненного цикла информационных систем (или жизненного цикла разработки программного обеспечения) [9].
База данных является фундаментальным компонентом информационной системы, следовательно, жизненный цикл информационной системы неотъемлемым образом связан с жизненным циклом системы базы данных, поддерживающей его. Жизненный цикл информационной системы обычно состоит из нескольких этапов: планирование, сбор и анализ тре-
бований, проектирование, выбор СУБД, разработка приложений, создание прототипа, реализация, тестирование, преобразование данных и сопровождение.
Остановимся кратко на вопросах проектирования информационных систем и выбора СУБД, как наиболее важных, от успешного решения которых зависит успех всей разработки в целом.
Проектирование базы данных. Ключевым этапом проектирования информационных систем является этап проектирования БД, основными целями которого являются:
- представление данных и связей между ними, необходимых для всех основных областей применения данной системы и любых групп ее пользователей;
- создание модели данных, способной поддерживать выполнение любых требуемых транзакций обработки данных;
- разработка предварительного варианта проекта, структура которого позволяет удовлетворить все основные требования, предъявляемые к производительности системы.
Существуют два основных подхода к проектированию систем баз данных: нисходящий и восходящий [9]. Восходящий подход лучше всего подходит для проектирования простых БД с относительно небольшим количеством атрибутов. Использование этого подхода усложняется при проектировании баз данных с большим количеством атрибутов, установить среди которых все существующие функциональные зависимости сложно. Более подходящей стратегией проектирования сложных баз данных является использование нисходящего подхода, хорошо продемонстрированного в концепции модели «сущность-связь» [16]. В этом случае работа начинается с идентификации сущностей и связей между ними, являющихся наиболее важными для данной разработки.
Весь процесс проектирования БД состоит из трех основных фаз: концептуального, логического и физического проектирования. Каждая фаза заключается в создании соответствующей модели данных, являющейся источником информации для очередной фазы. Особо важное значение в этом процессе имеет создание концептуальной модели данных, разрабатываемой на основе информации, записанной в спецификациях требований пользователей. Концептуальное проектирование базы данных абсолютно не зависит от таких подробностей ее реализации, как тип выбранной целевой СУБД, тип выбранной вычислительной платформы и т.п., но качество концептуальной мо-
дели при этом является решающим фактором, определяющим трудозатраты на создание системы, ее эффективность и успех разработки в целом. Опыт разработки и эксплуатации ИС показывает, что ошибки, допущенные на этом этапе, являются наиболее трудно выявляемыми и устраняемыми, так как они обнаруживаются в основном на последующих этапах создания систем, таких как реализация и сопровождение.
На фазе логического проектирования концептуальная модель данных уточняется и преобразуется в логическую модель, создаваемую на основе выбранной модели организации данных целевой СУБД. Иначе говоря, на этом этапе уже должно быть известно, какая СУБД будет использоваться в качестве целевой -реляционная, сетевая, иерархическая или объектно-ориентированная. Однако на этом этапе игнорируются все остальные аспекты выбранной СУБД - например, любые особенности физической организации ее структур хранения данных. Логическая модель, отражающая особенности представления о создаваемой системе одновременно многих типов пользователей, является глобальной логической моделью данных. Существуют два основных подхода к созданию глобальной логической модели данных: централизованный и на основе интеграции представлений [9]. Для создания крупных информационных систем, проблемам проектирования которых посвящена данная работа, наиболее предпочтительным и эффективным является второй подход, при котором глобальная логическая модель данных получается путем слияния отдельных моделей, отражающих представления разных групп пользователей.
На фазе физического проектирования проектировщик принимает решения о способах реализации разрабатываемой БД. Поэтому физическое проектирование неразрывно связано с конкретной СУБД. Между логическим и физическим проектированием существует постоянная обратная связь, так как решения, принимаемые на этапе физического проектирования с целью повышения производительности системы, способны повлиять на структуру логической модели данных. Вообще, основной целью физического проектирования базы данных является описание способа физической реализации логического проекта базы данных.
Особенности пользовательского интерфейса информационных систем. Весь комплекс средств организации взаимодействия с конечным пользователем на современном уровне играет роль «интеллектуального интерфейса»,
обеспечивающего интерактивное решение информационных задач на ЭВМ. Особенности построения таких интерфейсов детально рассмотрены в работе [17], здесь же мы только отметим, что одной из главных особенностей средств общения, предоставляемых современными информационными системами, является приближение языка общения с ними к естественному языку. При этом «естественность» языка общения «человек-ЭВМ» состоит не столько в том, чтобы он позволял использовать весь словарь и весь арсенал синтаксиса и семантики естественного языка, сколько в том, чтобы он позволял вести взаимодействие с ЭВМ при минимальной подготовке пользователя. Следовательно, под естественным языком взаимодействия «человек-ЭВМ» понимают такой язык, использование которого в рамках конкретных приложений не заставляет пользователя предварительно обращаться к инструкциям и запоминать различные правила построения своих высказываний.
Особо нужно отметить возможности среды ЖЕВ как платформы, используемой в целях предоставления пользователям интерфейса для работы с одной или несколькими базами данных [18-19]. При этом можно видеть, что известная трехуровневая архитектура клиент-серверных СУБД естественно отображается на среду ШеЪ, где ШеЪ-броузер выполняет роль «тонкого» клиента, а ЖеЬ-сервер - сервера приложений. Трехуровневая архитектура может быть расширена до М-уровневой архитектуры, позволяющей повысить гибкость и масштабируемость создаваемых систем. Например, промежуточный уровень в трехуровневой архитектуре может быть расщеплен на два уровня, один из которых может выполнять роль обычного ЖеЬ-сервера, а другой -сервера приложений.
Среда ЖеЬ, используемая в качестве платформы для систем с базами данных, может стать основой для инновационных решений в области внутри- и межкорпоративных задач обработки данных.
Выбор СУБД. Исходя из опыта создания СУБД и информационных систем на их основе, а также учитывая высказанные в свое время предложения Е. Кодда [4], можно утверждать, что любая полномасштабная СУБД должна обеспечивать следующие возможности:
- предоставление пользователям средств сохранения, извлечения и обновления информации в базе данных, скрывая при этом от конечного пользователя внутренние детали физической реализации системы;
- обеспечение разработчика средствами проектирования и быстрой разработки приложений, с автоматизированным получением необходимой проектной и рабочей документации;
- СУБД должна иметь доступный как конечным пользователям, так и функциям системы каталог, в котором хранится описание элементов данных. Системный каталог, или словарь данных, является хранилищем информации, описывающей данные в базе данных, т.е. хранилищем метаданных, и является основным средством обеспечения независимости приложений от структур данных;
- обеспечение эффективной поддержки транзакций, наличие механизма, гарантирующего корректное обновление базы данных при параллельном выполнении операций обновления многими пользователями;
- СУБД должна иметь механизм, гарантирующий возможность доступа к базе данных только санкционированных пользователей, т.е. должна обеспечивать защиту базы данных от преднамеренного или случайного несанкционированного доступа;
- способность к интеграции с коммуникационным программным обеспечением с целью организации доступа удаленных пользователей к централизованной БД (в рамках системы распределенной обработки);
- обеспечение разработчика инструментами для создания эффективных и простых пользовательских интерфейсов, являющихся интеллектуальными посредниками между пользователем и системой баз данных;
- СУБД должна обладать инструментами контроля за тем, чтобы данные и их изменения соответствовали заданным правилам, т.е. должна обеспечивать поддержку целостности данных;
- СУБД должна предоставлять некоторый набор различных вспомогательных утилит, предназначенных в первую очередь для оказания помощи администраторам БД в их работе.
Цель выбора СУБД заключается в выборе системы, в максимальной степени удовлетворяющей перечисленным выше требованиям с учетом развития возможностей ИС, при оптимальном уровне затрат, включающих расходы на приобретение СУБД и дополнительного аппаратного и программного обеспечения, а также расходы, связанные с переходом к новой системе и необходимостью переобучения персонала.
Для оценки возможностей СУБД могут использоваться самые разнообразные парамет-
ры, а также весовые коэффициенты, определяющие относительную важность отдельных параметров или их групп. В результате суммирования всех полученных числовых значений можно будет получить количественную оценку, позволяющую сравнить разные системы.
Выводы. В середине 70-х гг. в НПО «Алтай» разработана универсальная объектная клиент-серверная СУБД, нашедшая широкое применение при решении задач проектирования и управления процессами изготовления изделий машиностроения, предвосхитившая многие более поздние разработки такого рода.
Опыт разработки систем БД и информационных систем позволяет утверждать, что наиболее важными и ответственными моментами при их создании являются этапы их проектирования и выбора СУБД.
При проектировании информационных систем особую важность представляют процессы проектирования пользовательского интерфейса, направленные на удовлетворение их информационных потребностей и удобство работы с данными.
Перспективным направлением работ в области систем баз данных является использование среды ЖеЬ как платформы приложений баз данных.
Создание информационных систем для целей управления процессами проектирования и изготовления изделий, а также для целей муниципального управления на основе рассмотренной методологии обеспечивает их надежность, эффективность, функциональную полноту, масштабируемость, возможность использования как в рамках информационно-вычислительных сетей, так и в локальном варианте.
Литература
1. Жарков А.С., Попов Ф.А и др. Проблемы информатизации предприятия: технический, информационный, организационный аспекты // Телемати-ка’98: Тез. докл. Всерос. науч.-метод. конф. СПб, 1998.
2. Попов Ф.А., Ануфриева Н.Ю., Мелехова О.Н. Состав информационно-образовательной среды системы дистанционного обучения вуза // Новые информационные технологии в университетском образовании: Мат. междунар. науч. метод. конф. Новосибирск, 1999.
3. Жарков А.С., Попов Ф.А., Звольский Л.С. и др. Информационно-справочная система масштаба предприятия // Информационные технологии в экономике, науке и образовании: Мат. 2-й Всерос. науч.-практ. конф. (19-20 апреля 2001 г.). Бийск, 2001.
4. Жарков А.С., Попов Ф.А. Концепция информатизации наукограда Бийска // Информационные технологии в экономике, науке и образовании: Мат. 3-й Всерос. науч.-практ. конф. 11-12 апреля 2002 г. Бийск, 2002.
5. Попов Ф.А., Мануйлов В.В. Место САПР в информационно-аналитической системе предприятия // Информационные технологии в экономике, науке и образовании: Мат. 3-й Всерос. науч.-практ. конф. 11-12 апреля 2002 г. Бийск, 2002.
6. Попов Ф.А., Максимов А.В. Цели, задачи и принципы создания комплексных городских информационных систем // Известия АГУ. 2002. №1.
7. Codd E. F. A relational model of data for large shared data banks // Comm. ACM. 1970. №13(6).
8. Kim W. and Lochovsky F. H., eds. object-oriented Concepts, Databases and Applications. Reading, MA: Addison-Wesley,1989.
9. Конноли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика. 2-е изд.: Пер с англ. М., 2000.
10. Дейт К. Введение в системы баз данных. 6-е изд.: Пер. с англ. Киев; M.; СПб., 2000.
11. Попов Ф.А, Груздев Г.П., Галигузов С.Н. Информационно-поисковая система в системе автоматизированного проектирования изделий машиностроения // Автоматизация проектирования. 1977. №1(3).
12. Попов Ф.А., Груздев Г.П., Галигузов С.Н. Информационно-поисковая система в автоматизированной системе проектирования // Эксплуатация вычислительной машины БЭСМ-6: Мат. VI междунар. конф. Тбилиси, 1976. Тбилиси, 1977.
13. Попов Ф.А, Бобрышев В.П., Карлов А.А. Математическое обеспечение терминальной станции на базе ЭВМ типа СМ-3, СМ-4 // Диалог-человек-ЭВМ: Мат. III Всес. конф. Серпухов, 1984.
14. Попов Ф.А. Интегрированная система СИГМА. Архитектура и основные возможности // Проблемы машинной графики: Тез. докл. IV Всес. конф. Протвино, 1987 г. Серпухов, 1987.
15. Попов Ф.А. От систем с интеллектуальными терминалами и сателлитами к клиент-серверным системам // Наука. Культура. Образование. №6. 2001.
16. Chen P. The Entity-Relationship Model - Toward a Unified View of Kata. ACM Transactions on Database Systems. V. 1. №1. 1976.
17. Попов Ф.А., Овечкин Б.П., Максимов А.В., Ануфриева Н.Ю. Проблемы и принципы построения пользовательских интерфейсов информационных систем // Известия АГУ. 2000. №1.
18. Berners-Lee Т., Cailliau R., Luotonen A., Nielsen H. F. and Secret A. The World Wide Web. Comm. ACM. 37(8). 1994.
19. Попов Ф.А., Максимов А.В., Ануфриева Н.Ю. Проблемы разработки Web-ресурсов и пути их разрешения // Известия АГУ. 2001. №1.