In Notion everything is a Block. There are slight variations between different blocks, but they do share a common structure. A block is a row in a database as well as a bullet point or a checkbox.

In our library we decided to make a slight distinction, which brings the developer closer to the database and CMS semantics, we define two types of blocks

  1. Records: Rows in a database
  2. Content: Blocks in a page’s content

Records in a database are a Page Block in Notion, so they can contain content. Additionally, they have a series of properties which can themselves contain values, or different type of blocks. For example, a text property in a Notion DB is a block of type rich_text.

I find the term record more accurate when talking about databases because traditionally databases have rows or records, which are entities with a common set of properties.

Notion has a strong focus on databases including some common features that DB engines have like relationships, or unique IDs. For this reason, we decided to follow this naming convention where we separate what notion calls a Block, into Record block and Content block. You can read more in design decissions.

Last updated: