Связь программы для клиентских мест с базой данных происходит напрямую через программный интерфейс IBDataBaseAPI, минуя BDE. Поэтому на компьютере клиента установка этих библиотек не требуется.
Для обслуживания сервера Interbase предназначена утилита InterBaseWindowsInteractiveSQL (WISQL). В отличие от других утилит, WISQL использует собственный механизм доступа к базе данных, поэтому может работать на машинах без BDE и не использует псевдонимы BDE.
При доступе к локальному серверу с помощью утилиты WISQL указывается только путь к БД.
При работе с удаленным (сетевым) сервером необходимо «прописать» его на компьютере, с которого происходит обращение к серверу. При использовании протокола TCP/IP:
1. IP-адрес сервера и имя должны быть описаны в файле HOSTS, например: 10.12.0.41 spv.
2. протокол доступа к InterBase должен быть описан в файле SERVICE: gds_db 3050/tcp.
Оба указанных файла находятся в каталоге WINDOWS.
Кроме того, для правильной работы с программой необходимо указать путь к файлу базы данных InterBase. Путь прописывается в файле path.txt, который должен находится в том же каталоге, что и сама программа, т.е. exe-файл.
Системные требования:
-Pentium 133;
-16 Mb RAM;
-Windows 95.
Разграничение доступа к данным.
Для архитектуры клиент / сервер безопасность данных обеспечивается на двух уровнях – сервера и приложения, так как пользователь может не только посылать на сервер команды модификации данных, но и получать для дальнейшей работы наборы данных на сторону клиента.
В системе защиты сервера можно выделить следующие основные элементы:
- хранение списков пользователей, их паролей и прав доступа;
- организация регистрации пользователей с проверкой правильности паролей и установкой прав доступа к различным категориям данных;
- определение групп доступных пользователю операций:
-только просмотр данных;
-редактирование данных;
-добавление данных;
- создание специальных инструментов управления данными (просмотры, хранимые процедуры, триггеры).
При установлении соединения с БД появляется диалоговое окно для ввода имени пользователя и пароля. Результаты регистрации отправляются на сервер. Сервер отслеживает уровни доступа для каждого пользователя и блокирует попытки неразрешенных для пользователя действий.
На уровне приложения разграничение доступа обеспечивается контролем за выполняемыми пользователем операциями. В зависимости от приоритета пользователя ему могут быть доступны только операции просмотра данных, редактирования данных или ввода новых данных. В созданной программе права доступа отслеживаются с помощью управления свойствами элементов форм.
Владельцем созданной БД oplata.gdb является пользователь SYSDBA (пароль «masterkey»), т.е. системный администратор. Системный администратор обладает полным набором прав доступа к БД, т.е. может изменять, добавлять, удалять данные, просматривать данные, а также модифицировать структуру БД. Кроме системного администратора к БД имеет доступ также пользователь с именем USROPL (пароль «1234»). Права пользователя USROPL приведены в таблице.
Таблица 3. Права доступа к БД пользователя USROPL
Таблицы, процедуры | Права доступа |
Справочник факультетов S_Facul | Select, Insert, Update, Delete |
Справочник групп S_Group | Select, Insert, Update, Delete |
Справочник студентов S_Student | Select, Insert, Update, Delete |
Книга лицевых счетов Book_Schet | Select, Insert, Update, Delete |
Книга выписок банка Book_Vypis | Select, Insert, Update, Delete |
Книга оплат Book_Oplat | Select, Insert, Update, Delete |
Файл параметров Params | Select, Update |
Архив списка студентов Arh_Student | Select, Insert, Update |
Архив книги лицевых счетов Arh_Schet | Select, Insert |
Архив книги выписок банка Arh_Vypis | Select, Insert |
Архив книги оплат Arh_Oplat | Select, Insert, Update |
Процедура архивации Arhivation | Execute |
Процедура получения оборотной ведомости OborotVed | Execute |
Процедура получения значения генератора Gen_SchetProc_Gen_Book_Schet | Execute |
Процедура получения значения генератора Gen_VypisProc_Gen_Book_Vypis | Execute |
Процедура получения значения генератора Gen_OplatProc_Gen_Book_Oplat | Execute |
Пользователь SYSDBA создается СУБД автоматически. Пользователя USROPL необходимо создать с помощью утилиты InterBaseServerManager. Эта утилита присутствует в стандартной поставке InterBase. Кроме управления пользователями и их паролями, она предназначена для определения параметров сервера, сохранения и восстановления БД, сборки «мусора» и т.д.