Table of Contents

About Your Database

Lesley Updated by Lesley

How the Data Section Works

The first step in building your app is defining your data.

You do this in the Data section of your builder, which gives you tools to define the data your app will use and store that data in a database.

You can access the Data section at any time by clicking the "Data" tab on the left-side of the Builder:

Tables and Fields

Knack uses tables and fields to define your data.

You'll create fields for each piece of data you want to store and manage. For example, if you wanted to build an app to manage Contacts, you may include fields for name, email, and phone number.

These fields are grouped into tables. Think of a table like a spreadsheet, and each field like a column in that spreadsheet.

Here’s an example of a Inventory Manager app, with a Products table selected for editing:

All your tables are listed on the left. Click a table to edit its fields and settings. Add a new table with the green "+" button next to the ‘Table’ label.

  1. The selected table's fields are listed to the right. Click a field to edit and format it. Add fields by clicking the “Add Field” button above the field list then clicking on the type of field you want to add (like short text or number).
  2. The app’s user roles are stored here. They work similarly to other tables, but include special fields for managing user logins like Name, Email, Password, User Status, and User Roles. User roles are optional and may not be needed if you don't need your users to log in to access your app.

Click here to learn more about Tables and Fields.

Connecting Tables Together

Most apps will need more than one table. When this is the case, these tables will likely be connected to one another.

Connections define how the records in one table will relate to records in another table. Here are some examples of different connections you can create:

  • Many employees can be connected to one company.
  • One student can be connected to one application.
  • Many managers can be connected to many projects.

Each table’s connections are listed to the right:

When you add a new connection, it creates a special connection field in that table. These fields can be used like any other field throughout your app. If you add a connection field to a form, it will operate as a "look-up" where you can select a record to connect to:

Connections will open up powerful functionality you can add to your apps:

  • Displaying parent-child records in your interface. For example, click on a company and view all the employees connected to that company
  • Running formulas to find the totals and averages of child records. For example, add up all the employee salaries for each company.
  • Showing records connected to the logged-in user. For example, have each company log in and just view the employee records connected to their company, rather than viewing all the employee records stored for every company. Click here to learn more about Connections.

What Should My Tables Be?

For most applications, defining the tables is very straightforward. If this is less obvious here are some good ways to think about your tables:

  • Think about your fields. It can help by starting to think about the individual type of data you have. List all the fields your app will need to display and manage, and then group them into the most obvious tables.
  • Think about your pages. If you're adding forms, what inputs will those forms contain? If you want to display a table of records, what will the columns be? Ask yourself if each of the inputs or columns sound like they belong to the same group. If not, you may want to add them to different tables.
  • Think about single versus plural. If you have something that can be plural grouped alongside something that is single, then you may want break up the plural items into a separate table. For example, let's say you want to track a company (single), but each company can have multiple employees (plural). In this case, it makes sense for employees to be a separate table that would connect to the company.
  • Think about repeating data. If you are repeating the same information over and over again in your records, you may want to separate that info into its own table and connect it to your original records instead. This way, you will only have to update it once.

Click here to learn more about Planning your Tables.

Working With Records

Once you add your tables and fields, you can start to store records for each table.

Click on the Records tab on the left side of the page to access records for each table:

Each record will be actual data based on the fields you added for that table. For example, if you added an image field, you'll be able to upload an image for each record.

Click here to learn more about managing records. 

Records can be added to the database directly in the builder by clicking the "Add Record" button or by importing the data via CSV. Records can also be added through the live application using forms.

Note that some apps make sense to populate directly through the builder:

  • Record searches
  • Product catalogs
  • Business directories

The primary purpose of these apps is to display or search records, so you can add those records directly to the database.

Other apps will add records when your users fill out forms in the live application:

  • Parents filling out a form to register children for a camp
  • Job hunters filling out a form to apply for open jobs
  • Employees filling out forms to complete a project

These apps are using forms to add and manage records, so much of the database will be populated by the app itself.

Click here to learn more about adding, updating or deleting records via the live app.

Importing From Spreadsheets

You can quickly get your data into your app by importing spreadsheets. Records can be imported into an existing table or to create a new table.

To add to or update an existing table, select the table from the left-hand menu, then click the "Records" tab and the "Import" link in the top bar:

To add a new table with an import, click on the Data tab on the left side of the screen, then click on the green "+" button above the list of tables:

Here, you will have the option to create a new table by import:

Click here to learn more about importing records.

User Records

User records are special records that represent users who can log in and access your app.

A user record has required fields for Name, Email, Password, and others that make it possible to manage logins. Otherwise, they operate just like normal tables: you can add additional fields and connect them to other tables.

Click the "Enable Users" link to activate user logins:

Click here to learn more about users and logins in Knack.

How Will My App’s Pages Work With My Tables and Fields?

Your app’s pages are what your users see to view and update the records in your database. Each page is made up of views: visual elements like grids, forms, and searches.

When you add a view, you’ll select which table that view works with. All the fields from that table will then be available to add to the view. For example, if you added a grid to display Company records, you could add any of the Company fields as columns in that grid.

Click here to learn more about building your live app pages.

How did we do?

About Your Live App

The Knack Dashboard & Builder