Пояснительная записка (1210991), страница 3
Текст из файла (страница 3)
Но так как пользователь работает со своей локальной копией базы данных, при выполнении запроса с сервера отправляется копия всей таблицы, данные которой затребованы. Таким образом, если пользователю необходимы всего несколько записей таблицы, с сервера по сети пересылается вся таблица, в результате чего объем данных в сети увеличивается, быстродействие и производительность снижается.
Изменения, сделанные в ней одним пользователем, в течение некоторого времени являются неизвестными другим пользователям, что требует постоянного обновления данных в базе. Необходимо так же помнить о синхронные работы пользователей. Блокировать одному пользователю доступ к данным, изменяемым другим пользователем.
Управление БД осуществляется с разных компьютеров, поэтому в значительной степени затруднена организация контроля доступа, соблюдения конфиденциальности и поддержания целостности БД.
Рисунок 1.6 - Архитектур архитектура информационной системы «файл-сервер»
Информационные системы типа клиент-сервер отличаются от систем типа файл-сервер прежде всего тем, что программы СУБД функционально разделены на две части, называемые сервером и клиентом.
В настоящее время архитектура клиент-сервер является наиболее популярной для проведения операций с удаленными БД и представляет собой систему, когда множество машин-клиентов осуществляют доступ к одному серверу баз данных.
В связи с тем, что компьютер-сервер находится отдельно от клиента, его также называют удаленным сервером. Использование архитектуры клиент-сервер дает возможность постепенного наращивания информационной системы.
Клиент – это приложение, которое отвечает за взаимодействие с пользователем, для чего принимает и проверяет синтаксис вводимых пользователем запросов, преобразует их в команды запросов к серверной части, а при получении результатов выполняет обратное преобразование и отображение информации для пользователя. Запрос формируется на языке SQL, который является стандартным средством доступа к серверу при использовании реляционных моделей данных.
Сервер является основной программой, выполняющей функции управления и защиты данных в базе. На сервере принимаются запросы к базе со стороны клиентов с проверкой их полномочий, последующим выполнением и возвратом результатов, обеспечивается параллельный доступ к данным, контролируется соблюдение ограничений целостности, реализуются функции управления восстановлением.
Такая архитектура обладает такими преимуществами как:
-
снижение нагрузки на сеть, поскольку теперь в ней пересылается только необходимая информация;
-
повышение безопасности информации в связи с тем, что обработка запросов всех клиентов выполняется единой программой, расположенной на сервере;
-
уменьшение сложности клиентских приложений за счет отсутствия в них кода, связанного с контролем БД и разграничением доступа к ней.
Рисунок 1.7 - Двухуровневая архитектура информационной системы «клиент-сервер»
Для реализации архитектуры «клиент-сервер» чаще всего используются многопользовательские системы управления БД, например, Oracle, Microsoft SQL Server, Borland InterBase.
Трехуровневая архитектура является усовершенствованной системой, где «клиент-сервер» – приложение-клиент, сервер приложений и сервер БД.
Рисунок 1.8 - Трехуровневая архитектура информационной системы «клиент-сервер»
Основные преимущества трехуровневой архитектуры «клиент-сервер» состоят в следующем:
-
разгрузка сервера от выполнения части операций, перенесенных на сервер приложений;
-
уменьшение размера клиентских приложений за счет разгрузки их от лишнего кода;
-
единое поведение всех клиентов;
-
упрощение настройки клиентов – при изменении общего кода сервера приложений автоматически изменяется поведение приложений клиентов.
В сетевой архитектуре «клиент-сервер» БД размещается на компьютере сети (сервере или удаленном сервере) и называется также удаленной БД. Приложение, осуществляющее работу с этой БД, находится на компьютере пользователя. Приложение пользователя является клиентом, его также называют приложением-клиентом. Так как в основе организации обмена данными между клиентом и сервером лежит язык SQL, то такую программу также называют SQL-сервером, а БД — базой данных SQL.
SQL-серверами являются промышленные СУБД, такие как InterBase, Oracle, Informix, Sybase, DB2, Microsoft SQL Server и другие. При разработке то важно учитывать, что каждый из серверов имеет свои особенности, такие как структура БД и реализация языка SQL.
При работе в архитектуре «клиент-сервер» приложение должно:
-
выполнять соединение с сервером и отключение от него;
-
формировать и отсылать запрос серверу, получая от него результаты выполнения запроса;
-
выполнять обработку полученных данных.
Удаленная БД, как и локальная, представляет собой совокупность взаимосвязанных таблиц. Однако данные этих таблиц, как правило, содержатся в одном общем файле. Как и в случае с локальной БД, для таблиц удаленной БД могут устанавливаться связи (отношения), ограничения ссылочной целостности, ограничения на значения столбцов и так далее [3].
-
Информационные системы
Информационная система (ИС) — это взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации в интересах достижения поставленной цели. Создание и применение ИС в сетях компьютеров, с одной стороны, дает заметные преимущества, с другой стороны, вызывает ряд проблем. В частности, возникают проблемы администрирования и защиты информации.
Информационные системы обеспечивают сбор, хранение, обработку, поиск, выдачу информации, необходимой в процессе принятия решений задач из любой области.
Сферы применения различают информационные системы на два класса: информационно-поисковые системы (ИПС) и системы обработки данных (СОД).
ИПС направлены на извлечение пользователю хранимых данных, соответствующих определенному критерию. СОД чаще ориентированы на обработку, обновление и архивирование данных, при этом вывод информации может отсутствовать или представлять собой результат программной обработки хранимых сведений, а не сами сведения.
-
Взаимодействие БД с приложениями
Data Module - это не визуальный компонент контейнер, предназначенный для централизованного хранения наборов данных в приложении, работающем с БД.
Не визуальные компоненты для работы с БД служат для соединения приложения с таблицами БД в локальных и распределенных системах. С помощью не визуальных компонентов осуществляется подключение к БД, формирование запросов к ним, манипулирование таблицами, создание клиентов и серверов в трехзвенной архитектуре.
К не визуальным компонентам, предназначенным для работы с БД, относятся следующие компоненты:
TDataSource – компонент, который представляет собой источник данных, обеспечивающий взаимодействие набора данных и компонентов редактирования и отображения данных. Все наборы данных должны быть связаны с компонентом источника данных, если требуется редактирование данных.
ТpFIBDataBase – компонент, который обеспечивает соединение с базой данных, решает такие задачи как создание соединения с удаленным сервером, регистрация пользователя при первом обращении к серверу, создание локальных псевдонимов приложений, управление транзакциями, определение уровня изоляции транзакции (регулирование одновременных транзакций к одним и тем же таблицам).
TDatabase связывается с компонентами наборов данных TTable, TpFIBQuery и другими через имя базы данных, к которой он подключается.
Компонент типа TIBEventAlerter служит для обработки событий сервера баз данных. В его свойствах указываются те события, которые он должен обрабатывать.
Компонент TQuery может во многих случаях включаться в приложения вместо TTable.
Преимущества TQuery по сравнению с TTable:
-
возможность формирования набора данных из полей нескольких таблиц базы данных;
-
формирование запросов на языке SQL, что обеспечивает большую гибкость, чем в TTable;
-
при работе в сети с удаленным сервером (Sybase, SQL Server, Oracle, Informix, DB2, InterBase) TQuery более эффективен, поскольку TTable создает на компьютере пользователя временную копию серверной базы данных, что требует больших ресурсов и существенно загружает сеть, TQuery размещает на компьютере пользователя только результат запроса.
Основное свойство компонента TQuery — SQL, имеющее тип TStrings. Это список строк, содержащих запросы SQL. В процессе проектирования приложения обычно необходимо сформировать в этом свойстве некоторый предварительный запрос SQL, который показал бы, с какой таблицей или таблицами будет проводиться работа. Но далее во время выполнения приложения свойство SQL может формироваться программно методами, обычными для класса TStrings: Clear — очистка, Add — добавление строки и т.д. В данной программе компонент типа TQuery используется для обновления состояния пульт-табло по событию таймера.
TpFIBDataSet – компонент, который позволяет открыть таблицу с данными из базы, а также перемещаться по ней.
TpFIBTransaction – компонент, который обеспечивает доступ ко всем возможностям транзакций. Благодаря использованию транзакций с опциями, наиболее подходящими к той или иной ситуации, повышается эффективность работы.
Визуальные компоненты предназначены для визуализации записей наборов данных или их отдельных полей. Они служат основным инструментом разработки пользовательского интерфейса доступа к данным.
К визуальным компонентам, предназначенным для работы с БД, относятся компоненты, расположенные на странице DataControls.
TDBGrid – компонент для отображения в табличной форме записи набора данных и управления ими. Он позволяет выполнять перемещение по записям, их редактирование, удаление, вставку новых записей. Занесение в набор сделанных исправлений текущей записи происходит при перемещении пользователя на следующую запись.
В таблице отображаются значения полей, объекты которых содержатся в свойстве Fields. По умолчанию эти объекты соответствуют тем объектам свойства Fields набора данных, связанного с TDBGrid, в которых свойство Visible (видимый) установлено в true. Объекты вычисляемых полей в массив Fields не входят (но в таблице отображаются).
Если установить в таблице свойство Columns (во время проектирования заполняется с помощью специального Редактора Столбцов), то принятое по умолчанию отображение всех видимых полей набора данных отменяется и отображаются только те поля, которые явным образом включены в собрание Columns. Пользуясь свойствами столбцов в Columns можно, в частности, задавать свойством ButtonStyle в сочетании со свойством PickList способ редактирования значений в ячейках, включая создание в них выпадающих списков возможных значений и вызов специализированных процедур ввода в обработчике события OnEditButtonClick.
Заголовки столбцов таблицы, ширина столбцов, формат отображения определяются соответствующими свойствами объектов полей. Отображение и реакция таблицы на действия пользователя определяются также множеством опций, содержащихся в свойстве Options.
При выделении пользователем ячейки таблицы свойство SelectedField указывает объект поля, соответствующий выделенной ячейке, а свойство SelectedIndex указывает индекс столбца (отсчет от 0), в котором выделена ячейка. Реакцию приложения на выделение пользователем ячейки можно записать в обработчике события OnCellClick.
TDBEdit – компонент для отображения отдельных полей данных, также является аналогом однострочного редактора Edit.
DBNavigator – компонент для навигации по таблице данных, с помощью него есть возможность создавать новые записи или подтверждать изменения.
Memo - многострочный текстовый редактор, который позволяет выводить текст с клавиатуры, загружать его из файла, редактировать и сохранять в файл.
TImage – компонент, который представляет собой поверхность с канвой, на которую можно наносить изображения. Свойство Picture типа TPicture содержит отображаемый графический объект типа битовой матрицы, пиктограммы, метафайла или определенного пользователем типа.
TButton – компонент, который представляет собой командную кнопку и используется для реализации в программе команд с помощью обработчика события.
Компонент TPageControl относится к группе многостраничных панелей, которые позволяют экономить пространство окна приложения, размещая на одном и том же месте страницы разного содержания. Выбор пользователем страницы производится щелчком на соответствующей закладке. Каждая создаваемая страница является объектом типа TTabSheet.
















