22.04.2014 Views

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

SHOW MORE
SHOW LESS

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 />

нужно как-то "научить" их всех взаимодействовать с ней по сети. Для этого

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!