# Tables

> Tables hold the records your business tracks, such as customers, orders or jobs. Learn when to create a table, how to set it up, and how to manage it.

A table holds one kind of record. Each row is one record, and the [columns](/docs/columns) are the fields on it. A Customers table has one row per customer. An Orders table has one row per order.

Tables live in your organization's database and are listed in the **Database** section of the sidebar.

## When to create a table

Create a table for each thing your business tracks on its own: a customer, an order, a line on that order, a vehicle, a part, a site.

Add a column to an existing table when the fact describes that one record and there is only one of it, such as a customer's email address.

Create a separate table when:

- there can be many of the fact for each record, such as lines on an order or visits on a job,
- the fact has its own status, files or people,
- or other records need to link to it.

Then connect the tables with a [Relation](/docs/columns/relation) column.

> **Tip:** Do not split one kind of record into two tables just to hide some rows from certain people. Keep one table and use [access filters](/docs/base-views) instead.

## Create a table

1. In the sidebar, find the **Database** section and choose **Create table**.
2. Enter a **Table Name**. Use the words your team already uses, for example `Customers` or `Work orders`.
3. Optionally add a **Description** so others know what the table is for.
4. Leave **Time Series Table** turned off, unless the table is for high-volume readings (see below).
5. Choose **Create**.

The table opens on its **Everything** tab, where you can add columns and rows right away. To add a column, choose the **+** button at the right end of the column headers. See [Columns](/docs/columns).

## Name, icon and cover

A table's name, description, icon and cover are its identity. They appear at the top of every [access filter](/docs/base-views) of that table. Renaming the title at the top of an access filter renames the table itself, not the filter.

## Choose the record title

The record title is the column used as each record's name, for example in breadcrumbs and when someone picks a record in a [Relation](/docs/columns/relation) column. Choose something short that people recognize, such as a customer name or an order number.

1. Open a view of the table and open its view settings.
2. Choose **Record name**.
3. Pick the column to use.

## What every row already has

You do not need to create these. Every row automatically has:

- a unique internal identifier,
- the time it was created and last changed,
- the person who created it and who last changed it,
- an archived state.

If you want people to see, filter or sort by these values, add a column of type **Created At**, **Last Modified At**, **Created By** or **Last Modified By**. See [System](/docs/columns/audit). For a readable number such as `INV-1042`, add an [ID](/docs/columns/id) column.

## Archive or delete rows

**Archive** hides a row from normal screens without deleting it. You can bring it back at any time with **Revert Archive**. To see archived rows, change a view's filter to show archived records, or active and archived records.

Deleting a row is a separate action. [Business rules](/docs/business-rules) can react to creating, updating, deleting and restoring rows separately.

## The table page

Each table has a settings page. To open it, find the table in the **Database** section of the sidebar, open its menu and choose **Settings**.

The table page has four tabs:

- **Overview**: the number of records, storage, the record title and other details.
- **Properties**: every column in the table. Select one to edit it.
- **Views**: the views built on this table.
- **Access**: who can see this table in the Database section. See [Access](/docs/access).

Choose **Open data** to go back to the table's records.

## Lock a table

Locking a table freezes its structure: nobody can add, change or remove columns. People can still create and edit rows. To lock a table, open the menu in the table's header and choose **Lock table**. Choose it again to unlock.

## Who can see a table

Access rules on the table decide who can see it in the **Database** section. Which rows and columns people see is decided by [access filters](/docs/base-views), not by the table's access rules.

Most people never open tables directly. They work in [views](/docs/views) that you place in folders for them.

> **Note:** Per-table access rules are available on the Pro plan and above.

## Time series tables

A time series table is built for large volumes of time-stamped readings, such as sensor data or meter readings. Turn on **Time Series Table** when you create the table. A required **Recorded At** time column is added automatically.

You can choose how long to keep old data and when to compress it.

Time series tables have some limits:

- Rows are added through the API and cannot be edited or deleted in the app.
- Business rules and webhooks do not run on them.
- AI search is not available.
- Relation, Rollup, Formula, Rich Text and ID columns are not available.
- You cannot switch the table back to a standard table, or change the time column.

## Delete a table

1. Find the table in the **Database** section of the sidebar and open its menu.
2. Choose **Delete Table**.
3. Type the table name to confirm.
4. Choose **Move to Trash**.

If other tables still link to this one, remove those links first. You can create a backup before the table is deleted.

The table and its views stay in Trash for 30 days. You can restore them from there. After 30 days they are permanently deleted.

## Related

  - [Columns](/docs/columns): Every column type and when to use it.
  - [Access filters](/docs/base-views): Limit the rows and columns each role sees.
  - [Views](/docs/views): Build working screens on top of a table.
  - [Business rules](/docs/business-rules): Check and fill in data on every change.

---

Source: https://community.sapugo.app/docs/tables
