Эффективное управление автоперевозками - страница 9

Шрифт
Интервал


Действительно, те, кто уже давно работает с компьютером, знают, что, например, к файлу Excel можно обратиться по сети с другого компьютера, считать данные и использовать в своих расчетах. Еще более опытные пользователи припомнят, что во времена DOS, когда еще не было Windows, на предприятиях работали различные учетные системы, где также обходились без SQL-серверов. Да и сейчас распространенные бухгалтерские программы, например 1С, при сетевой конфигурации не требуют установки SQL-серверов.

Следует сказать, что система без SQL-сервера называется система файл-сервер, а система с SQL-сервером называется система клиент-сервер. Система клиент-сервер обладает рядом существенных преимуществ:

• все операции с базой данных (добавление, изменение, удаление данных, а также расчеты) происходят на компьютере, где хранится база данных (сервер). Соответственно этот компьютер можно сделать более мощным, а остальные – послабее. В системе файл-сервер для каких-либо расчетов, например подготовки итоговых отчетов, все данные перегоняются по сети сначала на компьютер пользователя, а затем уже на нем выполняются расчеты;

• повышенная защищенность информации. База данных SQL-сервера, как правило, представляет собой один файл, информацию в котором можно прочитать, только подключившись со специальным паролем на чтение. При необходимости SQLсервер позволяет шифровать данные, которые хранятся в базе;

• разграничение доступа. Каждому пользователю, который работает с базой данных, можно задать различные права – на просмотр информации, добавление, изменение, удаление. Права можно выборочно комбинировать, например только на просмотр информации или на просмотр и добавление;

• SQL-сервер ведет запись всех операций с базой данных в специальном лог-файле. При необходимости всегда можно узнать, какой пользователь и когда выполнил ту или иную операцию – ввел данные, изменил, удалил их;

• в SQL-серверах реализован мощный механизм управления транзакциями. Транзакция – это набор команд, которые выполняются как одна операция. То есть либо выполняются все команды, либо не выполняется ни одна. Например, когда в базе данных выполняется проводка накладной по списанию товаров со склада, то надо последовательно изменить остатки по всем позициям в накладной. При этом существует возможность, что другой пользователь в это же время также пытается списать со склада этот же товар. SQL-сервер в этом случае разграничивает транзакции. То есть сначала выполняются все операции накладной первого пользователя, а затем второго. В случае сбоя, например в результате отключения электричества, SQL-сервер производит откат транзакций до последней завершенной. В этом случае данные не теряются и не нарушается их целостность;