Введение

Каталог—это системная база данных, содержащая информацию (дескрипторы) относительно разнообразных объектов, которые представляют интерес для самой системы. Примерами таких объектов могут служить базовые таблицы, представления, индексы, базы данных, планы прикладных задач, права доступа и т. д. Дескрипторная информация является существенной, если система должна быть способной выполнять свою работу надлежащим образом. Например, компонент генератора планов прикладных задач — оптимизатор использует информацию об индексах из каталога, а также и другую информацию для выбора оптимальной стратегии доступа, как пояснялось в главе 2. Подобным же образом подсистема проверки полномочий (см. главу 9) использует информацию о правах доступа из каталога для того, чтобы допускать или отвергать запросы конкретных пользователей.

В реляционной системе такой, как DB2, каталогсам состоит из отношений или таблиц, точно таких же, как обычные пользовательские таблицы данных. В частности, в системе DB2 каталог состоит приблизительно из 20—25 таких таблиц[17]. Наша цель здесь заключается не в том, чтобы дать исчерпывающее описание каталога. Скорее нам хотелось бы познакомить читателя с основами его структуры и содержания и, кроме того, обсудить некоторые идеи, связанные с тем, каким образом содержащаяся в каталоге информация может быть полезной пользователю, а также системе. При этом будут упоминаться только следующие таблицы каталога (Мы сохраняем здесь принятые в системе DB2 англоязычные имена таблиц каталога и их столбцов. — Примеч. пер.):

— SYSTABLES

В этой таблице каталога предусматривается строка для каждой таблицы полной системы (базовой таблицы или представления). Для каждой такой таблицы в ней указывается имя таблицы (NAME), имя пользователя, который создал эту таблицу (CREATOR), число столбцов в ней (COLCOUNT) и многие другие элементы информации.

SYSTABLES NAME CREATOR COLCOUNT ....
  S P SP КДДЕЙТ КДДЕЙТ КДДЕЙТ   .... .... ....
SYSCOLUMNS NAME TBNAME COLTYPE ....
  НОМЕР_ПОСТАВЩИКА ФАМИЛИЯ СОСТОЯНИЕ ГОРОД НОМЕР_ДЕТАЛИ НАЗВАНИЕ ЦВЕТ ВЕС ГОРОД НОМЕР_ПОСТАВЩИКА НОМЕР_ДЕТАЛИ КОЛИЧЕСТВО S S S S Р Р Р Р Р SP SP SP CHAR CHAR SMALLINT CHAR CHAR CHAR CHAR SMALLINT CHAR CHAR CHAR INTEGER .... .... .... .... .... .... .... .... .... .... .... ....
SYSINDEXES NAME TBNAME CREATOR ....
  XS XP XSP XSC S P SP XSP КДДЕЙТ КДДЕЙТ КДДЕЙТ КДДЕЙТ .... .... .... ....

Рис. 7.1. Структура каталога для базы данных поставщиков и деталей

— SYSCOLUMNS

В этой таблице каталога содержится строка для каждого столбца каждой таблицы в полной системе. Для каждого такого столбца в ней указано имя столбца (NAME), имя таблицы (TBNAME), частью которой является данный столбец, тип данных для этого столбца (COLTYPE) и помимо этого много другой информации.

— SYSINDEXES

В этой таблице каталога содержится строка для каждого индекса в системе. Для каждого такого индекса в ней указано его имя (NAME), имя индексируемой таблицы (TBNAME), имя создавшего индекс пользователя (CREATOR) и т. д. Для примера на рис. 7.1 показана в общих чертах структура каталога для базы данных поставщиков и деталей. При этом, конечно, опущены почти все подробности.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: