СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ
Для работы с файлами баз данных созданы специальные пакеты прикладных программ, называемые системой управления базами данных (СУБД). Средствами СУБД любой пользователь может создать файлы БД, просматривать их, изменять, выполнять поиск, формировать отчеты произвольной формы. Кроме того, поскольку структура файлов БД записана на диске в его начале, можно открыть, просмотреть, выбрать данные и из чужого файла, созданного кем-то программно или средствами СУБД.
В настоящее время создано большое количество СУБД, имеющих приблизительно одинаковые возможности. Все они позволяют создавать файлы БД на диске (то есть записать их структуру), вводить данные, просматривать созданные файлы, редактировать их, обновляя записи, удаляя ненужные, добавляя новые. Созданные файлы БД можно упорядочивать по значению определенного ключевого реквизита или нескольких реквизитов, выполнять поиск информации в базе, формировать отчеты заданной формы по ее данным. Кроме того, очень важной является функция изменения структуры уже созданного файла базы данных. Часто в связи с изменяющимися внешними условиями требуется увеличить разрядность какой-либо графы (например, «цена» или «сумма» в связи с инфляцией) или добавить новый реквизит. Функция изменения структуры базы данных разрешает эту проблему автоматически, перезаписывая файл на новое место на диске с измененной структурой. При этом файлу с измененной структурой присваивается тоже имя, а старая копия файла сохраняется на диске с тем же именем, но с расширением. Расширение это дополнительная страховка, выполняемая СУБД, которая предохраняет пользователя от потери данных при выполнении операции перезаписи и служит одной из мер защиты данных в БД. Кроме этой меры предусмотрен еще ряд возможностей, предохраняющих пользователя от случайной потери данных: предупреждения перед необратимыми операциями типа очистки файла от данных, перезаписи файлов и так далее. Средства СУБД также позволяют организовать систему паролей для защиты от несанкционированного доступа к данным базы.
Наиболее известной среди СУБД является система dBASE, кроме нее существуют FoxBase, FoxPro, Paradox, SQL, R:base, Clipper, Oracle и др.
СУБД предполагает работу пользователя с базой данных в разных режимах:
• режим «ассистента» с использованием разветвленного меню; наиболее простой способ работы, не требующий специальной подготовки пользователя, кроме общих представлений о работе с базами данных;
• командный режим, предполагающий диалог пользователя и системы на языке команд СУБД, требует от пользователя знания этого языка;
• программный режим, использующий язык СУБД и позволяющий создать пользовательские программы различной степени сложности, удобно оформленные, выполняющие все функции, необходимые для решения задачи. Большинство современных комплексов программ, решающих экономические задачи, написаны на языках СУБД. Эти языки позволяют создать программы, имеющие удобный «дружественный» пользовательский интерфейс (взаимодействие пользователя с компьютерной системой).
Выбор СУБД определяется многими факторами, но главный из них — возможность работы с построенной моделью, данных. Поэтому одной из важнейших характеристик является тип модели (иерархический, сетевой, реляционный), который поддерживается СУБД. Имеются системы для работы с иерархическими и сетевыми моделями, однако большинство СУБД для персональных ЭВМ работают с реляционной моделью. Таковы системы dВase, FoxBase, FoxPro, Clipper, Paradox, R:base. Реляционные СУБД для персональных ЭВМ различаются набором реляционных операций, которые СУБД может выполнять. Перечисленные СУБД эффективны для создания небольших изолированных систем с несложной структурой данных, с- относительно небольшими объемами данных (10—40 Мбайт) и несложными запросами. За пределами такого рода ограничений эффективность использования указанных СУБД существенно снижается.
В частности, далеко не все СУБД обеспечивают представление доступа нескольким пользователям, режим секретности и надежности, целостность и согласованность данных при многопользовательской работе. Нередко все эти функции развитых сложных СУБД переносятся на программистов. На практике это означает, что указанные важнейшие требования не будут реализованы в полной мере. Практика показывает, что необходимо переходить на новую аппаратную, а следовательно, и программную основу, если объем данных и сложность решаемых задач достигнут предела возможностей ПЭВМ и СУБД.
Как программный продукт СУБД характеризуют цена, набор реализуемых функций, объем памяти. Для каждой СУБД в технической документации указываются требуемая операционная среда, а также минимальная и рекомендуемая конфигурация технических средств.
При выборе СУБД пользователя-экономиста в первую очередь должны интересовать трудности освоения системы, легкость ее внедрения и использования, сложности работы в среде данной СУБД, качество технической документации и уровень сопровождения.
Удобство и комфортность работы пользователя с СУБД во многом определяются пользовательским интерфейсом. Пользовательский интерфейс — это средство и часть СУБД, ориентированные на взаимодействие пользователя с компьютерной системой. Благодаря разветвленным иерархическим меню, всевозможным подсказкам и разнообразной помощи, пользователю легко ориентироваться в выборе действий адекватных возникающей в процессе работы ситуации. Очень важна в интерфейсе минимизация действий пользователя, необходимых для подключения часто требуемых функций. Для этой цели применяются функциональные клавиши. Их нажатие вызывает исполнение программных модулей, которые реализуют требуемую функцию.
Пользовательский интерфейс может быть многоуровневым, рассчитанным на более широкий круг разнообразных пользователей. Благодаря дружественному характеру интерфейса пользователь избавляется от необходимости знать язык программирования системы, чем достигается более высокая его производительность. Сочетанием простоты освоения и использования функциональных возможностей с помощью простого интерфейса обеспечивается широкая сфера применения таким массовым СУБД. При усложнении информационных потребностей пользователя возникает необходимость в более развитых СУБД и в знании языка программирования используемой СУБД.
Для функционирования баз данных приобретаются не только СУБД, но и дополнительные разнообразные программные средства их окружения — программы обучения пользователя, справочные системы, программы восстановления базы данных при ее разрушении и др. Многообразие таких инструментальных программных средств повышает производительность пользователя, экономит его время, сокращает сроки разработки и решения прикладных задач. Появляется возможность выбора программы в соответствии с потребностями данной работы, обеспечивается более рациональное использование вычислительных ресурсов. Для подбора наиболее эффективных инструментальных программных средств от пользователя требуется соответствующий уровень подготовки.
Развитие СУБД осуществляется в направлениях создания систем с более высокой производительностью при сложных обработках, совместимости различных СУБД и использования их в распределенных системах, состоящих из нескольких баз данных. СУБД, способные работать в вычислительных сетях, позволяют обращаться многим пользователям к общим информационным ресурсам. Наличие графических программных средств обеспечивает работу с графическими данными. Более развитые возможности СУБД в отношении обмена данными с другими пакетами, а также в области создания прикладных программ существенны для пользователя и экономят стоимостные и трудовые затраты.
Исследовательские задачи в области технологий баз данных определяются рядом факторов, которые формируют потребности в новых средствах и возможностях, определяют направления их развития.
В связи с техническими и программными достижениями последних лет, такими как быстрый рост емкости и мощности аппаратных средств, развитие коммуникаций, появление новых видов массовой памяти, рост информационных потребностей пользователей, спектр возможностей баз данных постоянно совершенствуется.
Простые виды информации, представляемые в виде чисел и текста, не утратив своей значимости, дополняются мультимедийными данными, графическими образами, хронологическими рядами и прочими сложными информационными формами.
Базы данных и связанные с ними технологии играют ключевую роль в создании современных информационных систем. Рост информационно емких отраслей индустрии и повышение эффективности всех видов бизнеса — факторы, которые ставят развитие технологий на основе баз данных на первое место. В связи с этим требуются новые подходы к организации баз данных и созданию СУБД.
Современные крупные информационные системы базируются на взаимодействии информационных ресурсов, в основе которых лежат самые разные форматы и модели представления данных. Например, каналы системы WWW (World Wide Web) представляют собой множество неформально связанных информационных ресурсов сети Internet. Неформальность и распределенный характер информации в среде Internet представляет разительный контраст в сравнении со структурированностью и управляемостью современных БнД, WWW — это распределенная среда (всемирная паутина), состоящая из автономных систем, узлы которой все чаще формируются как реляционные базы данных. Новые информационные среды заставляют переосмыслить многие концепции и являются предпосылками в области развития БнД.
Благодаря постоянному улучшению соотношения «цена — производительность» для технологий БнД в целом и их отдельных наиболее критичных компонентов, каждые несколько лет появляются возможности для решения новых классов задач, создания принципиально новых приложений и услуг, которые прежде находились за пределами реального. Эти тенденции не ослабевают еще и потому, что постоянно совершенствуются два важнейших показателя: стоимость пересылки одного бита информации и число бит, пересылаемых в секунду.
Изменение различных системных параметров в прикладном программном обеспечении влияет на производительность БнД. Добавление новых транзакций, новых объектов (данных), пользователей проявляется количественно изменением времени доступа (отклика) к данным. Радикально меняются требования, предъявляемые к системам баз данных, и для того, чтобы вписаться в новые стратегии прикладного программного обеспечения, необходимы новые подходы к их разработке. Наблюдается тенденция к усложнению структур данных. Появляются новые виды и источники данных.
Главная функция любой СУБД — координация совместной работы множества пользователей с разделяемый информацией.
При переходе от персональных к многопользовательским СУБД пользователи сталкиваются с необходимостью четкого понимания механизма транзакций. Под транзакцией понимается неделимая в отношении воздействия на базу данных последовательность операций манипулирования данными (чтения, удаления, вставки, модифицирования).
Корректное поддержание механизма транзакций одновременно является основой обеспечения целостности баз данных, а также составляет базис изолированности пользователей в многопользовательских системах, эти два аспекта взаимосвязаны.
Поддержание механизма транзакций — показатель уровня развития СУБД. Результаты всех операций, входящих в транзакцию, либо отображаются в базе полностью, либо результат воздействия отсутствует совсем.
Растущие информационные потребности отчетливо выявляют ограничения существующих технологий СУБД. Это также определяет направление их совершенствования.
Стремительное развитие средств разработки приложений, связанных с базами данных, а также средств доступа к базам данных и, соответственно, интерфейсов порождает проблему модернизации ранее спроектированных систем либо перевода действующих систем на новые платформы, инструменты и даже методологии.
Большинство информационных систем в нашей стране используют простейшие СУБД, которые функционируют на персональных компьютерах. Такие системы покрывают первоначальные потребности организаций, но они не перспективны.
Базой систем нового поколения являются профессиональные (многопользовательские, многоплатформенные) СУБД и архитектура «клиент — сервер», реализуемая на их основе.
Профессиональные СУБД обеспечивают выполнение более сложных операций. Они позволяют разработчику расширять сервисные возможности — процедуры базы данных, которые вызываются клиентом и выполняются сервером более производительно, чем компьютеры на рабочих местах пользователей. К профессиональным СУБД относятся Oracle, SyBase, Informix, Ingres, Progress. Перечисленные системы имеют средства обработки информации, распределенной по нескольким узлам сети. Распределенная обработка данных позволяет разместить базу в различных узлах таким образом, чтобы отслеживать изменения на всех узлах и чтобы каждый компонент данных располагался на том узле, где он будет обрабатываться.
Новейшей технологией управления распределенными базами данных является тиражирование. Профессиональные СУБД поддерживают те или иные механизмы тиражирования.
Тиражирование представляет собой асинхронный перенос изменений объектов исходной базы данных в базы данных, принадлежащие различным узлам распределенной системы. При внесении изменений одновременный доступ ко всем узлам, затрагиваемым этими изменениями, не требуется. Данные изменяются на одном узле, а затем переносятся на остальные. Тиражирование может производиться после завершения определенного числа транзакций, в том числе и после каждой транзакции, через равные промежутки или к определенному моменту времени, контролироваться администратором системы или пользовательским приложением.
Распределенная обработка позволяет в широких пределах варьировать вычислительными ресурсами, избегая узких мест, сдерживающих производительность, и добиваясь максимальной эффективности информационных систем.
Особенностью современных информационных систем, например, биржевых или банковских, является требование оперативного оповещения пользователей о происходящих событиях. Например, все участники фондовой биржи должны немедленно получать информацию о совершенных сделках, изменениях котировок и т.д. Другими словами, предполагается наличие некоторого количества процессов, которые должны исполняться параллельно и синхронизироваться во время исполнения. Это приводит к необходимости обмена информации между ними. Профессиональные СУБД типа Oracle позволяют организовать эти процессы в виде отдельных приложений на одной базе данных. Например, при совершении сделки процесс, занимающийся их регистрацией, возбуждает событие «совершена сделка». Результаты ее включаются в общий поток информации о сделках. Если же этот процесс не исполняется, то событие «совершена сделка» не приводит ни к каким дополнительным действиям. Механизмы событий, реализованные в современных профессиональных СУБД, являются готовым технологическим средством, которое позволяет разработчикам информационных систем экономить значительное количество времени и усилий.
По мере развития любой хозяйственной деятельности появляется потребность в наращивании информационной системы. Возникает вопрос, как встроить имеющееся локальное приложение в новую систему. Профессиональные СУБД предоставляют достаточно широкие возможности. Развитые системы шлюзов позволяют строить информационные системы, распределенные по узлам с различными аппаратными и программными платформами. Большой интерес представляет также использование локальными приложениями так называемого ODBC — стандарта (Open DataBase Connectivity, стандарт, предложенный фирмой Microsoft), который дает возможность прозрачного доступа к данным СУБД различных типов. Таким образом, приложение, разработанное с учетом стандарта ODBC, имеет большую гибкость при интеграции в существующую информационную систему.
Потребность в гибких решениях для современных информационных систем диктуется жизнью. На практике чаще всего встречается потребность в объединении возможностей отдельных подсистем или программных модулей. Причем все это нужно иметь на одной базе данных. Через некоторое время соотношение потребностей может измениться. Поэтому для построения информационной системы важно иметь инструмент, который наиболее приспособлен для построения открытых и гибких систем. Таким инструментом в настоящий момент являются профессиональные СУБД SQL, обеспечивающие работу в модели «клиент — сервер» и обладающие развитыми средствами разработки и сопровождения баз данных. Использование профессиональной СУБД позволяет иметь программное обеспечение, в большей степени отвечающее конкретным потребностям организации.
Защита данных от несанкционированного доступа в профессиональных СУБД обеспечивается на разных уровнях:
• операционная система поддерживает разграничение прав доступа пользователей;
• СУБД представляет свое разграничение прав доступа;
• защита данных средствами приложения — еще один уровень, который может быть настолько развитым и многообразным, насколько хватит фантазии у программиста, разрабатывающего приложение.
СУБД поддерживают достаточно сложную структуру таблиц. Требования к непротиворечивости данных в этих таблицах довольно жестки. Рассмотрим типичный пример, включающий счета клиентов в журнал сделок. Информация о ценных бумагах, находящихся на счетах клиентов, должна соответствовать информации, содержащейся в журнале сделок, иными словами повторения всех сделок. Занесенные в журнал данные с начала функционирования системы до настоящего времени должны привести к текущему состоянию таблицы счетов. Проверка этого соответствия — операция длинная и трудоемкая. Кроме того, если проверка показала несоответствие, то возникает следующий вопрос: где произошло рассогласование? Какая информация правильна: о счетах или о сделках? Ответить на эти вопросы практически невозможно, если разработчики информационной системы не предприняли специальных усилий для поддержания ссылочной целостности базы данных.
Методы поддержания целостности данных известны. Это — ведение журналов изменения таблиц и обработка транзакций. Различие между персональными и профессиональными СУБД здесь в том, что в первом случае разработчик должен брать их реализацию на себя, а во втором — они уже реализованы внутри СУБД.
Заметим также, что профессиональные СУБД представляют средства восстановления базы данных, если нарушение целостности все-таки произошло, например при сбое питания.
Современные профессиональные СУБД поддерживают средства, значительно ускоряющие разработку программ. Это языки четвертого поколения, интегрирующие средства высокого уровня для создания интерфейса с элементами САSЕ-технологии, средства для организации сложных запросов к базе данных, возможности подключения фрагментов, написанных на языках низкого уровня, поддержка SQL-интерфейса. Все это ускоряет разработку приложений. Реализация интерфейса запросов к базе данных занимает минимум времени и усилий. Это позволяет разработчику сосредоточить усилия на предметной области.
Профессиональные СУБД, поддерживающие технологию «клиент — сервер», позволяют наиболее эффективно использовать имеющийся парк персональных компьютеров за счет превращения их в рабочие места пользователей системы. Таким образом, выигрыш получается по трем направлениям: во-первых, наиболее эффективно задействуется мощный процессор сервера; во-вторых, освобождается от ненужной загрузки сеть; в-третьих, отпадает необходимость в высокопроизводительных компьютерах на рабочих местах пользователей.
Немаловажным фактором является упрощение наращивания вычислительной мощности информационной системы путем замены компьютера более производительным при сохранении архитектуры самой системы. При этом все приложения могут оставаться теми же самыми. У пользователя появляется выбор — повышать производительность системы за счет модернизации оборудования и структурирования сети, либо за счет оптимизации хранения данных, либо за счет увеличения производительности компьютера, либо за счет сочетания перечисленных выше способов.
Среди недостатков современных профессиональных СУБД выделяют дублирование функций операционной системы и невозможность использования в полном объеме в конкретной разработке всех их многочисленных возможностей.
Дата добавления: 2020-12-11; просмотров: 377;