Data Dictionary Specs (***DRAFT***)
Purpose:
Convenient place to store and retrieve "metadata" about DB fields
Used by DBMAN for table creation and indexing
Produce clean (rather than generic) data output formatting
Each field in a DB table (e.g., pnt_src) will have a row in its corresponding
Data Dictionary (e.g., pnt_src_dd) with field attributes listed as follows:
n - Sequencial ID number for the field [1,2,...,N]; smallint
Ex: 16
name - Name of the field; char(18)
Ex: x_scan
dbtype - Type of field in Informix
[Most used: char(X),smallint,integer,decimal(P,S)],date]; char(18)
Ex: decimal(5.2)
null - Can NULL occur in this field? [no, yes]; char(3)
Ex: no
indexed - Is the field indexed? [yes, no; N>=2 for composite sets]; char(3)
Ex: yes
format - C format codes for output; char(TBD)
Ex: 8.2f
units - Units; char(8)
Ex: arcsec
desc - Description from SIS; char(MAX?)
Ex: "x (x-scan) position (U-scan coords)"
tbl_id - Table/relation number in which this field is stored [1,2,...,n]; smallint
Table naming convention (details TBC):
_1 ==> primary fields
_2 ==> secondary fields
...
_n ==> remaining fields
Ex: tbl_id=2 ==> The field is in secondary table "pnt_src_2"
=====================================================================================
Output "view" (column set) membership:
mini - Is this field a member of the mini view? [0=no,1=yes]; smallint
standard - Is this field a member of the standard view? [0=no,1=yes]; smallint
NOTE: Other (perhaps user-specific) views are TBD.
=====================================================================================
Parameters dependent on an Update Statistics (dbschema) or home-grown processing:
NOTE: Such parameters may be stored in 1 or more auxillary relations,
with only pointer(s) in this Data Dictionary.
nnulls - number of NULLS; integer
Ex: 0
min - minimum value; decimal(P,S)
Ex: 2
max - maximum value; decimal(P,S)
Ex: 15768
mean - mean value; decimal(P,S)
Ex: 2345.65
std - standard deviation; decimal(P,S)
Ex: 456.4
NOTE: Others will be desired. Details TBD.
Last update: 15-Apr-97 (Joe Mazz)