Программирование >>  Реляционные базы данных 

1 ... 108 109 110 [ 111 ] 112 113 114 ... 125


вьшолияется

Действие

GRANT р ТО В Wn-H GRANT OPTION

GRANT p TO С

GRANT p TO D WITH GRANT OPTION

GRANT p TO B. C, £ WITH GRANT OPTION

REVOKE p FROM D CASCADE

REVOKE p FROM С CASCADE

Рис. 7.19. Послвдовотельностъ действий для упрожнения 7.4.2

Упромнение 7.4.3. Покажите диаграммы присвоения полномочий, которые получаются после шагов (5) и (6) в последовательности действий, показанной на рис, 7.20, считая, что А - владелец отношения, на которое распространяется привилегия р.

выполняется

Действие

GRANT р ТО Д £ WITH GRANT OPTION

GRANT p TO С WITH GRANT OPTION

GRANT p TO D WITH GRANT OPTION

GRANT p TO С

GRANT /7 TO 0 WITH GRANT OPTION

REVOKE GRANT OPTION FOR p FROM В CASCADE

Рис. 7.20. Последовотвльнопь действий для упрожнения 7.4.3

Ыпрожненио 7.4.4. Покажите диаграмму, которая получается в результате выполнения следующих шагов, предполагая, что А - владелец отношения, ма которое распространяется привилегия р.

выполняется

Действие

GRANT р ТО 5 WITH GRANT OPTION

GRANT p TO В WITH GRANT OPTION

REVOKE p FROM В CASCADE

е) Операимя изменения из примера 3.31

О Осиопанная на кортеже проверка из рис. 6.4

В) Допушение из примера 6.10

* Упражнение 7.4.2. Покажите диаграммы присвоения полномочий, которые получаются после шагов (4) - (6) в последовательности действий, показанной на рис. 7.19, считая, что А~ владелец отношения, на которое распространяется привилегия р.



7.5 Итоги

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

+ Несог.Шсокамюсть .моделей. Модели данных SQL кардинально отличаются от моделей данных обычных главных языков. Поэтому информация между SQL и главным языком передается с помощью разделяемых переменных, которые могут прсдстапл.чть компоненты К01ггежей в SQL-фрагменте программы.

+ Курсоры. Курсор - это переменная SQL. обозначающая один из кортежей отношения. Связь мсхшу главным языком и SQL осуществляется путем перемещения курсора по всем кортежам отношения. При этом определенные компоненты выбираются из текущего кортежа, вводятся в разделяемые переменные и обрабатъшак1тся с помощью главного языка.

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

+ Контроль пар<ш€.1ьш>сти. В SQL2 есть два механизма предотвращения взаимного алияиня параллельных операций: транзакции и офаннчения на курсоры. Ограничения на курсоры предполагают возможность объявления сурсора нечувствительным . В результате курсор не реагирует ни на какие изменения своего отношения.

+ Транзакции. SQL позволяет программисту группировать операторы SQL в транзакции, которые могут быть приняты или отменены (прерваны). В последнем случае все изменения, внесенные транзакцией, отменяются.

+ Уровни измяции. С помошью SQL2 можно выполнять транзакции на четырех уровнях изоляции, которые по степени их строгости называются: приведение в последовательную форму (транзакция должна выполняться либо пшностью ло другой транзакшш. либо полностью после нее), повторное чтение (каждый кортеж, прочитанный в ответ на запрос, появляется снова при повторении этого запроса), чтение принятых данных (для траюакции доступны только данные, записанные другой транзакцией, которая уже принята), чтение не принятых данных (нет никаких офанмчений на данные, доступные транзакции).

Курсоры и транзакщш только для чтения. Kyix;op и транзакция мог\т предназначаться только для чтения. Такой режим гарантирует, что курсор или транзакция не изменит ВД. и информирует систему SQL о том, что они не повлияют на яругой курсор илн транзакцию, не нарушат нечувствительность, последовательную форму или другие требования.

+ Организации БД. Инсталляция СУБД, реализующей S0L2. создает среду SQL. В этой среде элементы БД группируются в схемы (БД), каталоги и кластеры. Ката-юг - это миожестпо схем. а кластер самое большое множество элементов, достлпиое пользователю.

+ Системы к.шеит/ссрвер. Клиент SQL подключается к серверу SQL, создавая с ним связь (соединение двух процессов) н сеанс (последовательность операций). Выполняемая во время сеанса программа постучтает из модуля, а выполнение моауля называется агентом SQL.



7.6 Литература к главе 7 335

♦ flptiewieeuu. Для обеспечения защиты данных п S0L2 предусмотрено множество типов привилегиП, которые нужно получить для работы с элементами БД. Эти привилегии включают в себя право выбирать (читать), вводить, удалять или изменять отношение, а кроме того, ссылаться на отношение (при введении ограничения). Привилегии вставки и изменения, а также привилегии ссылок можно получигь и на отдельные столбцы отношения.

♦ Диаграммы присвоения привилегий. Обладатели привилегии могут присвоить их другим пользователям или пользователю PUBLIC. Если привилегии присваиваются с право.\1 передачи, их можно присваивать другим пользователям. ПривЦ1егии можно отменить. Диаграмма присвоения привилегий - удобный способ запоминания истории присвоений и отмен привилегий, необходимый для отслеживаш1Я того, кто какие привилегии имеет и откуда он их получил.

7.6 Литература к главе 7

Информацию о стандарте SQL2 можно найти в библиографических примечаниях к главе 3. Проблемы этого стандарта, связанные с транзакциями и курсорами, рассматриваются в работе [I] приведенного списка литературы.

Наиболее важная идея реализации транзакций под названием двухфазового замыкания предложена в книге 3]. Другая информация об управлении транзакциями и их реализации содержится в работах [2] и [5]. Идеи, являющиеся основой авторизации SQL2. разработаны в книгах 6] и [4].

1. Berenson, Н.. Р. А. Bernstein, J. N. Gray, J. IVlelton, E. ONeil, and P. ONeil, A critique of ANSI SQL isolation levels, Proceedings of ACM SIGMOD Ind. Conf. on Management of Data, pp. 1-10, 1995.

2. Bernstein, P. A., V. Hadzilacos, and N. Goodman, Concurrency Control and Recovery in Database Systems, Addison-Wesley, Reading, MA, 1987.

3. Eswaran. K. P., J. N. Gray, R. A. Lorie and I. L. Traiger, The notions of consistency and predicate locks in a database system, Communications of the ACM 19:11, pp. 624-633. 1976.

4. Fagin. R., On an authorization mechanism, ACM Transactions on Database Systems. 3:3, pp. 310-319, 1978.

5. Gray, J. N. and A. Renter, Transaction Processing: Concepts and Techniques, Morgan-Kaufmann. San Francisco, 1993.

6. Griniths, p. p. and B. W. Wade, An authorization mechanism for a relational database system, ACM Transactions on Database Systems, 1:3, pp. 242-255, 1976.



1 ... 108 109 110 [ 111 ] 112 113 114 ... 125

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика