Программирование >>  Sql: полное руководство 

1 ... 128 129 130 [ 131 ] 132 133 134 ... 264


Таблица }6.11. Таблицы ОВ2в которых содержится информация о привилегиях

О тгемная таблица

Роль

tabauth

Реализует привилегии на уровне таблиц, показывая, каким пользователям к каким таблицам и для каких операций (select, insert,

delete, update, alter и index) разрешен ДОСТуп

colauth

Реализует привилегии на уровне столбцов, показывая, какие пользователи имеют разрешение на обновление и создание внешних ссылок на какие столбцы каких таблиц

dbauth

Определяет, какие пользователи имеют право устанавливать соединение с базой данных, создавать таблицы и выполнять различные функции администрирования базы данных

schemaauth

Реализует привилегии на уровне схемы, показывая, какие пользователи имеют разрешения создавать, удалять или модифицировать объекты (таблицы, представления, домены и т д ), входящие в схему

indexauth

Реализует привилегии на уровне индексов, показывая, какие пользователи имеют привилегии управления различными индексами

packageauth

Реализует привилегии профаммного доступа, показывая, какие пользователи могут создавать различные утилиты доступа к базам данных ( пакеты ) и управлять их выполнением

Схема авторизации пользователей, используемая в SQL Server, является более фундаментальной и четкой, чем в DB2. Базы данных, таблицы, хранимые процедуры, триггеры и другие элементы фактуются в ней одинаково: как объекты, по отношению к которым назначаются привилегии. Четкая сфуктура этой схемы отражена в системной таблице sysprotects (табл. 16.12) С помошью таблицы sysprotects реализована вся схема привилегий в SQL Server Каждая сфока этой таблицы представляет одну инсфукцию grant или revoke, выполненную в базе данных.

Таблица 16.12. Некоторые столбцы таблицы SYSPROTECTS (СУБД SQL Server) -

Имя столбца

Тип данных

Информация

Внутренний идентификатор защищаемого объекта

SMALLINT

Внутренний идентификатор пользователя или группы пользователей, имеющих привилегию

action

TINYINT

Числовой код привилегии

protecttype

TINYINT

Числовой код операции предоставления привилегии или ее отмены

columns

VARBINARY(32)

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

Информационная схема в стандарте $QL2

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



невозможно достичь согласия по вопросу стандартной спецификации системного каталога Вместо этого авторы стандарта дали определение идеализированного системного каталога, который поставщики СУБД могли бы применять при разработке с нуля СУБД, соответствующих стандарту SQL2 Таблицы этого идеализированного системного каталога (который в стандарте называется схема определений) приведены в табл 16 13

Таблица 16 ]3 Идеализированный системный каталог, описанный в стандарте SQL2

Системная таблица

USERS SCHEMATA

DATA TY PE DE SCRIPTOR DOMAINS

DOMAIN CONSTRAINTS

TABLES

VIEWS

COLUMNS

VIEW TABLE USAGE

VIEW COLUMNI USAGE TABLE CONSTRAINTS KEY COLUMN USAGE

REFERENTIAL CONSTRAINTS CHECK CONSTRAINTS

CriFCK TABLE USAGE

CHECK COLUMN USAGE

ASSERTIONS TABLE PRIVILEGES

COLUMN PRIVILEGES

Содержимое

Одна строка для каждого идентификатора пользователя (идентификатора прав доступа) в каталоге

Одна строка для каждой информационной схемы в каталоге

Одна строка для каждого домена или столбца, имеющего какой-то тип данных

Одна строка для каждого домена

Одна строка для каждого ограничения, наложенного на домен

Одна строка для каждой таблицы

Одна строка для каждого представления

Одна строка дтя каждого столбца в каждом определении таблицы или представления

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

Одна строка для каждого столбца, на который имеется ссылка в каком либо представлении

Одна строка для каждого ограничения, заданного в определении какой-либо таблицы

Одна строка для каждого столбца, на который наложено условие уникальности или который присутствует в определе НИИ первичного либо внещнего ключа (если в определении ключа или условия уникальности указано несколько столбцов, то это определение будет представлено несколькими строками)

Одна строка для каждого определения внещнего ключа

Одна строка для каждого ограничения на значения какого-либо столбца

Одна строка дтя каждой таблицы, на которуто имеется ссылка в ограничении на значения столбца, Офаничений домена или утверждении

Одна строка для каждого столбца, на который имеется ссылка в ограничении на значения столбца, ограничении домена или утверждении

Одна строка для каждого созданного утверждения

Одна строка для каждой привилегии, предоставленной на какую либо таблицу

Одна строка для каждой привилегии, предоставленной на какой либо столбец



Системная таблица / Содержимое

character sets Одна строка для каждого созданного набора символов

collations Одна строка для каждого созданного порядка сортировки

translations Одна строка для каждого созданного правила конвертиро-

вания текста

sql languages Одна строка для каждого диалекта SQL, поддерживаемого

СУБД данного типа

Стандарт SQL2 не требует, чтобы СУБД поддерживала таблицы системного каталога, приведенные в табл 16 13 или какие-либо иные Вместо этого в стандарте SQL2 определен ряд представлений, основанных на этих системных таблицах Названные представления описывают те объекты базы данных, которые должны быгь доступны для рядового пользователя (Эти представления системного каталога называются в стандарте информационной схемой) Для того чтобы СУБД соответствовала стандарту SQL2 на уровне Intermediate Level или Full Level, она должна поддерживать эти представления Такой подход дает пользователю стандартный способ получения информации о доступньо ему объектах базы данных с помощью стандартных запросов к представлениям системного каталога Следует отметить, что на начальном уровне (Entry Level) совместимости со стандартом SQL2 поддержка системных представлений не требуется В современные СУБД такая поддержка внедряется медленно

На практике коммерческие реляционные СУБД поддерживают информационную схему путем создания соответствующих представлений на основе таблиц своих собственных системных каталогов Структура системных каталогов больщинства СУБД достаточно близка к требуемой в стандарте, по крайней мере, первые 90 процентов требований, связанных с совместимостью со стандартом SQL2, можно реализовать относительно просто Реализация остальных 10 процентов достаточно затруднительна, учитывая значительные различия между существующими СУБД и то, что даже обобщенные системные представления затрагивают внутренние особенности реализации самой СУБД

Представления системного каталога SQL2 перечислены в табл 16 14 В ней дается краткое описание информации, которая содержится в каждом представлении (Более подробно информационная схема стандарта SQL2 описана в приложении Г) В стандарте определены также три домена, которые используются предсташтениями системного каталога и являются доступными для пользователей Эти домены приведены в табл 16 15

Таблица 16 14 Представления системного каталога, установленные стандартом SQL2

Представление Содержимое

системного каталога

INF0RMA1 ion schema Одна строка с именем базы данных для каждого пользователя

catalog name ( каталога по терминологии стандарта SQL2), описываемого

данной информационной схемой

schemata Одна строка для каждой схемы в базе данных, принадлежащей

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

tables Одна строка для каждой таблицы или представтения доступ

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



1 ... 128 129 130 [ 131 ] 132 133 134 ... 264

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