3.1.1.1 Data Store

 DataStore: An organized collection of data accessed by way of an implementation-specific API that MUST support the following operations:

  • Insert

  • Update

  • Delete

  • Query

Each DataStore MUST maintain the following:

Tables: A set of data elements (values) organized according to a model of vertical columns corresponding to fields of each data element with horizontal rows corresponding to the individual elements. Each table MUST maintain the following:

  • Name: A textual string containing the table's name.

  • Columns: A collection of items corresponding to the fields of the table's data elements. Columns MUST maintain the following list of properties (this list of properties is the column's metadata):

    • Name: A textual string containing the column's name.

    • IsKey: Set to TRUE to indicate the column that, together with the other columns whose IsKey properties are also set to TRUE, can uniquely identify each row in a table.

    • IsUnique: Set to TRUE to indicate the column that defines a field whose value is unique across all data elements in the table, and FALSE otherwise.

    • IsVersion: Set to TRUE to indicate the column that is used to track versions of changes applied simultaneously by multiple clients, and FALSE otherwise.

    • IsChaptered: Set to TRUE to indicate the column that is used to model child and parent table relationships, and FALSE otherwise.

    • IsNullable: Set to TRUE to indicate that the column can contain NULL, as defined in SQL-92 values (as specified in [FIPS127]), and FALSE otherwise.

    • Datatype: The data type of the column. See section 2.2.3.14.3.6.

  • Rows: A collection of items corresponding to the table's data elements.