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

1 ... 124 125 126 [ 127 ] 128 129 130 ... 264


СУБД Oracle

Sybase

SQL Server

Тоблицы

Столбцы

USER CATALOG

USER TAB

USER TABLES

COLUMNS

ALL TABLES

ALL TAB

USER SYNONYMS

COLUMNS

SYSTABLES

SYSCOLUMNS

SYSREFERENCES

SYSSYNONYMS

SYSDATABASES

SYSCOLUMNS

SYSOBJECTS

SYSKEYS

SYSDATABASES

SYSCOLUMNS

SYSOBJECTS

SYSFOREIGNKEYS

SYSREF ERENCES

Пользовотели Представления Привилегии

/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 - представление, А - псевдоним

Статус объекта (определяется системой)

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

Имя таблицы, на которую ссылается псевдоним Время создания объекта

Время, когда последний раз определялись статистические данные объекта

Количество столбцов в таблице

Внутренний идентификатор таблицы



Иаля столбца

Тип данных

Информация

TBSPACEID

SMALLINT

Идентификатор табличного пространства, в котором хранится таблица

CARD

INTEGER

Количество записей в таблице (ее мощность )

NPAGES

INTEGER

Число страниц физической памяти, содержащих табличные данные

FPAGES

INTEGER

Общее число страниц физической памяти, занимаемых таблицей

OVERFLOW

INTEGER

Число записей, в которых возникло переполнение

TBSPACE

VARCHAR(18)

Имя табличного пространства, в котором хранится таблица

INDEX TBSPACE

VARCHAR (18)

Имя табличного пространства, в котором хранятся индексы таблицы

LONG TBSPACE

VARCHAR(18)

Имя табличного пространства, в котором хранятся данные больших двоичных объектов

PARENTS

SMALLINT

Число родительских таблиц для данной таблицы

CHILDREN

SMALLINT

Число дочерних таблиц для данной таблицы

SELFREFS

SMALLINT

Число ссылок таблицы на саму себя

KEYCOLUMNS

SMALLINT

Число столбцов в первичном ключе таблицы

KEYINDEXID

SMALLINT

Внутренний идентификатор первичного ключа таблицы

KEYUNIQUE

SMALLINT

Число уникальных ограничений на значения столбцов таблицы

CHECKCOUNT

SMALLINT

Число ограничений на значения столбцов таблицы

DATACAPTURE

CHAR(l)

Признак реплицированной таблицы

CONST CHECKED

CHAR(32)

Флаги проверки ограничений

PMAP ID

SMALLINT

Внутренний идентификатор схемы физической сегментации таблицы

PARTITION MODE

CHAR(l)

Признак сегментации таблиц базы данных

LOG ATTRIBUTE

CHAR(1)

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

PCTFREE

SMALLINT

Часть страниц (в процентах), которую следует зарезервировать для будущих данных

REMARKS

VARCHAR(254)

Пользовательские комментарии к таблице

С помощью таких запросов, как приведенные ниже, можно получить информацию о таблицах в СУБД 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 используется внутренний идентификатор пользователя вместо его имени.

Таблица 16.3. Некоторые столбцы таблицы SYSOBJSCTS (СУБД SQL Servjer)

Иаля столбца

Тип данных

Информация

пате

sysname

Имя объекта

Внутренний идентификатор объекта

smallint

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

type

char(2)

Код типа объекта*

crdate

datetime

Дата/время создания объекта

cieltrig

Идентификатор триггера delete

3 nstrig

Идентификатор триггера insert

updtrig

Идентификатор триггера update

S - системная таблица, U - таблица пользователя, V - предстаатение, L - журнальный файл, Р - хранимая процедура, TR - триггер и т.д.

В Informix Universal Server аналогичная таблица называется systables. Как и в DB2, она содержит информацию только о таблицах, представлениях и псевдонимах; другие объекты базы данных описываются в других системных таблицах. Вот типичный запрос к системной таблице Informix:

Вывести имена и даты создания всех таблиц базы данных, а также имена владельцев этих таб.тц.



1 ... 124 125 126 [ 127 ] 128 129 130 ... 264

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