7 min read

New table or new view?

How to decide when to create a view vs a new table.

Managing your docs overall table schema is paramount for creating docs that will be easy to maintain and scale with your team. Tables in coda have the ability to be connected and communicate with each other. A table that is connected to another table is called a view (learn more about views here). When making new content in Coda, it is often best practice to use the One Big Table schema to keep all of your information connected. Before creating any new tables, we always want to take a look and see if instead of starting from scratch, we can create a connected view to an existing table instead. This guide will walk you through how to decide if you should make a new table OR create a connected view.
What you'll learn:
  • Characteristics of tables
  • Characteristics of views
  • When to use one vs the other
What you'll use:
  • Tables and views
  • Columns
  • The Doc Map
  • Cross-doc

Why is it helpful to create a view when possible?

In one phrase? Change management.

These 3 charts are connected views of the same table. When one is updated, all reflect the change.

Creating a view of an exiting table links the information in those tables together. All changes to row information are reflected across all views. Let’s take a roster, for example. If you have connected views of a single roster table, if you add a new team member to one, they will automatically be added to the other. Someone gets married and changes their last name? Just update it in one view and all the other views will have their new last name as well. It's also quicker to add a view rather than a whole new table. Instead of setting up all the columns and inputting all the information from scratch, everything is already there and you can jump to customizing how it looks in this specific view.

Does my view have to look exactly like the parent table?

No! Connected views share row information, but can have separate display settings. You can change the following things on a table without having any impact on the other views connected: However, some changes will be reflected in both views, including:
  • Row information
  • Column names
  • Columns available to be exposed

When might you not want to create a view?

Connectivity, the best part of creating views, can also be a drawback in certain cases. Any change you make in information in one connected view will also be reflected in the other views. To best explain, let’s walk through what might feel like a silly example. Let’s say you're making a roster for your team, and you already have table in your doc that lists out all employees in the company. It’s a part of your specific team’s culture that you use silly nicknames for each other. You could create a connected view of the whole company roster and filter it down just to your team. However, if your team decides they want to go by their silly nickname of Bugs Bunny instead of legal name and change it on your team's roster, they are now going to be Bugs Bunny on the whole employee roster too.

How do I know what tables already exist in my doc?

Use the Doc Map in your doc to quickly see what already exists. Learn how here.

Can I connect to a table in another doc?

Yes! Using Coda’s Cross-doc pack, you can insert a connected view of any table you have access to into any other doc. Continuing with our roster example, many companies have an official company roster that lives in its own doc. Using Cross-doc, you can bring that roster into your doc and filter it to show just your own team. Learn more about Cross-doc here.

Was this helpful?