Skip to main content
Version: 2023.1

Data Structures - Tables

A table is a data structure that organises data into rows and columns. However, in Genesis, a table is quite different.

Genesis tables

A Genesis table is an abstraction of a table from a physical database. It is made up of fields, indices and subtables

This is great, because it means that changes to the database don't change the Genesis table.

So, that means that you could change the database technology without having to change the table definition. A good way of thinking of this is that the table is on a different layer compared to the database.

Tables are defined in the -tables-dictionary.kts files as discussed in our data model documentation. Table records can be represented as a table entity, or as a DbRecord. They support read, write and subscribe operations.


For a table to be valid in Genesis, it must include the following:

  • unique table name
  • unique ID
  • At least one field to be the primary key