Каталог базы данных (РД 50-34.698-90)
Согласно указаниям РД 50-34.698-90 «Автоматизированные системы требования к содержанию документов», документ «Каталог базы данных» должен содержать:
- перечень объектов предметной области АС, информация о которых включена в базу данных.
Ниже представлен пример содержания документа «Каталог базы данных», уточняющий достаточно общие требования к содержанию документа, определенного ГОСТом. В качестве примера для описания использована база данных Oracle корпоративного хранилища данных.
1. Введение
Настоящий «Каталог базы данных» определяет состав объектов в базе данных подсистемы хранения Корпоративного хранилища данных (КХД).
2. Общие положения
2.1. Наименование системы
2.1.1. Полное наименование системы
Полное наименование - Корпоративное хранилище данных.
2.1.2. Краткое наименование системы
Краткое наименование - КХД, Система.
2.2. Нормативные ссылки
При формировании документа использовались следующие нормативно-технические документы:
 1. Техническое задание на создание информационной системы КХД
 2. Пояснительная записка к эскизному проекту на создание автоматизированной системы
 3. Пояснительная записка к техническому проекту на создание автоматизированной системы 
 4. РД 50-34.698-90 «Автоматизированные системы. Требования к содержанию документов»
 5. ...
3. Каталог базы данных
3.1. Схемы базы данных
В данном разделе приводится перечень ролей (схем) базы данных, которые относятся к ХКД и их описание.
Для хранения данных корпоративного хранилища были реализованы следующие схемы:
- DW - предназначена для хранения детализированных фактических значений показателей, нормативно-справочной информации в многомерной форме по схеме «звезда». В данной области информация хранится N лет.
- SUM - <Приводится описание схемы>
- ODS - <Приводится описание схемы>
- STG - <Приводится описание схемы>
- SRC – предназначена для хранения данных, извлеченных из систем-источников данных, в формате интерфейсных таблиц.
- XPT - <Приводится описание схемы>
3.2. Системные привилегии
Приводится перечень системных привилегий пользователей вышеописанных схем.
…
SRC - CREATE TABLE 
SRC - EXECUTE ANY PROCEDURE 
SRC - CREATE SEQUENCE 
…
STG - CREATE TABLE 
STG - CREATE SEQUENCE 
STG - CREATE PROCEDURE 
STG - DEBUG ANY PROCEDURE 
SRC - EXECUTE ANY PROCEDURE 
...
Ниже представлен запрос к системным представлениям, возвращающий список привилегий текущего (из-под которого выполняется запрос) пользователя базы данных Oracle.
select username, granted_role
 from user_role_privs;
3.3. Файлы экземпляра базы данных
Приводится перечень управляющих файлов и пути к ним.
| Тип | Каталог | Наименование файла | 
|---|---|---|
| Файл параметров экземпляра | /prd/app/oracle/product/10.4.0/db/dbs | init.ora | 
| Управляющие файлы БД | /prd/app/oracle/product/10.4.0/db/dbs | control_001.ctl | 
| Управляющие файлы БД | /prd/app/oracle/product/10.4.0/db/dbs | control_002.ctl | 
| Управляющие файлы БД | /prd/app/oracle/product/10.4.0/db/dbs | control_003.ctl | 
| Журналы транзакций | /rlog/DW | redo01.log | 
| Журналы транзакций | / rlog/DW | redo02.log | 
| Журналы транзакций | / rlog/DW | redo03.log | 
| Журналы транзакций | / rlog/DW | redo04.log | 
| Журналы транзакций | / rlog/DW | redo05.log | 
3.4. Табличные пространства
Приводятся таблицы с перечнем системных табличных пространств и табличных пространств, предназначенных для хранения данных с указанием файлов данных.
Системные табличные пространства
| Табличное пространство | Файл операционной системы | 
|---|---|
| SYSAUX | /tbssys/DW/sysaux01.dbf | 
| SYSTEM | /tbssys/DW/system01.dbf | 
| Табличное пространство | Файл операционной системы | 
|---|---|
| UNDO | /tbssys/DW/undo001.dbf | 
| Табличное пространство | Файл операционной системы | 
|---|---|
| TEMP | /tbssys/DW/temp001.dbf | 
| TEMP | /tbssys/DW/temp002.dbf | 
Ниже представлен запрос к системным представлениям, возвращающий список системных табличных пространств базы данных Oracle (запускать из-под пользователя с правами dba).
select tablespace_name,
       file_name
from dba_data_files
where tablespace_name in ('SYSAUX', 'SYSTEM', 'UNDOTBS1')
union all
select tablespace_name, 
       file_name
from dba_temp_files;
Табличные пространства для хранения данных продуктивной БД
| Табличное пространство | Файл операционной системы | 
|---|---|
| TBS_KPI | /data/DW/tbs_kpi_001.dbf | 
| TBS_SRC | /data/DW/tbs_src_001.dbf | 
| TBS_DIM | /data/DW/tbs_dim_001.dbf | 
| … | … | 
Ниже представлен запрос к системным представлениям, возвращающий список табличных пространств базы данных Oracle (запускать из-под пользователя с правами dba).
select tablespace_name,
       file_name
from dba_data_files
where tablespace_name not in ('SYSAUX', 'SYSTEM', 'UNDOTBS1', 'USERS');
3.5. Описание объектов
В данном разделе приводится описание таблиц схем, приведенных в разделе 3.1.
3.5.1. Объекты схемы DW
| Имя таблицы | СALLS | |||
|---|---|---|---|---|
| Описание | Тарифицированные вызовы | |||
| Табличное пространство | TBS_CALLS | |||
| Секционирование | Нет | |||
| Наименование поля | Описание | Тип данных | Длина | Null? | 
| CALLS_ID | Первичный ключ | number | (22,0) | N | 
| DT | Дата вызова | DATA | 7 | N | 
| VAL | Длительность вызова | NUMBER | (15,6) | N | 
| ... | ... | ... | ... | ... | 
3.5.2. Объекты схемы ODS
…Ниже представлен запрос к системным представлениям, возвращающий основные параметры таблиц заданной схемы базы данных Oracle.
select 	t.table_name,
 	ct.comments table_comment,
	t.tablespace_name,
	t.partitioned,
        c.column_name, 
	cc.comments column_comment,
        c.data_type,  
	DECODE(c.data_type, 
                      'NUMBER', 
                      '('||c.data_precision||','||c.data_scale||')', 
                      c.data_length) as data_length,  
        c.data_default, 
        c.nullable
from 	all_tables t, 
	all_tab_columns c, 
	all_col_comments cc, 
	all_tab_comments ct
where t.owner = '&OWN'
  and t.table_name = c.table_name
  and t.table_name = ct.table_name
  and c.table_name = cc.table_name
  and c.column_name = cc.column_name
order by 1,4
Следует отметить, что документ «Каталог базы данных» является отчетным и на практике пользы для специалистов проектной группы или группы сопровождения представляет мало. Гораздо полезней иметь модель данных, реализованную в каком-либо CASE-средстве.