Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Функционирование БД
Крупные (корпоративные) ИС обязательно должны допускать возможность работы с нескольких рабочих мест. Причем, пользователи должны иметь возможность одновременно изменять содержимое БД (вводить, обновлять, удалять данные) и производить выборку из нее. Такая коллективная работа должна производиться согласованно, причем, согласованность действий должна обеспечиваться автоматически. Согласованность действий подразумевает, например, что оператор, формирующий отчеты, не сможет воспользоваться данными, которые начал, но еще не закончил формировать другой оператор. Точно также оператор, желающий обновить или удалить данные, не сможет выполнить операцию до тех пор, пока не закончится аналогичная операция над теми же данными, которую ранее начал, но еще не закончил другой оператор. При поддержке согласованности действий все результаты, получаемые от ИС, будут достоверны и непротиворечивы. Требование согласованности действий привело к введению понятия классической транзакции, под которой понимается последовательность операций изменения БД и/или выборки из БД, воспринимаемая СУБД как единое целостное действие. Это означает, что при успешном завершении транзакции СУБД гарантирует наличие в БД результатов всех операций изменения, произведенных при выполнении транзакции. Условием успешного завершения транзакции является то, что БД находится в целостном состоянии. Если это условие не выполняется, то СУБД производит полный откат транзакции, т.е. ликвидация в БД результатов всех операций изменения, произведенных при выполнении транзакции. Таким образом, БД будет находиться в целостном состоянии при начале любой транзакции и останется в целостном состоянии после успешного завершения любой транзакции. Понятие транзакции поддерживают все развитые СУБД. СУБД может очень просто обеспечить выполнение транзакции, выполняя их последовательно при " параллельно" работающих операторах, даже если они вовсе не конфликтуют по данным. Но развитые СУБД стремятся максимально перемешивать запросы и операторы изменения БД, поступающие от разных транзакций, с тем лишь условием, что конечный результат выполнения всего набора транзакций будет эквивалентен результату их некоторого последовательного выполнения. Такая политика СУБД называется политикой полной сериализации смеси транзакций. Понятие транзакции применимо и к персональным СУБД, с которыми в любой момент времени работает только один пользователь. Во-первых, нарушение целостности БД может произойти при окончании транзакции. Во-вторых, может произойти аварийное выключение питания, в результате чего теряется содержимое основной памяти, в буферах которой могли находиться измененные, но еще не записанные во внешнюю память блоки БД. И, в-третьих, возможна авария внешнего носителя БД. Традиционное решение - переписать на исправный внешний носитель архивную копию БД, после чего повторить операции всех транзакций, которые были выполнены после архивации, а затем выполнить откат всех транзакций, не закончившихся к моменту аварии. Во всех трех случаях необходим откат транзакции. В корпоративных ИС по естественным причинам часто возникает потребность в хранении данных в разных хранилищах. Например, иногда бывает удобно хранить некоторую часть информации как можно ближе к тем рабочим местам, в которых она чаще используется. Такие БД называются распределенными. В этом случае при построении ИС приходится решать задачу согласованного управления распределенными информационными ресурсами (иногда применяя методы репликации данных). При однородном построении распределенной БД (на основе однотипных серверов баз данных) эту задачу обычно удается решить на уровне СУБД (большинство производителей развитых СУБД поддерживает средства управления распределенными базами данных). Если же система разнородна (т.е. для управления отдельными частями распределенной БД используются разные серверы), то приходится прибегать к использованию вспомогательных инструментальных средств интеграции разнородных БД. Модели данных могут строиться по-разному. Если БД строится по принципу взаимосвязанных таблиц, она называется реляционной. Если один тип объекта является главным, все нижележащие – подчиненными, то иерархической. Если же любой тип данных одновременно может быть и главным, и подчиненным, то такая база называется сетевой. Наиболее часто используются реляционные базы. При разработке ИС важная роль отводится пользовательскому интерфейсу. Задача эргономичности интерфейса не формализуется. Построение интерфейса - это творческая задача, при решении которой нужно учитывать требования эстетичности и удобства, а также принимать во внимание особенности конкретной области применения ИС. Пользователи часто судят о качестве системы, исходя из качества ее интерфейса. От него же зависит и эффективность использования ИС в целом.
|