Concepts

What Is a Database? Why Tables Look Alike but Lock Differently

8 min read#database#concept#beginner#google-sheets

Who this is forPeople managing data in Google Sheets who have been told by AI to move it to a database and want to know when to leave the sheet.

Series · AI automation glossary part 7 of 13, expand to see all
  1. What Is an API? Understanding It with One Snack Bar Order Slip
  2. What Is a Webhook? Understanding It With a Restaurant Waiting Ticket
  3. What Is a Server? A Computer That Stays On When Yours Doesn't
  4. What is a terminal? A plain-English guide to the CLI and shell
  5. AI automation terms explained: MCP, agent, context, skill, and secret
  6. Claude terms explained: Projects, Artifacts, Cowork, and scheduled tasks
  7. What Is a Database? Why Tables Look Alike but Lock Differently
  8. What Is Supabase? Tables, Auth, and Server Functions in One Place
  9. Auth and RLS Explained: Keep the Screen Open, Lock the Data
  10. What Is Google Apps Script? Running Your Code on Google's Servers
  11. What Is Playwright? Why AI Suddenly Opens a Chrome Window
  12. What Is Aside? An Agent Browser That Clicks Using Your Own Logins
  13. What Does AX Mean? AI Transformation vs. DX and 3 Workplace Bottlenecks

TL;DR: A Google Sheet is a table, and a database table is also a table. The difference is not the shape. It is whether the table holds up when many writers touch it at once, whether the table enforces its own rules, whether programs pass through a defined gate, and whether the table itself locks down who can see which rows.

When you ask AI to build an automation, at some point you hear: “Put this data in a database, not a sheet.” You have handled everything in one Google Sheet so far, and suddenly the word database appears with no clear sense of what is missing. The reason is simple. A sheet is a grid of rows and columns, and a table inside a database is also a grid of rows and columns.

This article starts from the fact that both are tables and walks through four differences, so that someone already using Sheets does not stop at the word database. After reading it, you should be able to judge whether the automation you are building is fine in a sheet or whether it is time to move to a database.

Contents

  1. A sheet is a table, and so is a database
  2. What is different, four differences
  3. When a sheet is enough
  4. Try it yourself, add a rule to a sheet

1. A sheet is a table, and so is a database

Below is the Google Sheets product screen. It is a table made of columns (Task, Priority, Status, Owner) and rows (Newsletter, Launch Event, Flyers…). The P0, P1, and P2 values in the Priority column are chosen from a dropdown.

Google Sheets product screen. A table with four columns, Task, Priority, Status, and Owner, and several rows. The Priority column is limited to P0, P1, and P2 through a dropdown
Google Sheets product screen. Rows and columns are visible, along with a dropdown that limits the values. Image: Google Workspace marketing material (provided by Google).

You can see the same kind of table in a database screen. Below is the news_archive table, which the author built by collecting news RSS feeds, opened in the Supabase dashboard.

Supabase table editor screen. The news_archive table has five columns, id, collected_at, category, keyword, and title, and several rows
The news_archive table, where the author collected news RSS feeds. Supabase table editor screen.

A table inside a database has the same shape. One row holds a single item, such as one person or one order, and one column holds one kind of value, such as name, age, or price. One more thing is added here: the key.

Structure of one table

Row (record) One single item One chunk of content in the table, such as one person or one order
→
Column (field) One kind of value An item every row shares, such as name, price, or registration date
→
Key (primary key) A value that tells rows apart If the same value is entered twice, the table rejects it

2. What is different, four differences

If the shapes are the same, why would anyone be told to move to a database? The four points below are where the two actually diverge. The “gate” point refers to the channel programs use to go in and out to read and write data, which is the same idea covered in the What is an API? article.

Google Sheets

  1. Simultaneous writes Built for people editing together Designed for several people viewing and editing together, not for several programs writing at the same time
  2. Rule enforcement Data validation is optional If no validation rule is set, any value goes in as is
  3. Gate One screen that people open By default, one screen opened with a mouse. It is not a gate built for several programs to pass through safely at once
  4. Locking Protected sheets and ranges You can restrict editing by specifying ranges, but you cannot show each logged-in person a different set of rows

A tool that is sufficient up to the point where one or two people manage it by hand

Database

  1. Simultaneous writes Assumes many programs write at once Includes rules inside the table (transactions) that set the order so several programs are processed one at a time
  2. Rule enforcement The table rejects directly If the value is not in the defined format, the table itself refuses it, no matter which program tries to enter it
  3. Gate One defined channel People and programs pass through the same channel, so automations can access it reliably without a screen
  4. Locking Row-level rules Limits which rows a person can see inside the table, depending on who is logged in

A tool that stays stable when many programs and many people come and go at once

3. When a sheet is enough

Knowing the four differences does not mean a database is always the right answer. It depends on what you are building.

Situation Recommendation
One or two people manage it by hand, no automation Google Sheets
Strict rules, login, or scheduled automation is needed Supabase
When paying for Supabase is a burden GCP (Google Cloud Platform, Google’s server rental service) or a home server (a computer you keep at home or in the office, see the What is a server? article)

If I had to reduce the decision rule to one sentence: will several programs touch this table at the same time, or does it stay at the level where a person opens the screen and manages it by hand? If the latter, a sheet is enough. If the former, it is time to move to a database. Among databases, the service covered in the What is Supabase? article provides tables, authentication, and scheduled execution in one place.

4. Try it yourself, add a rule to a sheet

You will feel it right away if you add a rule to a sheet yourself and see that a sheet can enforce rules too. All you need is a Google account and a sheet.

  1. Open a new document in Google Sheets.
  2. Select any column. Let’s say this is the column where you will record priority.
  3. From the top menu, open Data > Data validation.
  4. Set the criteria to choose from a list, and enter only three values: P0, P1, and P2. Do not open “Advanced options.” Save with the defaults. The default setting rejects values that are not in the list. (If you change it to “Show warning,” values not in the list still get in, so do not touch that for this exercise.)
  5. Type a value that is not in the list (for example, “High”) directly into an empty cell in that column.

If you left the default (reject), the moment you enter a value not in the list, the sheet refuses the input and shows an error message. What you just built is the “rule enforcement” from the diagram earlier. However, this rule is attached only to this one sheet file. If another program tries to enter the same data through a different gate, this rule does not apply.

Frequently asked questions

When should I use a database instead of Google Sheets?
Use Google Sheets when one or two people manage the data by hand with no automation. Move to a database when several programs write to the table at once, or when strict rules, login, or scheduled automation are needed.
What is a primary key in a database table?
A primary key is a value that tells rows apart. When a column is set as the key, the table blocks any row whose key value is already taken. A sheet does not block duplicates this way by default.

Want the full system? The Claude Code & Codex Skills guidebook collects the skills and subagents behind this blog, from $19.