Каталог базы данных (РД 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. Схемы базы данных

В данном разделе приводится перечень ролей (схем) базы данных, которые относятся к ХКД и их описание.

Например:
Для хранения данных корпоративного хранилища были реализованы следующие схемы:
  1. DW - предназначена для хранения детализированных фактических значений показателей, нормативно-справочной информации в многомерной форме по схеме «звезда». В данной области информация хранится N лет.
  2. SUM - <Приводится описание схемы>
  3. ODS - <Приводится описание схемы>
  4. STG - <Приводится описание схемы>
  5. SRC – предназначена для хранения данных, извлеченных из систем-источников данных, в формате интерфейсных таблиц.
  6. 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/dbsinit.ora
Управляющие файлы БД/prd/app/oracle/product/10.4.0/db/dbscontrol_001.ctl
Управляющие файлы БД /prd/app/oracle/product/10.4.0/db/dbscontrol_002.ctl
Управляющие файлы БД /prd/app/oracle/product/10.4.0/db/dbscontrol_003.ctl
Журналы транзакций/rlog/DWredo01.log
Журналы транзакций/ rlog/DWredo02.log
Журналы транзакций/ rlog/DWredo03.log
Журналы транзакций/ rlog/DWredo04.log
Журналы транзакций/ rlog/DWredo05.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Дата вызоваDATA7N
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-средстве.