Notion Databases: Properties, Views and Relations Explained
Practice4 minInnovialabs editorial team
In short
A Notion database is a set of pages with typed properties; well-chosen properties enable filtering and sorting, views show the same data for different jobs, and relations connect databases without duplicating anything.
The essentials in one minute
A Notion database is a collection of pages that all share the same set of properties. The same records can be shown in different views: a table for bookkeeping, a board for status, a calendar for deadlines. Relations connect records across databases, such as tasks to projects, so you never copy data.
The rule of thumb: design the properties first, then build the views.
Step 1. Create the database
- On an empty page, type
/databaseand pick Database – Full page or Database – Inline. - A full-page database works as a standalone section ("Tasks", "Clients"). Inline fits when the table lives inside a document.
- Give it a clear plural name: "Tasks", "Projects", "People".
Each row is a full page: you can write text, add checklists and attach files inside it.
Step 2. Choose property types
The property type decides how you can filter and sort. The main ones:
| Type | Use it for | Example |
|---|---|---|
| Title | Record name, always present | "Build landing page" |
| Status | Work stages grouped as To-do / In progress / Complete | Backlog, Doing, Done |
| Select | One value from a list | Priority: High |
| Multi-select | Several tags | Frontend, Design |
| Person | A workspace member | Assignee |
| Date | A date or a range | Due, Sprint period |
| Number | Numbers with formats like currency or percent | Budget |
| Checkbox | Yes/no | Paid |
| Files & media | Attachments | Contract PDF |
| URL / Email / Phone | Links and contacts | Client website |
| Relation / Rollup / Formula | Links and calculations | Project, Progress |
There are also system properties: Created time, Created by, Last edited time and ID for unique numbers.
Practical rules:
- Use Status, not Select, for work stages: it groups values and works better with boards.
- Never store the assignee as text — use Person, or you lose the "My tasks" filter.
- If a list has more than a dozen values and keeps growing, it probably deserves its own database and a relation rather than a Select.
Step 3. Build views
Click + next to the current view name and pick a type. Each view has its own filters, sorts, grouping and visible properties, while the data stays shared.
- Table — full overview and bulk editing.
- Board — a Kanban board grouped by Status or Select. Dragging a card between columns updates its status.
- Calendar — records placed by a Date property. Good for deadlines and content plans.
- Timeline — bars across a date range, handy for roadmaps.
- List and Gallery — a compact list and cards with covers.
Filters worth creating right away
- "My tasks":
Assignee→contains→Me. Every member sees their own work. - "Overdue":
Due→is before→TodayandStatus→is not→Done. - "This week":
Due→is within→This week.
Combine conditions into AND / OR groups with the advanced filter. Name views by purpose: "My tasks", "Team board", "Deadlines".
Step 4. Link databases with relations
Example: a "Projects" and a "Tasks" database.
- In "Tasks", add a Relation property and select the "Projects" database.
- Turn on the option to show it on the related database so the relation is two-way: each project now lists its tasks.
- Set a limit of one project per task if that is how your process works.
On top of the relation you can add a Rollup in "Projects", for example the number of tasks or the percentage completed.
Linked views
On a project page, insert /linked view of database, choose "Tasks" and filter by the current project. The project now has its own task board inside it.
Common mistakes
- One database for everything. Tasks, clients and notes in one table quickly become unmanageable.
- A copy of the database per team. Use one database with filtered views instead.
- Too many properties. Show only what each view needs and hide the rest.
- Text instead of a proper type. Dates typed as text and people typed as names cannot be filtered.