The QC1 database project has five main components:
The database structure is described in this document.
The database configuration files are under control of the QC scientist. They are described here.
The tools to maintain the QC1 database are maintained and accessible to the maintainer of the database only (currently this is DFS).
The tool to ingest new QC1 data is called qc1Ingest. It is available as command line tool on the operational machines. Using this tool, the QC scientists have 'write' permission on the QC1 database entries (but not on its structure). The tool is described here.
The QC1 database splits into a number of tables per instrument. A table typically corresponds to a certain type of raw frames and contains the whole set of QC1 parameters derived for the products of that raw type. There is a one-to-one correspondence between the historical ASCII tables on the operational machines and the QC1 database tables.
E.g., UVES has a table uves_bias which hosts all QC1 parameters derived from the bias frames. Others are: uves_flat, uves_wave, uves_fmtchk, uves_orderdef, uves_std etc.
In addition, there is one general table per instrument which contains some configuration parameters and the names of the QC1 tables. Details can be found here.
All QC1 tables and their structure (key names and format) per instrument are under control of the respective QC scientist. The nature of that control is indirect. Configuration tables are filled and passed to the DFS responsible who then transforms the structure into database tables.
Technically the QC1 database is a relational database (without relations actually) where all entries and structures are manipulated and accessed through database commands. The language for dealing with databases is SQL (structured query language). All interfaces are wrappers around SQL queries. In addition to these interfaces, the knowledgable user can also interact with the database in a more direct way through customized SQL queries.