|
Программирование >> Sql: полное руководство
СУБД Oracle Sybase SQL Server
Пользовотели Представления Привилегии /ALL USERS SYSUSERS SYSLOGINS SYSALTERNATES USER VIEWS ALL VIEWS SYSVIEvJS SYSDEPbND SYSOBJECTS SYSCOMMENTS SYSDEPENDS SYSCOMMENTS USER TAB PRIVS USER COL PRIVS USER SYS PRIVS SYSTABAUTH SYSCOLAUTH SYSPROTECTS В DB2 таблицы системного каталога имеют квалификатор syscat (например, syscat . tables) Информация о таблицах Во всех основных реляционных СУБД имеется системная таблица или представление, где отслеживается состояние всех таблиц базы данных В DB2 эта таблица называется syscat.tables. (Все системные таблицы в СУБД DB2 входят в схему, называющуюся syscat, и поэтому имеют имена вида syscat.ххх) В табл. 16.2 перечислены некоторые столбцы таблицы syscat. tables. В ней для каждой таблицы, представления или псевдонима, имеющихся в базе данных, отводится одна строка. Примерно такая же информация предоставляется в соогветствую-ших системных таблицах других СУБД. Таблица 16,2. Таблица SYSCAT. TABLES (СУБД DB2J Имя столбца tabschema tabname definer type status base tabschema base tabname CREATE TIME stats time colcount TableID Тип данных char (8) VARCHAR(18) CHAR (8) CHAR(1) CHAR(l) CHAR (8) VARCHAR(18) TIMESTAMP TIMESTAMP SMALLINT SMALLINT Информация Схема, содержащая таблицу, представление или псевдоним Имя таблицы, предстанпения или псевдонима Идентификатор владельца таблицы, представления или псевдонима Тип: Т - таблица, V - представление, А - псевдоним Статус объекта (определяется системой) Схема, содержащая таблицу, на которую ссылается псевдоним Имя таблицы, на которую ссылается псевдоним Время создания объекта Время, когда последний раз определялись статистические данные объекта Количество столбцов в таблице Внутренний идентификатор таблицы
С помощью таких запросов, как приведенные ниже, можно получить информацию о таблицах в СУБД DB2. Используя аналогичные запросы с други111и именами таблиц и столбцов, можно получить ту же самую информацию в СУБД других типов. Вывести имена всех таблиц базы данных, а также имена владельцев этих таблиц- SELECT DEFINER, TABNAJIE FROM SySCAT.TABLES WHERE TYPE = T Вывести имена всех таблиц, представлений и псевдонимов, имеющихся в базе данных- SELECT TABNAME FROM SYSCAT.TABLES Вывести имена и даты создания только моих таблиц. select tabname, create time from syscat.tables where type = t and definer = user В СУБД Oracle аналогачные функции выполняет пара представлений user tables и all tables. Представление user tables содержит по одной строке для каждой таблицы, принадлежащей текуще\1у пользователю. Представление all tables содержит по одной строке для каждой таблицы, к которой текущий пользователь имеет доступ; таким образом, она содержит все строки представления user tables плюс дополнительные строки для таблиц, принадлежащих другим пользователям, на которые текущему пользователю была -предоставлена хотя бы одна привилегия доступа. Вот типичный запрос к представлениям системного каталога Oracle: Вывести имена всех таблиц, к которым я имею доступ, а также имена владельцев этих таблиц. select table name, owner from all tables В СУБД SQL Server эквивалентом таблицы syscat . tables из DB2 является системная таблица SYSOBJECTS (табл. 16.3). Таблица SYSOBJECTS хранит информацию о таблицах, представлениях и других объектах SQL Server, таких как хранимые процедуры, правила и триггеры. Обратите также внимание на то, что для идентификации владельца таблицы в таблице SYSOBJECTS используется внутренний идентификатор пользователя вместо его имени.
S - системная таблица, U - таблица пользователя, V - предстаатение, L - журнальный файл, Р - хранимая процедура, TR - триггер и т.д. В Informix Universal Server аналогичная таблица называется systables. Как и в DB2, она содержит информацию только о таблицах, представлениях и псевдонимах; другие объекты базы данных описываются в других системных таблицах. Вот типичный запрос к системной таблице Informix: Вывести имена и даты создания всех таблиц базы данных, а также имена владельцев этих таб.тц.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |