|
Программирование >> Sql: полное руководство
Представление системного коталога COLUMNS VIEWS VIEW TABLE USAGE VIEW COLUMN USAGE TABLE CONS TRAINTS REFERENTIAL CONSTRAINTS CHECK CONSTRAINTS KEY COLUMN USAGE ASSERTIONS CONSTRAINT TABLE USAGE CONSTRAINT COLUMN USAGE TABLE PRIVILEGES COLUMN PRIVILEGES Содержимое Одна строка для каждого столбца, доступного текущему пользователю, содержит имя столбца, имя таблицы или представлений, включающих в себя данный столбец, тип его данных и другую информацию Одна строка для каждого представления, доступного текущему пользователю, содержит имя, информацию о режиме контроля и возможности обновления Одна строка для каждой таблицы, на которую имеется ссылка в определениях представлений, принадлежащих текущему пользователю, содержит имя таблицы Одна строка для каждого столбца, на который имеется ссылка в представлениях, принадлежащих пользователю, содержит имя столбца и таблицы, в которую входит столбец Одна строка для каждого ограничения (первичный ключ, внещний ключ, условие уникальности или условие на значения), заданного для таблицы, которой владеет текущий пользователь, содержит имя ограничения и таблицы, тип ограничения и его характеристики Одна строка для каждого ссылочного ограничения (определения внешнего ключа) на таблицу, которой владеет текущий пользователь, содержит имя ограничения, имя таблицы-по томка и имя таблицы-предка Одна строка для каждого ограничения на значения столбца таблицы, которой владеет текущий пользователь Одна строка для каждого столбца, на который наложено ограничение первичного или внешнего ключа либо ограничение уникальности и который входит в таблицу, принадте жащую текущему пользователю, строка содержит имя таблицы, имя столбца и позицию столбца в ключе Одна строка для каждого утверждения, которым владеет текущий пользователь, содержит имя утверждения и его характеристики Одна строка для каждой таблицы, на которую имеется ссылка в условии на значения, условии уникальности, утверждении или определении внещнего ключа принадлежащих текущему пользователю Одна строка для каждого столбца, на который имеется ссылка в условии на значения, условии уникальности, утверждении или определении внешнего ключа, принадлежащих текущему пользователю Одна строка для каждой привилегии на таблицу, предоставленной текущему пользователю или предоставленной им другому пользователю, содержит имя таблицы, тип привиле гии, указание на то, кто предоставил привилегию, кому она предоставлена и имеет ли пользователь право предоставления этой привилегии Одна строка для каждой привилегии на столбец, предоставленной текущему пользователю или предоставленной им другому пользователю, содержит имя таблицы и столбца, тип привилегии, указание на то, кто предоставил привилегию, кому она предоставлена и имеет ли пользователь право предоставления этой привилегии Представление системного каталога USAGE PRIVILEGES DOMAINS DOMAIN CONSTRAINTS DOMAIN C0LUMN USAGE CHARACTER SETS COLLATIONS TRANSLATIONS SQL LANGUAGES Содержимое Одна строка для каждой привилегии, предоставленной текущему пользователю или предоставленной им другому пользователю на какой-либо домен, набор символов и т п Одна строка для каждого домена, доступного текущему пользователю, содержит имя домена, базовый тип данных и его характеристики Одна строка для каждого ограничения, наложенного на домен, содержит имя ограничения и его характеристики Одна строка для каждого столбца, используемого в определении каждого домена, принадлежащего текущему пользователю Одна строка для каждого определения набора символов, доступного текущему пользователю Одна строка для каждого определения порядка сортировки, доступного текущему пользователю Одна строка для каждого определения правила конвертирования текста, доступного текущему пользователю Одна строка для каждого диалекта SQL, поддерживаемого СУБД данного типа, в строке указывается уровень соответствия стандарту SQL2 и другая информация Таблица 16. IS. Доме пенные в етандортв SQL2 Системный домен SQL IDENTIFIER CHARACTER DATA CARDINAL NUMBER Область значений домена Домен всех символьных строк переменной длины, которые являются допустимыми идентификаторами SQL согласно стандарту SQL2, любое значение, взятое из этого домена, является допустимым именем таблицы, столбца и тд Домен всех символьных строк переменной длины, имеющих длину от нуля до максимального значения, поддерживаемого данной СУБД, значение, взятое из этого домена, является допустимой символьной строкой Домен всех неотрицательных чисел от нуля до максимального целого числа, с которым может работать данная СУБД, значение, взятое из этого домена, является нулем или допустимым положительным числом Вот примеры нескольких запросов, используемых для извлечения информации э структуре базы данных из представлений системного каталога, определенных в стандарте SQL2 Вывести имена всех таблиц и представлений пользователя, работающего в настоящий момент с базой данных SELECT TABLE NAME FROM TABLES Вывести имя, позицию и тип данных для всех столбцов во всех представлениях. SELECT TABLE NAME, COLUMN NAME, ORDINAL POSITION, DATA TYPE FROM COLUMNS WHERE (COLUMNS.TABLE NAME IN (SELECT TABLE NAME FROM VIEWS)) Определить, сколько столбцов имеется в таблице offices. SELECT COUNT(*) FROM COLUMNS WHERE (TABLE NAME = OFFICES) В настоящее время ни одна из корпоративных СУБД не поддерживает всю информационную схему в полном объеме. Informix Universal Server обеспечивает доступ к представлениям информационной схемы, но они основаны на стандарте Х/Ореп CAE (Common Application Environment - единая среда прикладного программирования) и во многих деталях не соответствуют стандарту ANSI/ISO. Прочая информация Системный каталог СУБД является отражением ее свойств и возможностей. Из-за того что во многих популярных СУБД используются дополнительные, расширенные возможности языка SQL, их системные каталоги всегда содержат несколько уникальных таблиц. Вот лишь несколько примеров: СУБД DB2 и Oracle поддерживают псевдонимы и синонимы (альтернативные имена таблиц). В DB2 информация о псевдонимах хранится вместе с другой информацией о таблицах в системной таблице syscat. tables. В Oracle информация о синонимах доступна через представление user synonyms. В SQL Server можно работать одновременно со многими базами данных. Эта СУБД имеет системную таблицу sysdatabases, в которой хранятся имена баз данных, управляемых одним сервером. В настоящее время многие СУБД поддерживают хранимые процедуры, и в системном каталоге содержится одна или несколько таблиц с описанием имеющихся хранимых процедур. В Sybase информация о хранимых процедурах находится в системной таблице sysprocedures. СУБД Ingres может иметь таблицы, распределенные по нескольким дисковым томам. В системной таблице iiMULTi LOCATiONS отслеживается расположение многотомных таблиц. Резюме Системный каталог - это совокупность системных таблиц, описывающих структуру реляционной базы данных: Когда структура базы данных изменяется, СУБД обновляет данные, хранимые в системных таблицах. Пользователь может делать запросы к системным таблицам с целью получения информации о таблицах, столбцах и привилегиях.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |