Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Тут можно читать онлайн Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство БХВ-Петербург, год 2006. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2006
  • Город:
    Санкт-Петербург
  • ISBN:
    5-94157-609-9
  • Рейтинг:
    4/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - описание и краткое содержание, автор Хелен Борри, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.

Для разработчиков баз данных

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать книгу онлайн бесплатно, автор Хелен Борри
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Следующий оператор удаляет две привилегии к таблице CUSTOMER у хранимой процедуры COUNT_BEANS:

REVOKE INSERT, DELETE

ON CUSTOMER

FROM PROCEDURE COUNT_BEANS;

Любая комбинация ранее назначенных привилегий SELECT, INSERT, UPDATE, DELETE или REFERENCES может быть отменена назначившим эти привилегии, неважно, были ли они назначены индивидуально, в списке или с использованием ALL.

Как и в случае GRANT, отмена привилегий REVOKE ALL объединяет привилегии SELECT, INSERT, UPDATE, DELETE и REFERENCES в одном выражении. Данный оператор отменит любое из этих назначенных полномочий.

Например, следующий оператор отменит все привилегии доступа к таблице

DEPARTMENTS у пользователя MAGPIE:

REVOKE ALL ON DEPARTMENTS FROM MAGPIE;

Если пользователь не имеет всех привилегий, включенных в ALL, оператор не вызовет исключения. Оператор REVOKE ALL может быть особенно полезным, если вы не знаете, какие привилегии имеет пользователь. Нет необходимости решать проблему устранения всех полномочий, доступных пользователю, потому что у REVOKE ALL есть ограничения на то, что он способен отменить.

Чего не отменяет REVOKE ALL

REVOKE ALL не отменяет:

* привилегии, наследуемые вместе с ролью;

* привилегии, полученные как PUBLIC;

* привилегии EXECUTE.

Отмена привилегии EXECUTE

Синтаксис отмены привилегии EXECUTE к хранимой процедуре:

REVOKE EXECUTE

ON PROCEDURE <���имя-процедуры>

FROM <���получатель> [, <���получатель> [, ...]]

| [TRIGGER <���имя-триггера> [, <���имя-триггера> [,...]]

[PROCEDURE <���имя-процедуры> [, <���имя-процедуры> [, ...]]

[VIEW <���имя-просмотра> [, VIEW <���имя-просмотра> [, ...]];

Следующий оператор удаляет привилегию EXECUTE у пользователя HPOTTER к процедуре COUNT_CHICKENS:

REVOKE EXECUTE ON PROCEDURE COUNT_CHICKENS FROM HPOTTER;

Отмена привилегий у нескольких пользователей

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

Список пользователей

Используйте разделенный запятыми список пользователей для отмены привилегий у множества пользователей в одном операторе. Следующий оператор удаляет привилегии INSERT и UPDATE к таблице DEPARTMENTS у троих пользователей за один раз:

REVOKE INSERT, UPDATE

ON DEPARTMENTS

FROM MAGPIE, BRUNHILDE, KILROY;

Роль

Отмена привилегий, предоставленных роли, отменяет эти привилегии у всех пользователей, имеющих эту роль в качестве привилегий:

REVOKE UPDATE

ON DEPARTMENT

FROM CARTEBLANCHE;

Теперь пользователи, которым была назначена роль CARTEBLANCHE, больше не имеют привилегии UPDATE к таблице DEPARTMENT, но у них остаются другие привилегии (SELECT, INSERT, DELETE, REFERENCES, EXECUTE), которые они могли наследовать от

CARTEBLANCHE.

Вы можете использовать один оператор для отмены одних и тех же привилегий у одной или более ролей:

REVOKE DELETE, INSERT

ON DEPARTMENT

FROM CARTEBLANCHE, MAITRE_D;

Роль пользователя

Отмена назначенных роли пользователей отменяет у этих пользователей все полномочия, которые они получили с этой ролью. Используйте REVOKE для удаления роли, которую вы назначали пользователям. Следующий оператор отменяет роль

CARTEBLANCHE у пользователя KILROY:

REVOKE CARTEBLANCHE FROM KILROY;

KILROY больше не имеет привилегий доступа, полученных как результат его членства в этой роли. Однако это не оказывает влияния на других пользователей, которые получили эти привилегии через членство в данной роли.

Объекты

Для отмены привилегий у одной или более процедур, триггеров или просмотров включите соответствующее ключевое слово (PROCEDURE, TRIGGER, VIEW) перед именем объекта.

Вы можете отменить одну и ту же привилегию у различных типов объектов, задав разделенный запятыми список объектов каждого типа. В этом случае просто начните каждый список с ключевого слова типа объекта.

Следующий оператор удаляет привилегии INSERT и UPDATE К таблице CUSTOMER для двух процедур и триггера:

REVOKE INSERT, UPDATE

ON CUSTOMER

FROM PROCEDURE COUNT_CHICKENS, ABANDON_OLD

TRIGGER AI_SALES ;

Пользователь PUBLIC

Для отмены привилегий, которые все пользователи получили как пользователь PUBLIC, просто трактуйте PUBLIC, как и любого другого пользователя. Например, следующий оператор отменяет полномочия INSERT и DELETE К таблице DEPARTMENT у всех пользователей:

REVOKE SELECT, INSERT, UPDATE

ON DEPARTMENT

FROM PUBLIC;

После выполнения этого оператора привилегии INSERT и DELETE К таблице DEPARTMENT сохраняются у владельца этой таблицы и у пользователя SYSDBA, равно как и у имевших эти привилегии хранимых процедур, просмотров и триггеров. Отмена привилегий у PUBLIC также не убирает привилегии у пользователей, которые имеют их как собственные права.

Отмена права предоставлять привилегии

Для отмены права у пользователя предоставлять конкретную привилегию, но сохранить у него эту привилегию, используйте REVOKE GRANT OPTION:

REVOKE GRANT OPTION

FOR <���привилегия> [, <���привилегия> [,...]]

ON <���таблица> | <���объект>

FROM <���пользователь> ;

Например, следующий оператор отменяет право предоставлять привилегию SELECT к таблице DEPARTMENT у пользователя HPOTTER и сохраняет у него привилегию SELECT:

REVOKE GRANT OPTION

FOR SELECT

ON DEPARTMENT

FROM HPOTTER;

Выполнение этого оператора приведет к каскадным отменам у всех других пользователей, которые получили право предоставлять эту привилегию от HPOTTER.

Скрипты безопасности

Если вы до сих пор задержались на этой главе, нет сомнений, что вы пришли к заключению, что реализация привилегий SQL требует набора большого объема текста. Что ж, вы правы. В действительности мы не используем интерактивные методы для выполнения этой работы. Мы пишем скрипты - или, иначе, мы пишем хранимые процедуры, которые пишут для нас скрипты.

Как правило, если мы имеем хорошо работающую схему привилегий, мы можем генерировать множество скриптов, которые формируют роли и общие полномочия. Обычно вручную написанный скрипт предназначен для полномочий EXECUTE, поскольку для этого довольно сложно создать нужную формулу.

С появлением в Firebird 1.5 оператора EXECUTE PROCEDURE, который позволяет нам обойти невозможность в Firebird выполнения операторов DDL в PSQL, мы можем выполнить групповую загрузку полномочий прямо в базу данных из хранимой процедуры. Пример подобной процедуры представлен в листинге 35.2 далее в этой главе.

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

Создание скрипта

Автор предпочитает генерировать скрипт безопасности. Он может быть протестирован и аннотирован, он является документом, нужным для контроля качества, и дающим основу для распространения у пользователей. Пример подобного скрипта представлен в листинге 35.1.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Хелен Борри читать все книги автора по порядку

Хелен Борри - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ отзывы


Отзывы читателей о книге Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ, автор: Хелен Борри. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x