Н. 3. Елманова. C++ Builder 3.0: архитектура "клиент/сервер"
путем просмотра индекса и выбора записей на основании результатов этого поиска, в худшем случае (при отсутствии такого индекса) - путем перебора записей и поиска нужных из них согласно какому-либо алгоритму. В любом случае этим занимается приложение, функционирующее на компьютере пользователя, и, следовательно, файлы или их.части, нужные для поиска данных (индексы, таблица или ее часть), фактически передаются по сети от файлового сервера к компьютеру пользователя. Поэтому при большом количестве данных и пользователей, а также при наличии многотабличных запросов пропускная способность сети может перестать удовлетворять предъявляемым к ней требованиям, связанным с эксплуатацией такой информационной системы.
Возросший сетевой трафик - не единственная неприятность, подстерегающая администратора и разработчика подобной информационной системы. Весьма частым явлением в этом случае является нарушение ссылочной целостности данных. Возьмем уже ставший хрестоматийным пример. Имеются две таблицы формата dBase: список заказчиков какой-либо компании и список их заказов, связанные по какому-либо полю, например CUST_ID (рис. 1.4). Вполне разумными требованиями, предъявляемыми к такой БД (иногда называемыми бизнес-правилами), являются уникальность значений этого поля в списке заказчиков (иначе как узнать,  чьи заказы с этим CUST_ID находятся в таблице заказов) и отсутствие в списке заказов записей со значениями CUST_ID, отсутствующими в таблице заказчиков (т. е. "ничьих" заказов). В случае dBase выполнение таких требований реализуется на уровне логики приложения. При этом практически всегда имеется возможность    произвольного    редактирования    таблиц    иными    средствами (от dBase III до обычных текстовых редакторов), что может привести к нарушению этих требований. Обычно для предотвращения подобных прецедентов  используются  различные  организационно-технические  меры,   например запрещение средствами сетевой ОС (операционной системы) доступа к файлам с таблицами иначе как из конкретного приложения. При этом полной гарантии сохранения ссылочной целостности все равно нет, так как остается вероятность так называемых незавершенных транзакций (т. е. попытки согласованного изменения данных в нескольких таблицах - например, удаления заказчика вместе со всеми его заказами, во время которого произошел сбой питания, в результате чего удалилась только часть данных). Отметим также, что, если информационная система содержит несколько приложений, использующих общие данные, jca*aoe из них должно содержать код, предотвращающий некорректное с точки зрения ссылочной целостности изменение данных.
Понятие об архитектуре "клиеЧт/сервер"
/								
				GUST ID		NAME	PHUNE	
		\						
				1001		Иванов	1П-11-11	
				1002		Петров	222-22-22	
				1003		Сидор ов	333-33-33	
								
ORDJD	CUSTJD		DATE		NOTE		а им	
5001	1001		01.09.97		Коврик для мыши		20000	
5002	1001		03.09.97		Мътптъ		80000	
5003	1002		08.09.97		Елок питания		[    15QOQO	
5004	1003		OS .09.97		Мышь		90000	
5005	1002		09.09.97		Клавиатура		100000	
5006	1001		10.09.97		Клавиатура		UOOOQ	
5007	1003		10.09.97		Коврик для мыши		20000	
Рис. 1.4. Пример связи "один ко многим"
Каким образом можно избежать подобных неприятностей? Ответ напрашивается сам собой: еще раз подумать об архитектуре инФ°РмаЦионной системы и сменить ее, если в обозримом будущем ожидается Подобные прецеденты. Использование серверных СУБД является в этом слУчае наиболее подходящим решением.
1.2     Особенности и преимущества архитектуры "клиент/сервер"
Что же представляет собой архитектура клиент/сервер?, В^9пР?^еленной степени ее можно назвать возвратом к модели "хост-компьюТеР Терминалы , так как ядром такой системы является сервер баз данИь1Х^> Представляющий собой приложение, осуществляющее комплекс дейст~вии по управлению данными - выполнение запросов, хранение и резервно^ копИрование данных, отслеживание ссылочной целостности, проверка прав и привилегий пользователей, ведение журнала транзакций. При этом в кач^стве рабочего места может быть использован обычный персональный компьютер, HTOJTO-зволяет не отказываться от привычной рабочей среды (рис. 1.5)-