# SNAC Control Metadata Each piece of first-order data in the database may have metadata associated with it. The information the database will keep track of is: * _source citation_ : The citation associated with this particular first-order data. * _sub citation_ : The part of the citation associated with this first-order data (i.e. "page 5"). * _source data_ : The text found in the citation related to this first-order data. This is an "as seen" field. * _descriptive rules_ : The rules associated with creating this first-order data from the source citation. * _language_ : The language in which the source data was found or user was working. * _script_ : The script in which the source data was found or user was working. * _note_ : The note from the user associated with this citation and first-order data. This specification leads to a SQL database with the following structure: ``` id int primary key default nextval('id_seq'), -- id for Metadata fk_id int , -- FK to data described fk_table text , -- table name for FK version int , -- version from version_history citation int , -- FK to source table sub_citation text , -- subcitation information source_data text , -- source data descriptive_rules int , -- FK to vocabulary language int , -- FK to vocabulary script int , -- FK to vocabulary note text -- human-readable note ``` This data will be used to build EAC-CPF source control blocks, as defined in [the EAC-CPF Output requirements](/Requirements/EAC-CPF Output.md). The user who made the assertion and created the first-order data and the associated timestamp will be pulled from the `version_history` table through the `version` foreign-key.