Identify the different table types

Completed

Business Central contains different types of tables in terms of their technical implementation and functional use.

Table types by technical implementation

The four types of tables with a different technical implementation are:

  • Database tables - Most tables in the database are database tables, which are the type of table that you typically see. You have rights to read and write on database tables. Examples include the customer table, vendor table, and item table.

  • System tables - System tables are unique because these tables and their data are necessary for the system to function. System tables are saved in the database and they have object numbers above two million. Examples include the company table, profile table, and permission table.

  • Virtual tables - You can find the definition of a virtual table in the database, but the data is created at runtime, so it's not stored in the database. You as a developer don't have rights to write to virtual tables. The active session table is an example.

  • Temporary tables - A temporary table only exists in the memory of a client. It keeps an image or a copy of another database table. It has no data and is frequently used in posting routines and document reports.

Table types by functional use

Business Central distinguishes nine types of tables with a different functional use. The following diagram shows an example to help you get an idea of how these tables function in a solution.

Diagram example of how tables function in a solution.

It's important to know the difference between the different types of tables. When you're creating new tables, determine which type of table you need and follow the same structure as the existing tables. The table that you choose conforms your solution with the Business Central application. As a result, everyone can understand your solution and it's be easier to upgrade your solution later.

  • Master tables - Master tables contain information about the most important entities of the module, the primary subjects of its functional area. Examples include the customer, vendor, and item tables.

  • Supplemental tables - Likely, you'll enrich the master data with supplemental data. You can store data that is related to countries/regions, such as country code and description, in supplemental tables. These tables aren't as important as master tables, but they store extra information about the master data. Examples are the Currency and Language tables.

  • Setup tables - When you're creating a solution, you probably need configuration for a certain module. You can set up the configuration and organize the data in a setup table. The G/L Setup and Sales & Receivables Setup tables are examples of setup tables.

  • Register tables - This type of table functions as a table of contents for its corresponding ledger tables. It registers historical and transactional kinds of information. Examples include the G/L Register and Item Register tables.

  • Subsidiary tables - These tables contain a combination of information from master and/or supplemental tables, like item/vendor information. Examples of this type of table include the Item Vendor and FA Depreciation Book tables.

  • Ledger tables - In ledger tables, you can find the transactional information of the related functional domain. Examples are the Cust. Ledger Entry and Item Ledger Entry tables.

  • Journal tables - All transactions are booked through journals, so it's the primary transactional entry table. Examples are the General Journal table and the Item Journal table.

  • Document tables - When entering transactions, you need documents such as a sales quote and a sales order. Document tables are secondary transactional tables. These tables are always built out of two tables: a table with the header information and a table with the line details. For example, the Sales Header and Sales Line tables are examples of document tables. These tables contain information like sales orders and sales quotes.

  • Document history tables - The document history tables are historical versions of the document tables. When you post documents from the document tables, they go through a journal table and then end up in a document history table. The Sales Invoice Header and Sales Invoice Line are examples of document history tables.