|
Программирование >> Sql: полное руководство
Схема авторизации пользователей, используемая в SQL Server, является более фундаментальной и четкой, чем в DB2. Базы данных, таблицы, хранимые процедуры, триггеры и другие элементы фактуются в ней одинаково: как объекты, по отношению к которым назначаются привилегии. Четкая сфуктура этой схемы отражена в системной таблице sysprotects (табл. 16.12) С помошью таблицы sysprotects реализована вся схема привилегий в SQL Server Каждая сфока этой таблицы представляет одну инсфукцию grant или revoke, выполненную в базе данных.
Информационная схема в стандарте $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 Одна строка для каждой таблицы или представтения доступ ных текущему пользователю, содержит имя объекта и при знак того, идет ли речь о таблице или представлении
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |