Database entries

The database consists of different tables, which connect with one to many relations. The relations are specified using a "parent id" on the children elements.

UID

UID is a structure storing instrument serial number and a timestamp, thus providing a unique identifier

FieldType
instrument_serialint32
timestampint32

The instrument_serial field doesn't use first 5 bits, so we use them as a counter. The counter helps us when data is saved multiple times in a single second.

The timestamp field is in seconds since EPOCH (01-01-1970).

Project

Project is a top-level structure, which stores a name and code.

FieldType
Project IDUID
Project codestring
Client codestring
Site codestring
Time of last updateint32?

Test Plan

Test plan is a top-level structure, which defines a testing procedure.

FieldType
TestPlan IDUID
TestPlan codestring
TestPlan namestring
Settings[ResultSetting]
Descriptionstring?

Step

Step is a structure that holds results, measurements, settings, instructions and sequence number. It can be found in both Test Plans and Workspaces.

FieldType
Step IDUID
Parent IDUID
Sequence numberint32
Results[ResultSetting]
Measurements[Measurement]
Settings[ResultSetting]
Instructionstring?

Measurement

Measurement holds a measurement number, results and settings.

FieldType
Measurement numberint32
Results[ResultSetting]
Settings[ResultSetting]

DUT

Dut structure represents the device under test.

FieldType
DUT IDUID
DUT Codestring
Project IDUID
Testplan IDUID?
Results[ResultSetting]
Last updateint32?

ResultSetting

ResultSetting is a structure that holds values common to both Result and Setting.

FieldType
Name enumint32
ValueResultSettingValue?
LimitLimitValue?

ResultSettingValue

ResultSettingValue stores either Numeric or Descriptive values.

FieldType
Numeric valuefloat?
Descriptive valueint32?

LimitValue

LimitValue stores the low and high values of the limit.

FieldType
Limit lowfloat?
Limit highfloat?