php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
138 Часть II. Наши первые серверные программы<br />
Настольная СУБД реализована в виде одной-единственной программы;<br />
и клиент, и процессор данных слиты воедино в одном исполняемом файле.<br />
(Конечно, бывает всякое... Например, в Microsoft Access процессор данных<br />
реализован в виде набора библиотек DLL, но все равно фактически составляет<br />
с клиентом неразрывное целое.) Это первое отличие. Второе отличие:<br />
настольная СУБД работает непосредственно с файлами баз данных, точно<br />
так же, как Microsoft Word работает с файлами документов.<br />
Когда пользователю нужно получить данные из базы, он с помощью СУБД<br />
открывает содержащий эту базу файл. СУБД считывает начало файла (так<br />
называемый заголовок файла), содержащее служебную информацию, загружает<br />
первый фрагмент данных и обрабатывает его, потом — второй, третий<br />
и т. д., пока все нужные пользователю данные не будут выведены на экран.<br />
Если пользователь изменяет какие-то данные, СУБД записывает их в нужное<br />
место файла, изменяет различные служебные структуры и, возможно,<br />
записывает что-либо в заголовок файла. Закончив работу, пользователь закрывает<br />
файл с базой данных.<br />
Обычный принцип, и, вроде бы, неплохой. К тому же настольные СУБД<br />
работают весьма быстро, но только в том случае, если файл базы данных<br />
находится на дисках того же компьютера, где установлена сама СУБД. Если<br />
же файл нужной пользователю базы находится на другом компьютере, скорость<br />
работы СУБД резко падает, ведь по сети данные пересылаются значительно<br />
медленнее, чем внутри компьютера. А если одну и ту же базу открыли<br />
сразу несколько пользователей, работать становится совершенно<br />
невозможно — большую часть времени пользователь ждет, пока СУБД получит<br />
очередной фрагмент данных из файла базы.<br />
Поэтому еще в 60-х годах прошлого века были созданы серверные СУБД<br />
(или серверы данных), принадлежащие ко второй группе. Серверная СУБД —<br />
это процессор данных, оформленный в виде отдельной программы и работающий<br />
на специально выделенном для этого серверном компьютере. Как<br />
и любой другой сервер, он принимает от клиентов запросы, считывает из<br />
файла базы данные, обрабатывает их и пересылает результаты обработки<br />
клиентам.<br />
Да, но какие программы можно использовать в качестве клиентов серверных<br />
СУБД? Ну, с этим проблем нет. Во-первых, это специально написанные<br />
программы, предназначенные для работы с какой-то определенной базой<br />
данных. Как правило, и клиенты, и сама база данных поставляются<br />
в виде единого пакета, предназначенного для хранения и обработки какогото<br />
рода данных: бухгалтерских, каталогов, продаж и пр. Во-вторых, очень и<br />
очень многие программы настольных СУБД поддерживают работу с их серверными<br />
"коллегами".<br />
Поскольку набор программ, работающих с серверной СУБД, весьма обширен,<br />
нужно как-то "научить" их всех взаимодействовать с ней по сети. Для этого