Tzunghaor Database Interface

This software is in development phase, use at your own risk! Tested with Firefox and Chrome only.

This is a web based interface for relational databases that uses configured relations to show meaningful labels instead of foreign keys.
For each database to be used, there must be a configuration file on the server. In these files one can define the relations between the tables, and the labels to be used for the tables. Multiple labels can be defined for any table. A label can be:

  • Field from the table,
  • SQL expression,
  • A foreign key: this will include all the labels from the foreign table.


Try the demo. Press the top left “school” button first to choose the demo database.
No user name or password is needed. Saving modifications to the database is not permitted in the demo.


The interface consists of three columns. From left to right:

  • Database column: the users can select the database and the table they wish to use.
  • Selection set column: here are saved sets of selected rows.
  • Active table column: here can the user see/select/modify/filter the chosen table’s data.

Database column

When a table is selected that has relations with other tables, additional buttons appear between the table buttons. When there are selected rows in the active table, one can change to an other table and watch only those rows, that are in relation with the selected rows. Actually this is only a speed-up of a two step selection set functionality.

Selection sets

The user can select records of the active table and create a selection set from it. Then the user can add records to the set, or delete it completely. Functions of selection sets:

  • By pressing a relation button in the set, the user can switch to the related table, and filter only those records, that are in the specified relation with the selection set’s records.
  • Filtering can be toggled on and off, regardless how the user navigated to the related table.
  • When there is a relation between the selection set and the active table, one can link the selection set with the selected records in the active table. If the relation is many-to-many, then unlinking is also possible. (For other relation types the user can set the appropiate foreign keys to NULL in the active table.)

Active table

By default, only the configured labels of the active table are visible. Checking the “Details” button shows all the fields of the table. These fields are editable.
Checking the “Foreign Labels” button shows all the labels of related tables that are not already shown as labels.
The user can select records by clicking on their labels. (Clicking on other fields will initiate editing.) Selecting multiple records is possible by holding the Control or the Shift key.
Besides editing existing fields, the user can delete or create new records. The “Clone” button will simply create as many new records as are selected and copy the selected content (excluding the primary key) into the new records.
Edits and new records are written to the database with the “Save” button.

The user can filter the shown records with the filter inputs located in the column header. Pressing the Enter key or the “Filter” button triggers the filtering. By default the filtering shows all records where the appropriate fields contains the given strings. Possible modifiers:

  • Writing ‘=’ at the beginning will require that the field contain only the given string.
  • Writing ‘>’, ‘<‘, ‘>=’, ‘<=’ at the beginning will filter using the respective relation
  • Writing ‘NULL’ will filter fields with NULL values.

Leave a Reply

Your email address will not be published.