Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_KL_2010_14.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
28.97 Mб
Скачать

5.3.5.Связывание пользователей с ролями

В InterBase с пользователем во время его сеанса работы с базой может быть связана только одна роль. В то же время команд GRANT на передачу прав ролей может быть несколько. Такой механизм позволяет динамически связывать набор прав пользователя при его конкретном соединении. Это имеет смысл в тех случаях, когда один и тот же человек выступает в различном качестве. Например, сегодня он работает как кассир, а завтра как приемщик товаров.

Таким образом, связь между ролью и пользователем осуществляется не при выдаче команды GRANT, а при соединении пользователя с базой. Реализация такой связи осуществляется командой CONNECT. Базовый синтаксис команды CONNECT для нашего случая выглядит следующим образом:

CONNECT USER ‘username’

PASSWORD ‘password’

ROLE ‘rolename’;

Таким образом, один и тот же пользователь при входе в систему может получить различные наборы прав.

Глава 6.Информационные системы с активным сервером баз данных

В архитектуре современных систем обработки данных и неуклонно возрастает роль серверных СУБД. Дореляционные СУБД отвечали главным образом за доступ к данным и их хранение, предоставляя приложениям возможность перемещаться по базе данных как им угодно, а также сортировать, отбирать и обрабатывать информацию. Однако с появлением реляционных СУБД и SQL ситуация коренным образом изменилась. Операции поиска и сортировки стали командами языка SQL, выполняемыми исключительно самой СУБД, и ею же производится вычисление итоговых данных. Теперь явная навигация по базе данных больше не нужна. Последующие расширения SQL, такие как первичные и внешние ключи, ограничения на значения, продолжают эту тенденцию, вытесняя функции проверки данных и обеспечения целостности базы данных из клиентских приложений. А конечная цель этой тенденции проста: чем больше ответственности на себя берет серверная СУБД, тем более эффективной и надежной становится система в целом благодаря централизованному управлению базой данных и снижению вероятности разрушения данных из-за ошибок в клиентских приложениях.

Общую тенденцию к расширению функций СУБД продолжают еще две важные возможности, которыми обладают практически все современные реляционные корпоративные СУБД: поддержка хранимых процедур и триггеров. Хранимые процедуры позволяют переносить часть прикладных функций, связанных с обработкой данных, в саму базу данных. Например, хранимая процедура может управлять приемом заказа или переводом денег с одного банковского счета на другой.

Триггеры служат для автоматического выполнения хранимых процедур при возникновении в базе данных определенных условий. Например, триггер может автоматически переводить деньги со сберегательного счета на чековый, когда остаток последнего исчерпывается.

В своей исходной форме SQL не является полноценным языком программирования. Он был задуман и создан как язык, предназначенный для выполнения операций над базами данных – создания их структуры, ввода и обновления данных – и особенно для выполнения запросов. SQL может использоваться как интерактивный командный язык: пользователь по очереди вводит инструкции SQL с клавиатуры, а СУБД их выполняет. В этом случае последовательность операций над базой данных определяется пользователем. Инструкции SQL могут встраиваться в программы, написанные на других языках программирования, и тогда последовательность операций над базой данных определяется приложением.

С появлением хранимых процедур язык SQL обогатился рядом дополнительных базовых возможностей, обеспечиваемых практически всеми языками программирования, что позволило писать на «расширенном SQL» настоящие программы и процедуры.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]