The lowest level of abstraction provided by this DDL is the
description of an individual data item.
Collections of related data items are organized in categories.
Categories may be thought of as tables in which each repetition of
the group of related items adds a row.
Within a category, those data items which determine the uniqueness of their
group are designated as key items in the category. No data item group
in a category is allowed to have a set of duplicate values of its key items.
Each data item is assigned membership in one or more categories.
Parent-child relationships may be specified for items which belong to
multiple categories. These relationships permit the expression
of the very complicated data structures required to describe
the science of macromolecular structure.
Other levels of abstraction in addition to category are also supported. Related categories may be collected together in category groups, and parent relationships may be specified for these groups. This higher level of association provides a vehicle to organize a large complicated collection of categories into smaller more relevant and potentially interrelated groups. Within the level of a category, subcategories of data items may be defined among groups of related data items. The subcategory provides a mechanism to identify that, for example, the data items month, day, and year collectively define a date.