- достаточную оперативность обработки запросов (управление на основе устаревшей информации теряет смысл);
- простоту обращения;
- доступ к данным лишь тех пользователей, которые имеют необходимые полномочия - доступ по определенным каналам, его разграничение по полям таблиц и разрешенным процедурам (выборка, обновление, удаление, работа с индивидуальными записями или статистический анализ и т.п.);
- обработку информации с различной степенью обобщения для принятия решений на оперативном (нижнем), среднем и стратегическом уровнях. Последнее требует привлечения методов искусственного интеллекта.
В основе построения СУБД лежит концепция модели данных, т.е. некоторой абстракции их представления. В большинстве случаев предполагается, что данные хранятся в файлах, состоящих из записей (кортежей). Элементы разнородных данных, из которых состоит каждая запись, называются полями. Поля имеют уникальные имена. Тип СУБД определяется механизмом связей между файлами, входящими в базу. Если значениями некоторых полей являются ссылки на другие файлы, то мы имеем "дело с сетевыми СУБД; если для связи служит совпадение имен полей - с реляционными.
Все СУБД поддерживают в той или иной форме пять основных операций:
- добавить в базу данных одну или несколько записей;
- удалить одну или несколько записей;
- найти в базе данных одну или несколько записей, удовлетворяющих заданному условию,
- обработать эти записи, т.е. сформировать из них некоторый результат,
- обновить в базе данных значения некоторых полей в одной или нескольких записях.
Перечисленные выше функции БД реализуются по запросам. На основе запросов могут быть сформированы отчеты. Для удобства работы с типичными в данных условиях запросами могут быть созданы специализированные приложения - меню, экраны, формы и т.п. Создание приложений и отчасти оперативная работа с базой требуют программирования на языках описания и манипулирования данными (ЯОД и ЯМД соответственно). Естественно, необходимы и средства отладки создаваемых программ. В современных СУБД обычно предусматриваются встроенные средства работы с данными и автоматизации создания приложений.
Упомянутые операции и процедуры составляют основную часть языка запросов, представляющего собой подмножество ЯМД. В последний входят также арифметические операции, операции сравнения, присваивания и вывода на печать, а также ряд применяемых к столбцам агрегатных функций: сумма, среднее, максимальное и минимальное значения и т.п.
Важнейшим элементом любой СУБД являются средства ускоренного поиска данных - самой распространенной операции. Этот механизм обычно реализуется с помощью индексных файлов (индексов), которые содержат упорядоченные по содержимому некоторого поля ссылки на записи основного файла. Все команды просмотра, корректировки, удаления записей перемещают указатель в соответствии с индексом, а не с физическим порядком расположения записей.
Поскольку содержимое индексного файла упорядочено, поиск в нем можно организовать по методу двоичного дерева: нужная запись на каждом шаге локализуется в одной из половин просматриваемой части файла. При хранении п записей поиск в упорядоченном файле в среднем требует (lоg2 n)+1 шагов, а в неупорядоченном - п/2 (для п = 1000 потребуется в среднем 11 и 500 шагов соответственно).
Если прямой файл несет информацию о том, каковы свойства данных объектов, то инвертированный - о том, какие объекты обладают заданным свойством. В исходном файле назначается атрибут, по которому производится инверсия. Область значений атрибута разбивается на диапазоны. Инвертированные списки образуются записями исходного файла или их проекциями («вырезками»), соответствующими одному диапазону (в частном случае - значению) атрибута.
В современных СУБД (в частности, в FoxPro) имеется ряд дополнительных возможностей. Генераторы приложений помогают быстро создавать заготовки отчетов, экранов и меню, почти не прибегая к непосредственному программированию. Проектирование практически сводится к физическому размещению и масштабированию нужных элементов из предлагаемого перечня в специальном окне проектирования - планшете, облик которого формируется в соответствии с будущим видом экрана/отчета.
Менеджер проектов позволяет программисту легко следить за всеми файлами, необходимыми для работы создаваемой прикладной системы. Можно слить все модули системы в один, сформировать исполняемые программные файлы. В ходе работы с проектом производится сравнение дат создания исходных и объектных (транслированных) модулей, и при обнаружении обновленных исходных модулей автоматически обновляются объектные.
При отладке программных продуктов часто бывает необходимо детально проследить поведение программы и ее переменных в сомнительных местах, т.е. выполнить
трассировку. Соответственно в СУБД включается традиционный набор средств отладки.
Функционально банк данных включает в себя
- базу данных (БД), » СУБД,
- словарь данных,
- администрацию базы данных,
- вычислительную систему,
- обслуживающий персонал.
База данных представляет собой совокупность специальным образом организованных именованных наборов данных, хранимых в памяти вычислительной системы. Эти наборы должны быть
- интегрированными (с минимальным дублированием информации);
- взаимосвязанными (точнее, взаимно дополняющими - до требуемой полноты сведений),
- целенаправленными (содержащими только необходимые сведения),
- независимыми от процессов обработки.
Базы данных подразделяются на централизованные и распределенные. Централизованная БД хранится в памяти одной вычислительной системы. Если эта система является компонентой локальной сети ЭВМ, возможен распределенный доступ к такой базе. При структуре «файл-сервер» обработка запрашиваемых у сервера файлов производится на периферийных ЭВМ, где могут создаваться монопольно используемые локальные БД. Здесь существенно увеличивается загрузка линий связи и возрастает риск перехвата информации. При структуре «клиент-сервер» основная часть обработки данных выполняется сервером по запросам клиентов. Соответственно возрастают требования к программно-аппаратным средствам сервера и снижаются - к клиентским. Клиентам передаются результаты запроса.
Распределенная БД состоит из нескольких пересекающихся или даже дублирующих частей, хранимых в различных ЭВМ вычислительной сети. В этом случае основные массивы информации приближаются к заинтересованным в них пользователям, но возникает ряд дополнительных проблем:
-Оптимальное распределение информации по узлам БнД,
- дублирование (репликация) ее и поддержание идентичности копий,
- организация архивов,
- управление передачей информации по сетям связи,
- защита информации в процессе этой передачи.
Системы управления распределенными БД оснащены каталогами, в которых хранятся структура сети, информация о локальных БД и программах их взаимодействия. Они дают возможность безадресного обращения к данным. Заметим, что все эти проблемы и средства их решения весьма актуальны для Internet.
«Русский отель». Фирма «Сервис плюс» совместно с фирмой «Ист Консепт» разработала программно-аппаратный комплекс «Русский отель» для полной автоматизации деятельности гостиниц и ресторанов. Система охватывает все аспекты деятельности гостиницы и ресторана.
Полный учет выручки производится с использованием компьютерных контрольно-кассовых машин. В системе предусмотрено ведение полного бухгалтерского учета.
Система представляет собой единый комплекс взаимосвязанных бизнес-процессов, полностью охватывающих основную производственную деятельность, учет и контроль, построена по технологии автоматизированных рабочих мест, которая исключает возможность прохождения не учтенных в системе документов.
Информационная модель, заложенная в систему, соответствует типовой организационной структуре гостиницы, а прикладное программное обеспечение оформлено в виде программных модулей, реализующих определенные функции.
Набор модулей, покрывающих все функциональные потребности конкретного рабочего места, оформлен в виде автоматизированного рабочего места (АРМ).
Система имеет ряд преимуществ: мобильна в использовании аппаратных средств, проста в эксплуатации и легко наращивается за счет введения новых рабочих мест. В системе предусмотрена возможность защиты данных от несанкционированного внесистемного доступа. Внутри системы защита доступа к данным обеспечивается уникальной идентификацией пользователя кодом и паролем.
Система состоит из следующих функциональных компонентов.
Подсистема «Управление». Подсистема предназначена для автоматизации деятельности руководителя гостиницы и обеспечивает: обработку деловой документации; контроль исполнения; проверку состояния гостиничного хозяйства и состояния работ по подразделениям; сервис.
Подсистема «Коммерческий отдел». Подсистема предназначена для автоматизации деятельности подразделения гостиницы по обслуживанию гостей и обеспечивает: ведение договоров с корпоративными клиентами; планирование приема и обслуживания гостей; сбор отчетной информации по коммерческой деятельности; сбор справочной информации по состоянию безналичных расчетов с партнерами.
Подсистема «Портье». Подсистема предназначена для автоматизации основной производственной деятельности гостиницы и обеспечивает: резервирование и бронирование номеров; регистрацию, оформление и размещение гостей; прием и оформление платежей; учет и оперативный контроль загрузки гостиницы.