Взаимодействие с базами данных
Преимущества работы с Базами данных для пользователей окупают затраты и издержки на его создание. Они заключаются в следующем: повышается производительность работы пользователей, достигается эффективное удовлетворение информационных потребностей; централизованное управление данными освобождает прикладных программистов от организации данных, обеспечивает независимость прикладных программ от данных; организация банка (базы) данных позволяет реализовать другие нерегламентированные запросы, приложения; снижаются затраты не только на создание и хранение данных, но и на поддержание их в актуальном динамичном состоянии; уменьшаются потоки данных, циркулирующих в системе, сокращается избыточность и дублирование. Концепция баз данных — это не только идея интегрированного хранения данных, но и идея отделения описания данных от программ их обработки, интерфейс между которыми обеспечивается системой управления базами данных (СУБД). В основу ее разработки закладывают следующие принципы: единство структурно-информационной организации массивов; централизацию процессов накопления, хранения и обработки различных видов информации; однократный ввод первичных массивов информации с последующим многоразовым и многоцелевым их использованием; интегрированное использование массивов в различных режимах обработки; оперативность доступа к различным элементам информационных массивов; минимизацию стоимости создания и функционирования. По организации и технологии обработки данных базы данных подразделяются на централизованные и распределенные. Централизованную базу данных отличает единый массив данных, управляемый СУБД, которые размещены на центральном компьютере вместе с приложением, принимающим входную информацию с пользовательского терминала и отображающим данные на экране пользователя. Предположим, что пользователь вводит запрос, требующий последовательного просмотра базы данных (например, запрос на расчет потребности материалов на деталь в натуральном и стоимостном выражении). СУБД получает этот запрос, просматривает БД, выбирая с диска нужную запись, вычисляет значение и отображает результат на экране. Приложение и СУБД работают на одном компьютере, и, поскольку система обслуживает много различных пользователей, каждый из них ощущает снижение быстродействия по мере увеличения нагрузки на систему.
Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных компьютерах вычислительной сети. Работа с такой БД осуществляется с помощью системы управления распределенной базой данных (СУРБД). По способу доступа к данным БД разделяются на БД с локальным доступом и БД с удаленным (сетевым) доступом.
Системы централизованных БД с сетевым доступом предполагают различные архитектуры подобных систем: файл-сервер и клиент-сервер. Появление персональных компьютеров и локальных вычислительных сетей привело к разработке архитектуры «файл-сервер». При такой архитектуре приложение, выполняемое на ПК, может получить прозрачный доступ к файл-серверу, на котором хранятся совместно используемые файлы. Когда приложению, работающему на ПК, требуется получить данные из совместно используемого файла, сетевое программное обеспечение автоматически считывает требуемый блок данных с сервера. Наиболее популярные БД для ПК, включая Microsoft Access, Paradox и dBase, поддерживают архитектуру «файл-сервер», при которой на каждом ПК работает своя копия СУБД. При выполнении обычных запросов эта архитектура обеспечивает великолепную производительность, поскольку в распоряжении каждой копии СУБД находятся все ресурсы ПК. Однако рассмотрим приведенный выше пример. Поскольку запрос требует последовательного просмотра БД, СУБД постоянно запрашивает все новые блоки данных из БД, которая физически расположена на сервере сети. Очевидно, что в результате СУБД запросит и получит по сети все блоки файла. При выполнении запросов такого типа эта архитектура создает слишком большую нагрузку на сеть и уменьшает производительность работы. Архитектура «клиент-сервер» предполагает объединение ПК в локальную сеть, в которой имеется выделенный сервер баз данных, содержащий общие БД. Функции СУБД разделены |на две части. Пользовательские программы, такие, как приложения, для формирования интерактивных запросов и генераторы отчетов, работают на клиентском компьютере. Хранение данных и управление ими обеспечиваются сервером. В этой архитектуре SQL стал стандартным языком, предназначенным для обработки и чтения данных, содержащихся в БД. SQL обеспечивает взаимодействие между пользовательскими программами и ядром БД. Вернемся к примеру определения потребности материалов на деталь. При архитектуре «клиент-сервер» запрос передается по сети на сервер БД в виде SQL-запроса. Ядро БД на сервере обрабатывает запрос и просматривает БД, которая также расположена на сервере. После вычисления результата ядро БД посылает его обратно по клиентскому приложению, которое отображает его на экране ПК. Архитектура «клиент-сервер» позволяет сократить трафик и распределить процесс загрузки базы данных. Функции работы с пользователем, такие, как обработка ввода и отображение данных, выполняются на ПК пользователя. Функции работы с данными, такие, как дисковый ввод-вывод и выполнение запросов, выполняются сервером БД. Наиболее важно здесь то, что SQL обеспечивает четко определенный интерфейс между клиентской и серверной системами, эффективно передавая запросы на доступ к БД. Эта архитектура используется в современных СУБД Oracle, Informix, Sybase и др. Математические теории «алгебра отношений» (relation - отношение) и «реляционное исчисление» легли в основу разработки языка запросов к базе данных (SQL). Наиболее часто используемым пользователями информационной системы элементом языка является «запрос» - описание состава требуемых данных и условий выборки их из базы данных на языке близком к естественному. Информационные системы кроме стандартных функций подготовки информации часто предоставляют для подготовленного пользователя (не программиста) возможность формировать запросы для получения специальной информации. Для выборки данных используется команда SELECT, включающая в себя описание требуемого результата выборки, описание источников информации, начинающееся с ключевого слова «FROM» и условия выборки данных после ключевого слова «WHERE». Например: SELECT поле1, поле2, поле3 FROM таблица1 WHERE поле1= «ЗначениеПоля».
|