This is Part 2 of 7 in the Notion Database series. Read Part 1 | The Power of Notion Databases
What are databases
Databases, defined at their most fundamental level, are structures for our data. They provide this structure through their ability to add metadata to the data within. In Notion, we place pages inside a database to unlock the ability to use this metadata in useful ways. There are some programs that take a completely different approach. Instead of putting a page inside a database, you “attach” any number of properties to the item and the program essentially matches all items together by those properties. These are often called node-based or graphical programs and essentially everything is one “database.” But we digress. While there are pros and cons to each, we’ll just be talking about the Notion flavor – the database: traditional style.
So let’s talk about Notion specific databases. You “house” pages within a database and now that’s where they “live.” They are considered a “sub-page” of that database. And yes, to get technical, a Notion database is a type of block/page just like everything else. It has its own unique URL to prove it. Just sitting in the database, there’s not much to show. We need to add properties, and do so smartly.
Introducing Data “Types”
I want to introduce you to a underlying concept that will help you make sense of properties, but will also help you if you ever decide to jump deeper in with formulas – and that’s the data type. Right now, you’re reading a line of text, more precisely a string of text. String is a data type that can include any characters you type with including numbers. The “Text” property supports exactly that, strings of text. The number property uses the number data type (on the nose). While the string data type supports numbers, it does not understand them as numbers, it understands them as characters in a line of text. The number property does not support letters at all.
This is important because while a few different properties may show you what you want to see, picking the right data type to show it will unlock much more powerful features. For example, by using the number property, Notion understands it as a real number and can perform mathematical calculations on it. It can also format the numbers in many different ways like monetarily, or even as a percentage bar. It cannot do that if you put your numbers in a text column.
So we have this list of properties in order to support the various data types that Notion understands how to work with. Some of them are more nuanced by that’s the gist of it. Each property is different for a reason. It will show a different type of data.
Every notion property and its type
Let’s end this article with the full list of available properties, they’re data type, and summary of each! The list may seem daunting at first but trust me, this will be one of the most valuable things you can learn about databases and most of them are dead simple. You’ll more than likely end up loving this more than anything else in Notion if you come to understand it.
The list has subjectively been divided into three categories of properties: common, automatic, and AI enabled.
Common Properties
Text: string
- The text property allows you to add any text. A common use is for a “Description” field where you can add ad hoc information to help the user know a little more about the item.
Number: number
- The number property allows you to enter any number. You can format it in many different ways like monetary, percentage, as decimals, and etc. You can also show the number as a progress bar (it will expect a percentage number – any decimal number between 0 and 1).
Select: string
- The select property allows you to pre-fill the field with pre-defined options and create more options on the fly. Very useful for designating types – is the item “red” or yellow” – and not relying on the text column where users can introduce typos. Selects only allow you to choose one option at a time for each item in the database.
Multi-select: array of strings
- The multi-select property allows you to pre-fill the field with pre-defined options and create more options on the fly. Very similar to the Select property but the multi-select allows the user to choose one or more options per item. Useful for “tagging” items with any number of identifiers at will.
Status: string
- The Status allows the user to create and choose an option from a list, but also places the options within one of three pre-defined and unchangeable groups. These groups are project management oriented and are “To-do”, “In progress”, & “Complete”. You can show these as select options or also, not as widely known, as checkboxes. If the item is one of the In progress options when its shown as a checkbox, it will show as a checkbox with a dash through it.
Date: date
- The Date property allows the user to enter a date. It can be formatted in a few different ways, including relative (”Yesterday”, “Tomorrow”, etc.) but it understands it as a distinct point in time. You can choose whether to use an end-date and a specific time. If you do not choose a time, it won’t show a time, but under the hood, it’s designated as midnight.
Person: array of notion accounts
- The person property allows you to pick from a list of the user accounts that are members or guests of your workspace. This allows you to assign tasks or ownership at the account level and leverages Notion as the software by sending them notifications. Pro-tip: you can filter a database by “me” – the person looking at the screen.
Files & media: file
- The files & media property allows you to upload files. This may be a spreadsheet, a photo, a video, or anything else. It doesn’t mean that Notion knows what to do with it, but you can store it there. Pro-tip: this option becomes available as an option in the gallery layout if its created. A common use in this case is to upload headshot files and then show those headshots on the gallery view (without having to use their headshot as the cover photo).
Checkbox: boolean
- The checkbox property allows you to create a true or false option for every item in the database. More precisely, this is called a boolean. A common use is to create a checkbox in a Task list database to designate if the task is done or not. Pro-tip: filter out the items that are checked so you only those that are unchecked.
Relation: array of pages
- The relation property is an advanced concept but simply put, it lets you connect a page from one database to a page in another database. The relation is the tunnel between two specific databases that the user chooses. An easy example is having a Projects database connected to a Tasks database.
Rollup: array of data type selected
- The rollup property allows the user to “piggyback” off of an existing relation to another page in another database, and pull in metadata about that foreign page. The rollup is the hardest concept for most people to grasp but it’s not too complex once you see it in action. For example, if Project A is related to 3 Tasks, the user can use a rollup to see, on the project side, how many of those tasks are complete.
automatic properties
These next few properties allow you to “create” them but you cannot change them. Essentially they exist as-is whether you create the property or not. Even if you delete them, the metadata will always exist, it’s just a matter of whether you want to see these properties and/or use them for views and formulas. It also doesn’t matter if the page is in a database or not, Notion doesn’t forget.
Created time: date
- the created time property allows you to see the exact time the page was created, simply put. If you duplicate the page, you are creating a new page and so it will show the time of duplication.
Created by: notion account
- the Created by property allows you to see notion account which created the page.
Last edited time: date
- The last edited time property allows you to see the last time the page was edited. This includes events on the metadata level as well as the content within the page. One spacebar press on the page content will update this time. Useful for seeing the most recently touched items and therefore, an easy way to see most of the most relevant items in the database.
Last edited by: notion account
- The last edited by property allows you to see the last notion account to edit the page. This includes events on the metadata level as well as the content within the page. Useful for seeing who has made the most recent changes, although you can get a more accurate picture of the history of edits in the page history section of the page menu.
ID: string
- The ID property allows you to assign a unique ID to the page within the database. No other page will share that ID, including deleted pages. The ID will be a number that goes up by 1 with each new page created, but its data type will always be a string. This is because you can also prefix the ID number with anything you choose. This is a very useful feature for creating automations that need some sort of unique “hook” of the page to grab onto, since every other property could technically have duplicates.
AI Enabled Properties
Notion weaved AI into the software in 2023 including the creation of some AI properties. The properties listed below show up as options in the menu when creating a new property. However, they’re all variations of one property that can be called “AI Autofill” which uses different prompts to give different results. You can provide your own custom prompt using AI custom Autofill. This is a feature in progress and you can expect further development in the future.
AI summary: string
- The AI summary property uses AI to summarize the contents of the page (the data inside the actual page) and see it on the metadata level. Useful for a “Description” field that automatically generates.
AI key info: string
- The AI Key info property uses AI to extract key information that you define in the property. For example, actionable items from a meeting or key insights.
AI custom autofill: string
- The AI custom autofill property allows you to define your own prompt for AI to generate from. Keep in mind that it will only use data from that particular page and its properties.
AI translation: string
- The AI translation property can translate a database property (or multiple) from one language to another. If you have a Text property acting as a Description which is written in English, you can use AI translate to automatically translate it to any of the languages available.
Read Part 3: The Art of Titling a Notion Database