Connection Types
Understanding the different types of connections available in Knack helps you design effective data relationships.
What You'll Learn
This guide explains the different connection types available in Knack, with a focus on Many-to-One and Many-to-Many relationships. You'll discover when to use each type and how they affect your data structure.
Types of Connections
Many-to-One Connections (Most Common)
In a Many-to-One connection, many records in the current table can be linked to one record in the connected table
- One record connects with multiple records in another table
- Example: Many Contact records can connect with the same Company. Each Contact record can select only one Company to connect with.

It's like having a dropdown menu in the Contacts table where you can select one Company from the complete list of available Companies.
Many-to-Many Connections
In a Many-to-Many connection, records in both tables can be linked to multiple records in the other table.
- Multiple records in one table connect to multiple records in another table
- Example: Each Student can enroll in multiple Courses, and each Course can have multiple Students.

It's like having a dropdown menu in the Students table where you can select many Courses for each Student, from a complete list of available Courses.
One-to-One Connections
With a One-to-One connection, each record can link to one record in the connected table
Example, each User has exactly one User Profile, and each User Profile belongs to exactly one User

It's like having a dropdown menu in the Users table where you can select one Profile from a list of Users
Connections Best Practices and Examples
Simple Rule: Ask 'What Contains What?'
- The container is the "one"
- The contents are the "many"
- Create the connection field on the "many" tableFor example:
- Invoice contains Line Items → Create the connection field to Invoices while on the Line Items table
- Company contains Contacts → Create the connection field to Company while on the Contacts table
Common Many to One Examples:
Project Management
Tables: Tasks and Projects
- Each Task belongs to one Project, and one Project can have many Tasks
- While on the Tasks table, create a connection field to the Projects table
Education
Tables: Students and Schools
- Each Student attends one School, and one School can have many Students
- While on the Students table, create a connection field to the Schools table
E-commerce
Tables: Products and Categories
- Each Product belongs to one Category, and one Category can contain many Products
- While on the Products table, create a connection field to the Categories table
Common Many to Many Examples:
Determine the "many" table. After the connection is created, then while on the "many" table, you'll be able to select multiple options in the connection field dropdown.
Event Management
Tables: Events and Speakers
- Each Event can have multiple Speakers, and each Speaker can present at multiple Events
- Create connection field on either table depending on your workflow (commonly on the Events table for event planning workflows, where new records are created more often)
Course Registration
Tables: Students and Courses
- Each Student can enroll in multiple Courses, and each Course can have multiple Students
- Create connection field on either table depending on your primary workflow (commonly created while on the Courses table, to easily add and remove students from Courses)
Content Management
Tables: Articles and Tags
- Each Article can have multiple Tags, and each Tag can be applied to multiple Articles
- Create connection field on either table depending on your workflow (commonly created while on the Articles table for content organization)
Common One to One Examples:
Determine the "one" table. After the connection is created, then while on the "one" table, you'll be able to select one option in the connection field dropdown.
User Profiles:
Tables: Users and User Profiles
- Each User has exactly one User Profile, and each User Profile belongs to exactly one User
- Create the connection field on either table (often on User Profiles for detailed information management)
Order Processing:
Tables: Orders and Shipping Information
- Each Order has exactly one Shipping Information record, and each Shipping Information belongs to exactly one Order
- Commonly created on the Shipping Information table
Employee Management
Tables: Employees and Employee Details
- Each Employee has exactly one Employee Details record for sensitive information
- Create the connection field while on the Employee Details table to limit sensitive data access
Choosing the Right Connection Type
Consider these factors when selecting a connection type:
-
Data Entry Flow: Where will users primarily enter data? This can inform where to place the connection field.
-
Reporting Needs: What reports or views will you need to create from the connected data?
-
User Interface: How will users interact with the connections? Which approach would make selection most intuitive?
For best results, we recommend using either Many-to-One or Many-to-Many connections, even though other options are available. These two connection types cover most use cases and provide the most robust and efficient ways to structure your data.
Updated about 1 month ago