Глава 1. Введение в базы и банки данных

 

1.1. Понятие базы и банка данных

 

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

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

Это привело к появлению новой информационной технологии интегри­рованного хранения и обработки данных — концепции баз дан­ных, в основе которой лежит механизм прдоставления обрабатывающей программе из всех хранимых данных только тех, которые ей необходимы, и в форме, требуемой именно этой про­грамме. При этом сама форма (структура данных и фор­маты полей, входящих в эту структуру) опи­сывается на логическом, т.е. «видимом» из программы, уровне. Более того, поскольку различные программы могут по-разному «видеть» (а, следова­тельно, и использовать) одни и те же данные, то система должна сделать «проз­рачными» для программы все данные, кроме тех, которые для нее являются «своими».


 

Рис. 1.1. Схема автоматизированной информационной системы

Банк данных (БНд) - это система специально организованных данных, программных, язы­ковых, организационных и технических средств, предназначен­ных для централизованного накопления и коллективного многоцелевого ис­пользования данных[1].

Под базой данных (БД) обычнопонимается именованная совокуп­ность данных, отображающая состояние объектов и их отноше­ний в рассматриваемой предметной области. Характерной чертой баз данных является постоянство: данные постоянно накапливаются и используются; состав и структура данных, необходимых для решения тех или иных прикладных задач обычно постоянны и стабильны во времени; отдельные или даже все элементы данных могут меняться – но и это есть проявление постоянства – постоянная актуальность.

Система управления базами данных (СУБД) - это совокупность языковых и программных средств, предна­значенных для создания, ведения и совместного использования БД многими пользователями.

Иногда в составе банка данных выделяют архивы. Основа­нием для этого является особый режим использования данных — только часть данных находится под оператив­ным управлением СУБД. Все остальные данные (собственно архивы) обычно рас­полагаются на носителях, оперативно не управляемых СУБД. Одни и те же данные в раз­ные моменты времени могут входить как в базы данных, так и в архивы. Банки данных могут не иметь архивов, но если они есть, то в состав банка данных может входить и система управления архивами.

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

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

Эффективное управление внешней памятью является основной функцией СУБД. Эти, обычно специализированные, средства настолько важны с точки зрения эффективности, что при их отсутствии система просто не сможет выполнять некоторые задачи уже потому, что их выполнение будет занимать слишком много времени. При этом, ни одна из таких специализированных функций, как построение индексов, буферизация данных, организация доступа и оптимизация запросов, не являются видимыми для пользователя и обеспечивают независимость между логическим и физическим уровнями системы: прикладной программист не должен писать программы индексирования, распределять память на диске и т.д.

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

-               Многократное использование данных: пользователи должны иметь возможность использовать данные различным образом;

-                    Простота: пользователи должны иметь возможность легко узнать и понять, какие данные имеются в их распоряжении;

-                    Легкость использования: пользователи должны иметь возможность осуществлять (процедурно) простой доступ к данным, при этом все сложности доступа к данным должны быть скрыты в самой системе управления базами данных;

-                    Гибкость использования: обращение к данным или их поиск должен осуществляться с помощью различных методов доступа;

-                    Быстрая обработка запросов на данные: запросы на данные, в том числе незапланированные, должны обрабатываться с помощью высокоуровневого языка запросов, а не только прикладными программами, написанными с целью обработки конкретных запросов (разработка таких программ в каждом конкретном случае связана с большими затратами времени). Пользователь должен иметь возможность кратко выразить нетривиальные запросы (в нескольких словах или несколькими нажатиями клавиш мыши). Это означает, что  средство формулирования должно быть достаточно «декларативным», т. е., упор должен быть сделан на "что", а не на "как". Кроме того, средства обработки запросов не должно зависеть от приложения, т. е., оно должно работать с любой возможной базой данных;

-                    Язык взаимодействия конечных пользователей с системой должен обеспечивать конечным пользователям возможность получения данных без использования прикладных программ;

-                   База данных – это основа для будущего наращивания прикладных программ: базы данных должны обеспечивать возможность быстрой и дешевой разработки новых приложений;

-                    Сохранение затрат умственного труда: существующие программы и логические структуры данных (на создание которых обычно затрачивается много человеко-лет) не должны переделываться при внесении изменений в базу данных;

-                    Наличие интерфейса прикладного программирования: Прикладные программы должны иметь возможность просто и эффективно выполнять запросы на данные; программы должны быть изолированы от расположения файлов и способов адресации данных;

-                    Распределенная обработка данных: система должна функционировать в условиях вычислительных сетей и обеспечивать эффективный доступ пользователей к любым данным распределенной БД, размещенным в любой точке сети;

-                    Адаптивность и расширяемость: с целью увеличения производительности база данных должна быть настраиваемой, причем настройка не должна вызывать перезапись прикладных программ. Кроме того, поставляемый с СУБД набор предопределенных типов данных должен быть расширяемым – в системе должны быть средства для определения новых типов и не должно быть различий в использовании системных и определенных пользователем типов;

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

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

-                    Вспомогательные средства должны позволять разработчику или администратору базы данных предсказать и оптимизировать производительность системы;

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

 

 

К оглавлению

Назад к разделу "Предисловие"

Вперед к разделу "1.2. Компоненты банка данных"



[1] Следует отметить, что термин «банк данных» используется сравнительно редко, а некоторыми авторами признается даже архаичным. В современной, в основном переводной литературе – например [4], понятию банк данных соответствует понятие системы баз данных, хотя, по нашему мнению, «банк данных» вполне адекватное и более широкое понятие.