Table of Contents

About Your Database

Sarto Jama Updated by Sarto Jama

How the Schema Section Works

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

You do this in the Schema 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 schema section at any time by clicking the "Schema" tab on the left-side of the Builder:

Objects and Fields

Knack uses objects 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 objects. Think of an object like a spreadsheet, and each field like a column in that spreadsheet.

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

All your objects are listed on the left. Click an object to edit its fields and settings. Add a new object with the green "+" button next to the ‘Object’ label.

  1. The selected object'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 objects, 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 Objects and Fields.

Connecting Objects Together

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

Connections define how the records in one object will relate to records in another object. 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 object’s connections are listed to the right:

When you add a new connection, it creates a special connection field in that object. 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 Objects Be?

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

  • 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 objects.
  • 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 objects.
  • 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 object. 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 object 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 object 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 Objects.

Working With Records

Once you add your objects and fields, you can start to store records for each object.

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

Each record will be actual data based on the fields you added for that object. 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 object or to create a new object.

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

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

Here, you will have the option to create a new object 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 objects: you can add additional fields and connect them to other objects.

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 Objects 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 tables, forms, and searches.

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

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

How did we do?

About Your Live App

The Knack Dashboard & Builder