LTPDA Toolbox | contents | ![]() ![]() |
An LTPDA repository has at its core a database server (in fact, a MySQL server). A single MySQL server can host multiple databases (LTPDA repositories). A single database/repository comprises a particular set of database tables. These tables hold meta-data about the objects stored in the database.
Since the core engine is a MySQL database, in principle any MySQL client can be used to interface with the repository. In order to submit and retrieve objects in the proper way (entering all expected meta-data), it is strongly suggested that you use the LTPDA Toolbox client commands submit and the From Repository constructors, or the LTPDA Workspace Browser.. In addition, the LTPDA Workbench has full built-in support for interacting with LTPDA Repositories.
Any standard MySQL client can be used to query and search an LTPDA repository. For example, using a web-client or the standard MySQL command-line interface. In addition, the LTPDA Toolbox provides two ways to search the database: using the workspace browser, or the LTPDA Workbench.. It is also possible to use the Visual Query Builder provided with the MATLAB Database Toolbox for interacting with a repository.
A MySQL database comprises a collection of tables. Each table has a number of fields. Each field describes the type of data stored in that field (numerical, string, date, etc). When an entry is made in a table a new row is created. Interaction with MySQL databases is done using Structured Query Language (SQL) statements. For examples see MySQL Common Queries.
The database for a single repository uses the tables as shown below:
As you can see, each object that is submitted to a repository receives a unique ID number. This ID number is used to link together the various pieces of meta-data that are collected about each object. In addition, each object that is submitted is check-summed using the MD5 algorithm. That way, the integrity of each object can be checked upon retrieval.
In order to access a particular repository you need:
An LTPDA repository consists of the following database tables:
The objs table stores the XML representation of the submitted object. At this point, each object in the database is assigned a unique identifier. Together with the database name and hostname/ip of the server, this forms a unique tag for all LTPDA objects.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification number for all LTPDA objects in this database. This value is the link between all database tables. |
hash |
text |
An MD5 hash of the XML representation of the object. |
xml |
longtext |
The XML representation of the object. This field can be dumped directly to an XML file and should be readable in LTPDA. |
The objmeta table stores various pieces of information associated with the object being submitted. The aim of this table is to provide a lot of useful fields on which to perform searches and queries.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification for all entries in this table. |
obj_id |
int(11) |
The object id of the object in the objs table. |
obj_type |
text |
The (LTPDA) class of this object. |
name |
text |
The user-assigned name of this object. |
created |
datetime |
The date and time this object was created. |
version |
text |
The CVS tag of the object constructor code. |
ip |
text |
The IP address of the machine which submitted the object. |
hostname |
text |
The hostname of the machine which submitted the object. |
os |
text |
The operating system of the machine which submitted the object. |
submitted |
datetime |
The date and time the object was submitted. |
experiment_title |
text |
A title for the experiment associated with the object. |
experiment_desc |
text |
A description of the experiment associated with the object. |
analysis_desc |
text |
A description of the analysis associated with the object. |
quantity |
text |
If applicable, the physical quantity associated with the data in the object. |
additional_authors |
text |
Any additional people involved in creating this object. |
additional_comments |
text |
A free-form field of additional comments. |
keywords |
text |
A list of keywords associated with the object. |
reference_ids |
text |
ID numbers of any other objects associated with this object. |
validated |
tinyint(1) |
A boolean field indended to indicate validated objects. |
vdate |
datetime |
The date/time the object was validated. |
The transactions table records all user transactions. A transaction corresponds to submitting or retrieving a single or a collection of LTPDA objects.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification number this table entry. |
obj_id |
int(11) |
The object id of the object in the objs table. |
user_id |
int(11) |
The unique ID number of the user who carried out the transaction. |
transdate |
datetime |
The date/time of the transaction. |
direction |
text |
The direction of the transaction: 'in' or 'out'. |
The users table stores information about the users allowed to access the database.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification number for all entries in this table. |
firstname |
text |
The firstname of the user. |
familyname |
text |
The family name of the user. |
username |
text |
The username (login name) of the user. |
|
text |
A valid e-mail address for the user. |
telephone |
text |
A telephone numnber for the user. |
institution |
text |
The institution of the user. |
The collections table stores virtual collections of objects submitted to the database. When the user submits one or more objects at the same time, this constitutes a collection. In this case a collection ID number is assigned next to a list of the object IDs in the collection. This allows the user to retrieve collections of objects based on the collection ID alone; no information about the individual object IDs is required.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification number for this collection of objects. |
nobjs |
int |
The number of objects in the collection. |
obj_ids |
text |
A comma separated list of object IDs. |
As well as the main database tables, additional meta-data tables are used to capture extra meta-data about some of the LTPDA objects.
The ao table stores additional meta-data specific to analysis objects.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification number for all entries in the table. |
obj_id |
int(11) |
The unique ID of the object. |
data_type |
text |
The type/class of the data stored in the AO. |
data_id |
int(11) |
The unique ID of the data object listed in one of the data meta-data tables. |
description |
text |
The description property of the AO. |
mfilename |
text |
The filename of any m-file attached to the AO. |
mdlfilename |
text |
The filename of any SIMULINK model file attached to the AO. |
The miir table stores additional meta-data specific to miir filter objects.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification number for all entries in the table. |
obj_id |
int(11) |
The unique ID of the object. |
in_file |
text |
The input filename (if applicable) used to create the filter object |
fs |
int(11) |
The sample rate of the data the filter is designed for. |
The mfir table stores additional meta-data specific to mfir filter objects.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification number for all entries in the table. |
obj_id |
int(11) |
The unique ID of the object. |
in_file |
text |
The input filename (if applicable) used to create the filter object |
fs |
int(11) |
The sample rate of the data the filter is designed for. |
The tsdata table stores additional meta-data specific to tsdata (time-series data) objects.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification number for all entries in the table. |
xunits |
text |
The X-units associated with this time-series. |
yunits |
text |
The Y-units associated with this time-series. |
fs |
int(11) |
The sample rate of the data the filter is designed for. |
nsecs |
int |
The duration (number of seconds) of data in the object. |
t0 |
datetime |
The date/time associated with the start (first sample) of the time-series. |
The fsdata table stores additional meta-data specific to fsdata (frequency-series data) objects.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification number for all entries in the table. |
xunits |
text |
The X-units associated with this time-series. |
yunits |
text |
The Y-units associated with this time-series. |
fs |
int(11) |
The sample rate of the data the filter is designed for. |
The cdata table stores additional meta-data specific to cdata (1D data) objects.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification number for all entries in the table. |
xunits |
text |
The X-units associated with this time-series. |
yunits |
text |
The Y-units associated with this time-series. |
The xydata table stores additional meta-data specific to xydata (2D data) objects.
Field | Data Type | Description |
---|---|---|
id |
int(11) |
A unique identification number for all entries in the table. |
xunits |
text |
The X-units associated with this time-series. |
yunits |
text |
The Y-units associated with this time-series. |
![]() |
Working with an LTPDA Repository | Connecting to an LTPDA Repository | ![]() |
©LTP Team