Within the dictionary there are arrays of "Descriptors". These "Descriptors" describe various parts of a table and is where applicable sub-engines are registered. NexusDB has the following Descriptors:

Field - describes the Field data: name, data type, size, required, etc. In addition, it also specifies the Default Value descriptor.
Index - describes the Index (name, unique, etc.) and contains a Key descriptor to indicate which fields to index. It also has an associated Index sub-engine.
Key - describes a complete key which can be a composite of many Key Field descriptors. Also specifies the Key sub-engine.
Key Field - for a specific field specifies the Key Comparison object to use and the various attributes of this field (e.g. Ascending, Ignore Case).
File - describes various aspects of the file system file: block size, file type, extension, grow/increment size, and initial size.
Blob - indicates which Blob sub-engine is used for this table and potentially a Heap Descriptor.
Record - indicates which Record sub-engine is used for this table and potentially a Heap Descriptor.
Default Value - describes the default value for a particular field.
Heap - indicates which Heap sub-engine is used and has a Block Heap descriptor.
Block Heap - indicates which Block Heap sub-engine is used.
Autoinc - describes the autoinc engine
Locale - describes windows locale info for a tabledescriptor, field, or field in index
Encryption - describes the encryption engine
Fulltext - describes fulltext indexes
Referential integrity - describes RI between tables

The top level of the Data Dictionary consists of the main table's Table Descriptor, plus the descriptors that are used for the whole physical table (file). These are the (global) Locale descriptor, File, and Encryption descriptors.

The Table Descriptor contains all the descriptors needed for a database table; these are Field, Index, Record, Blob, Autoinc, Fulltext, Referential Integrity descriptors.

Each Table Descriptor contains a TableDescriptors array, where each entry again contains a Table Descriptor. This is how the tree-structure of child tables exists in the data dictionary.

Home | Site Contents | Documentation | NexusDB Manual V4 | Architecture and Concepts | NexusDB Concepts | Data Dictionary