databases are the most powerful feature in notion and in this video you're gonna learn everything you need to know about how to create them how to work with them and how to customize them welcome back to thomas frank explains and to notion fundamentals the completely free notion beginners course in this video like i said you're gonna learn everything you need to know about how to create databases inside of notion and in doing so you're gonna unlock a lot more power inside a notion because databases will allow you to create a lot of fundamentally useful tools
inside of your notion workspace which could include things like task managers note taking systems contact trackers sales dashboards heck i've even gone off to deep end and made an among us game tracker you can build a lot of stuff using notion databases so inside of this lesson because notion fundamentals is a project based action action-oriented course we're going to be building a very simple task manager and along the way throughout my step-by-step instructions you're going to learn about all of the important facets and features of notion databases which i will point out right here in
this little table of contents so you can reference this for later use you'll also find this in the description down below and in building this task manager you'll also be able to incorporate it into the personal dashboard template that we've been building throughout the previous lessons inside of this course before we get started i do have two little items of housekeeping first and foremost if you are looking to track your tasks and projects inside of notion i do have a much more powerful much more robust and free template called ultimate tasks which has a lot
more features than the task manager we're going to be building here for example sake ultimate tasks has recurring tasks subtasks projects with progress bars and a lot more cool features so if you do want to check that out i'll have a link in the description down below and speaking of example templates we will be building a simple task manager inside of this lesson but to give you more reference material to help you play around and experiment and learn by doing i have also included two additional templates inside of the resources for this course a simple
contact tracker and a simple book tracker and you can find both of those templates inside the resources for notion fundamentals which i will have linked the description down below but you can also find them over at thomasjfrank.com fundamentals so let's finally get this lesson on the road and let's start out by first defining exactly what a database is in a very broad sense database is just a collection of records that exist inside of a computer and a notion each of those records is actually another page so here i have a very simple movies database inside
a notion and i have quite a few records here ocean's 11 big short spirited way each of these is a record inside the database but you will also notice that there is an open as page button on each of these records so if i open up say the one for hot fuzz i'm going to get yet another notion page where i can embed any kind of content that i want i can put headers i can put quotes i can even put additional databases and i can go as many levels down as i want and that's
part of the beauty and the flexibility of notion now in addition to these records here databases also have what are called properties and properties are essentially ways to store structured information on a per record basis but a property is actually created at the database level so we can actually see that here in my movies table i have a property called name and this is actually the key property of the database but i also have some other properties i have genre which is a multi-select property where i can add multiple tags here i have adventure and
animation unspirited way i have heist versions 11 and i also have a checkbox property that i've called seen recently some of these are checked some of these are not and crucially like i said before these properties exist at the database level so if i were to create a new record here and let's just say i call this the spongebob movie if i open up this record we can see that my genre property is currently empty for this record but it still does have this property this property is going to exist on every record inside of
the database now going back to the database itself one thing you might be noticing is that this looks an awful lot like a spreadsheet but it's important to understand that it actually isn't a spreadsheet at all it's a database and there are some significant differences between spreadsheets and databases so to briefly explain that i'm going to go over to an actual spreadsheet in google sheets called bad guys knocked out here and here i can illustrate the main difference between spreadsheets and databases inside of a spreadsheet i have rows and i have columns which means that
every cell has an actual coordinate an x y coordinate across the spreadsheet here i have cell c2 here i have cell d5 and that means we can actually create formulas that target individual cells and then do math on them so for an instance right here i've got 179 this is actually just a formula that's adding together the values in b2 and d5 i've got them highlighted here so that's a major strength of spreadsheets and databases unfortunately we can't really do that going back over to my movies database these are not individual cells instead they are
just property values on an individual record which means we can't target them like we can on a spreadsheet but we do get some advantages that spreadsheets don't have namely we can actually view this information in lots of different ways right now i'm looking at it in a table form but what if i wanted to see all of my movies sorted by genre and actually split out amongst those genres well i could actually add a view and instead of choosing a table view here i could choose a board view and i could actually see all of
my rows this way instead so the main strength of a database is that it allows us to be very flexible with how we view our data we can filter it we can sort it we can group it we can look at it in tons of different forms we have a lot of power and flexibility and with that sort of definition and difference defined now i want to get into how to actually create databases so let's start building our very simple task manager here i've got a very simple page called simple task manager it's a blank
page and on this page i want to start creating some databases and there are actually several different ways to do that inside of notions so let me quickly show you how to do them all the easiest way to create a database is actually just to type slash database and you're going to be presented with two different choices inline which will actually display your database right on the page that you're on currently or full page which will create a full page database linked from the page that you're currently on so i'm going to start with an
inline database and this is going to give me a default table view which i'm going to call my tasks so this is going to be our task manager database or at least our tasks database and later on we're going to add a projects database as well now note that this is currently in line but if i wanted to i could actually make it a full page simply by going to the block menu here and then turning it into a page i'm going to get a link on the simple task manager page and then i can
see my database just like that i can also go back to my simple task manager page and i can click the block menu on this link and i can turn this into an inline database so you have a lot of flexibility right there now besides just typing slash database you also have another option with the slash command and that is to actually specify the layout type or the view type that you want initially so if i type slash table first i have the option for a simple table which is not what we want here but
i also have the option for a table view of a database i could also type slash board get a board view slash calendar etc and if i choose a view type when i'm typing my slash command initially it's actually going to give me the option of either creating a new database with this new database button right down here or creating what's called a linked database which is essentially a new database block that has a source database that already exists so here you can see some of the source databases that are already in this notion workspace
all nodes no inbox and if i created a link database i would just basically be showing the exact same information from that database but here in this linked database view i can actually create my own unique filter and sort criteria we'll cover that later in the lesson so for now i'll just show you how to create a brand new database in this manner and in this case i'm going to call it projects because we do in fact need a project database to be a partner to our tasks database here finally when you create a brand
new page so i'll just type slash page right here you actually have the option to create a database right away so you can choose any of these and it will create a brand new database or ask you if you want to create a linked database and it's going to be a full width page by default if you do it that way so now let's talk about database views one of the most useful features of a database is the fact that you can create multiple views of that database which allow you to see different information different
filter criteria sorting criteria all kinds of useful stuff like that now why would that be useful well let me give you an example i'm going to go over to the notes page of my brand new template ultimate brain which is a complete second brain for notion and here we can see multiple different areas for notes we have a note in box we have a favorites area that shows only notes that are marked as favorites we have recent notes we have a daily journal and the important thing to note is that all of these different views
here are actually pulling from the same master database it's called all notes and fittingly it contains all of my notes but this view of that database only shows me my recent notes sorted by their edited date here i'm only seeing my favorite notes marked with the favorite checkbox like that and finally we have a note in box where the only notes that are going to show up are going to be the ones that don't have an area or resource or project assigned to them it's a great initial dumping ground for notes so this is what
different database views allow us to do we can have contextual views of the same database so we only see the information that is important to us right now so with that being said let me show you how to actually set up multiple views in a database going back to our simple task manager right now we can see that the only view inside of my tasks is one called table and we have no filters we have no sorts we'll get into how to do those in a little bit but for now i actually want to add
another view to this simple task manager first i'm going to rename this because table isn't very descriptive so i'm just going to call this one all tasks and then i want to click add view right here and i'm going to add another one called do this week in a little bit i'm going to add some filtering to this view so i only see tasks that are in fact due this week and i want to add one more view to this and that's going to be a completed view so this is going to be a view
that only shows us tasks that have been completed and note that we have this tabbed bar across the top of the database here so we can see all of our views however if the screen width is too narrow for all the views we have we're going to have this uh one or two however many more button here and then we can see all of the views in this drop down menu now another thing that's useful to note is if you click this three dot menu right here you get what's called the view options menu and
this is going to give you access to pretty much all the options for this specific view of the database so you can change the layout and go over that a little bit but you have all these different choices here you can show or hide the database title i often like to hide it for a bit of a cleaner look here we can wrap the columns so their text actually wraps and the cells get bigger and we also have a lot more options we have property options here so i can show or hide properties in this
view i can even change the options for these properties so here in tags i could come in here and actually add some tags if i wanted to we have a filter menu a sort menu grouping load limit this is actually pretty useful if you have a lot of information in a database you can set it to only load say 10 or 25 pages initially and then there will be a load more button if you want to see more and then finally we have the lock database copy link to view duplicate and delete options so basically
if you want to do something with your view the option for it is probably going to be in the view options menu so let's now talk about how to actually add new rows to your databases because there are multiple ways to do it i'm first going to clear out these initial three blank rows i don't want those and my first way of adding a new row to the database is simply going to be clicking this new button right here so i'm going to click that it's going to give me a new cursor and i'm supposed
to add a task and that's our first way of adding to this database we can also hit this new button right here which is going to open a page and i can add a task that way as well and finally we can also add tasks to this database by using what's called the plus syntax and we can do that from elsewhere inside of our notion workspace so for example let's pretend that you were actually at a meeting and you were taking some meeting notes and while you're taking these meeting notes you actually want to add
a task to your task manager well you could navigate over to your task manager and do it that way or you could simply hit the plus button and then type out the name of your task and finally choose this new build self-containment page in option which will actually create this in a location of your choosing and from there you can simply type in the name of your database so in my case it's going to be my tasks i'll add it like that you're going to get a link to the new page inside the database and
then if we go back to our simple task manager you will see it's sitting with the rest of our tasks so that is three different ways to add new rows to your databases and along with those new rows we're probably going to want to have some properties so we can make this database a bit more useful we're building a task manager after all so we're probably going to want to have things like a do a date a check box for checking things off when they're done maybe even an assignee property as well so first i
want to actually right click this tags property which comes in by default and i want to delete it because i do not want tags on my tasks now i can actually go over to this plus button right here and i can add a property to this database and i'm going to call this property done and then i'm going to change its type and when i click this little type area you're going to see there are actually quite a few property types inside of notion we have some basic ones like number select which is basically a
single tag you're adding to your rows or multi-select multiple tags we have dates we have the person property where you can actually assign things to people or at least tag them on a database row we can attach files and media like pictures or mp3s we can add check boxes urls emails phones and there are also some advanced property types formulas relations rollups and we're going to get into these later on in the video for now this is called done so i want a checkbox type property for this and that will allow me to check off
tasks as done once i've actually done them i also want a due date property so i'm going to call this do i'm going to change its type to date and then i'll be able to actually add due dates to all of my tasks i can also if i want actually change the width of each property on the table view and with checkbox properties in particular i can actually make it very small and then move it over so i have it over on the left side i'm also going to make do a little bit smaller and
finally i'm going to add an assignee property and this is going to be a simple select type property and here i'm going to add a couple of options let's add peter and let's add dr connors making a very spider-man themed task manager right now so now i'll be able to actually add assignees to my tasks due dates and then i can check them off when they are done let's go ahead and actually do those first two for now let's add some due dates so i'll go may 25th for this one how about 27th for this
one and uh maybe next week for this self-containment crate task and then i'll add some of chinese so for lizard anthro i'm going to give that to dr connors that is his job taking grocery boxes to the feast it's definitely going to be a peter task and then building self-containment create also a dr connor's task now i mentioned earlier that databases allow us flexibility to see our data in multiple different ways and a notion that takes the form of what are called layout types this is a table type layout but it's only one of six
different layout types that we have access to so i'm going to create one more view inside this tasks database i'm going to call this one assignee view and i'm actually going to make this a board type view i'll go ahead and hide the database title for some cleanliness and we can see that this view is actually more of a trello style or kanban view where i can group tasks based on a specific property in this case it is the assignee property but we can actually change that and i'll show you how to do that later
in the grouping section of this video but you have a lot of different layout types if i go to my view options here i can actually change this to a timeline so i can do some project management stuff i can change it to a calendar i can change it to a very mobile friendly list or even a gallery view where i can create header images or add file attachments and show them very prominently up here but for now i want this to be a simple board view now currently we are seeing the information in this
database in a different layout due to our different layout type however across all these different views we're still seeing the same information so these different views are of limited value to us to make them very valuable we want to actually add some sort and filter criteria so we're seeing different information for different contexts so for all tasks here i might just want to sort by their due date and to do that i can go either to the view menu here and i can access my sort menu like that or more easily i can just click
sort right here and i can choose a sort criteria so i'm going to choose do and then i have some options here i can sort it in either ascending or in descending order and for a due date sort i think ascending is much more useful than descending now note that i can also have multiple sorts for a database view so i can also sort by say the assignee or the name and depending on the order i have here things are going to be sorted a bit differently so right now we are sorting strictly by the
due date and there are no same due dates however if i were to change these due dates all to say may 25th then our second level sort would kick in and we'd start sorting by the assignee uh but i don't want that for now i just want to do so i'm gonna go and get rid of my name sort and then i'm gonna change these due dates back now one thing you're going to notice when you create either a sort criteria or a filter criteria is that if your database is shared with another person you'll
see this save for everyone button right here along with the reset option as well basically what this means is that currently my sort criteria that i've added to this view is only visible by me which can be very useful if you have shared database views with team members or people that you're working with if you want to see the data in a certain way but you don't want to change it for anybody else you can not click this save for everyone button and you're just going to see this change for yourself on the current device
but if you want to be permanent you do want to click that save for everyone button and again you're only going to see that if this database is shared with another person so that is sorting criteria i'm going to go ahead and add some useful sorting criteria to all of my task views so for due this week i also want my very handy dandy do an ascending order sort for my uh completed view i actually want do in descending order so i can see the tasks that need to be done very soon first and then
finally on my assignee view i'm going to add one more do sort i want that in ascending order because these are not currently done and one thing that i do notice on my assignee view here is that i can't actually see the due dates and that's because that property is hidden by default on this board view so to fix that i can go over to my view options menu i can hit properties and i can just simply add my do property as a visible property i may also want to add my done property as well
so i can check things off as i go along from this view so now i've added some useful sorting criteria to each of our views but we're still seeing all of the same rows across each one of these views and to make things more useful to actually see only the rows or the tasks that fit the current context like due this week in the next seven days or tasks that are completed we want to add some filters as well so to do that we can click this filter button right here in the top row of
the database and we can add a filter based on any one of our properties now there are both simple filters and notion and advanced filters in notion and i'm going to show you first how to create a simple filter so because we're on the completed view right here i only want to see tasks that are actually completed so we're going to choose the done check box for this filter and then we want to make sure that done is actually checked i will save this for everyone and you will notice that we see nothing in this
view now because none of our tasks have been checked off but if i were to check off this task then i would actually see it in my completed view as well and we might also want to add a useful filter to all tasks where our done checkbox is unchecked that way we're only seeing tasks that we currently have to do because they are not done and i also want the exact same filter in my assignee view so i'm going to come over and add that as i did in the all tasks area done is unchecked
and saved for everyone but instead of do this week i actually want two different filters so instead of creating a simple filter i'm going to add an advanced filter which will have two different rules first we do want to have a done checkbox is unchecked filter so we only see undone tasks but we also want to add a filter rule for our date property our due date property and date based filters actually have a lot more options so first and foremost we can change is to several different options and because we want to see tasks
that are due in the coming week we actually wanted to go with is on or before and then we can either choose a custom date but more usefully we'll want to choose one week from now so this is going to show us only tasks that are undone but are also due within the next seven days i'll save this for everyone and then if i go over my completed and i uncheck this task we can see it in all tasks which shows us all of our tasks but over in due this week we are not going
to see it because it's actually due more than seven days from now now before i move on from filtering i do have to let you know about one more incredibly powerful feature that comes with filters and that is forcing functions which is a made up term that i came up with for something that happens when you add a new row to a view with a filter so look what happens when i add a new row to this do this week view you're going to notice that i have a default due date on this new row
and the reason for that is we are adding a brand new row to a view that has filter criteria set which means that the new row must fit that filter criteria so a due date is actually added and you'll notice that it is exactly seven days from now because that's what our filter says on or before one week in the future and this applies to any writable property in notion databases if i go over to my completed tab here and add a new row i'm going to have the done checkbox automatically checked now what do
i mean by writable properties well let's first go over to a list of notions properties i'm just going to edit this one real quick just to show you writable properties include basically everything here except for files and media formulas roll ups and then these created by time and last edited time and buy properties here basically if it is a property that you can write to such as a text property or a number property you can create a forcing function around it and this can be very very useful in a practical sense to give you a
more real world example i'm going to go over to a demo of a template that i actually sell but i actually use as well called creator's companion this is a project manager template that i use for all of my youtube videos and blog posts across all my channels and you'll see here in this project manager view i actually have some filter criteria three rules to be exact one where status is not empty one where status is not completed and one where idea is unchecked this is a forcing function where status is not empty to be
added to this database inside this view we cannot have an empty status property which means that if i create a new view and i'll just do it in the table view because i would get the automatic status here in this view if i created a new row right here it automatically gets the planned status so if i just add a title here i'll just call this sample video and i give it a channel we'll go with the thomas frank youtube channel then if i go back over to my board view i'm going to see sample
video directly in the planned area this is really useful because anywhere in this template that i add an idea or a video i want to make it's automatically going to get a status and it's going to be here in planned which is the first part of the content creation process so that is what you can do with forcing functions and a heck of a lot more they're very worth experimenting with and i actually have an entire video on them that i'll link to in the description down below but now at this point in this video
it's time to talk about relations which are one of the most useful properties inside of notions databases so what are relations well to properly explain what those are i'm going to have to break out the whiteboard so give me one second and there we go so database relations are essentially a way to relate records inside of a database to one another either in the same database or across different databases so inside of the same database we may have something like a parent task and subtask relationship so we'll have say a parent task which may be
like clean out the garage and that task might be related to a couple of different subtasks like sweeping the floors and organizing shelves so each of these records exists in the same database but this has a relation saying that its subtasks include the sweeping the floors record and the organizing shelves record and likewise each of these subtasks has a relation called parent task which lists the clean out garage task as their parent so that's a relation inside of a single database but relations are even more useful across multiple databases for example a task database and
a projects database if we have a database full of loose tasks we may want to relate some of those to bigger projects so for example maybe i have a project called uh suit redesign for spider-man and then in my task database i have things like testing out the web shooters designing the spider parachute and then some unrelated tasks like get bread what a relation allows us to do again is relate these rows to one another which means that if i have a project relation in my tasks database i can add my suit redesign project to
these tasks and in the opposite direction within suit redesign i'll be able to see that test web shooters and design parachute are related to this project but the get bread task is not related to it so this is very very useful because again we can use filter and sorting criteria to see contextual data when it's useful to us so let's actually create a relation between our task and our project's database inside of our little symbol task manager here so i can do this from either database because i will be able to select its pair database
and then we're going to have a new property inside of either one i'm going to do it in projects first i'm going to go ahead and delete this tags property and i'm going to create a property called tasks i'm going to select the relation type and the first thing it's going to ask me is what database i actually want to relate this property to now i can like i mentioned before actually choose this database itself and if i do that i'm simply creating a relation to other rows inside the same database but in this case
i don't want to do that i want to create a relation to a different database the my tasks database so once chosen i now have the option of showing this property on my tasks and you can actually see how this little preview changes down here based on how i change the state of this toggle so if i don't have it toggled i will have relation property in the projects database but i will not see that in my tasks in this case that would not be very useful because i do want that property inside of my
tasks so i can do some useful filtering and sorting so i do want to show on my tasks i'm going to call it projects that's totally fine actually i'll call it project since tasks will have an individual project and finally i will add my relation property so now you're going to notice that i have a tasks relation property here and if i open it up i can actually choose tasks to relate a project to and i also have a project relation property on my task manager so if i click this i can choose any one
of these blank projects so let's make this a bit more useful and actually create some projects and before we do that i actually want to create some useful properties on this database as well at least a status property with a select type so i can have things like to do doing and done for my projects and fun little pro tip here with a select and multi-select property if you do something like an is not empty filter it's going to pick the first or top listed option and apply it to those new rows so i actually
want to do to be my default option so i'm going to actually order them like so and from here i can actually create some projects so let's create our suit redesign project and how about another project simply called take pictures of spiderman obviously assigned by jonah jameson of course and from here we can create some tasks in our task manager view that will be related to these projects so i'm going to go ahead and add some real quick and now that i have these tasks i can actually give them their project relations so i'm going
to grab the project property drag it over here and then i can use the relation picker to choose my related projects so i'll do suit redesign for this one and this one i'm gonna do take pictures of spider-man for these two and now that i actually have my relations set i can actually do some useful grouping inside of this all tasks database view and that's actually going to move us into the grouping part of this lesson because inside of notion databases you can group your rows by basically any property type so here in this table
view if i go to my group option in the view options menu i can choose my project as a grouping type and now i can see all of my projects within their groups i've got no project tasks i have suit redesigned tasks and i have take pictures of spiderman tasks very very useful if i wanted to say change my assignee view from being grouped by the assignee to the project i could do that by going over to group and changing from assignee to project and just like that i've got a kanban view grouped by my
projects now i don't actually want to have a group by project i do want to have it grouped by assignee so i'm going to go ahead and change my group by back to the assignee property but one unique feature in the boardview specifically is this subgroup option so if i go to here i can actually choose another property to add as a subgroup and this creates what are called swim lanes so now i have essentially grouped columns and grouped rows so i can see all of my project groups but i can also split them out
by my assignee across the columns which is really really helpful now going back over to my all tasks view you will remember that i added these project relations directly to each of these tasks after i had created them here but what if i wanted to simply open up a project's page and add tasks from there well i can actually do that quite easily through a combination of database templates and linked databases so we are now going to move on to the database templates part of this lesson so what is a database template exactly well it's
basically a page inside of a database that comes in with some default content could be anything really even additional databases because like i mentioned earlier database rows inside of notion are themselves database pages so if i want to create a template for some default content to come in right when i create a brand new row i can come to this little blue arrow right here next to the new button and i've got an option for a new template here if i had any templates i would also be able to either spawn an instance or a
new row from them or edit them but i don't so i'm just going to create a new template like so i want to call this the project template and just to show you how this works i'm going to simply create a heading in here and call it tasks that's all i'm going to do maybe i'll give it a nice little green background and now if i open up an existing row that has no page content i can create that page from the template and you will see i have that default content there same would happen
if i made a brand new project let's just call it nothing and if i spawn from the template i'm also going to get that default content so that is what a database template is it's essentially a way to set up a bunch of default content right away and then have it come in in all of your new database rows going back to my creator's companion template you will see a thomasfrank youtube template and if i edit it you can see a whole lot of default content here i've got a task manager i've got uh internal
pages for topic validation for research and notes for scripting and what that means is whenever i make a new youtube video i can have all that default content come in so for example here's this video how to stop feeling so tired when you wake up i didn't have to set up all of this stuff when i made this video project in notion i could spawn from the template and then i could simply customize things as needed write my script etc so database templates are incredibly powerful and i think you're gonna end up using them quite
a lot if you get deeper into notion but if you'll recall what we're trying to do right here in our simple task manager is have a view of our project where we can add tasks directly to that project and to get that we're going to have to utilize a database template but also what's called a linked database so now let's talk about what a linked database actually is and to show you how to create one i'm first going to go over to my project template and i'm going to edit it like so so i'll open
this as a page so i have a bit more room to work with i'm going to make this a full width page as well and underneath my tasks header here i'll create a little line just because i like that and then i'm going to type slash table and like i mentioned earlier if i uh create a block immediately from a table of view or any of the view types i'm going to be given the option to either link or create a database earlier in this lesson i created a brand new database but in this case
i actually want to see another view of my my tasks database so i'm going to choose my tasks here and i can either copy a view or i can make a new empty view i'm gonna go ahead and copy the all tasks view like so just to give me a starting point to work with and here you're going to see a linked view of that database and note that it's pretty much identical to our all tasks view from earlier i also have a link here where i can get to the source database if i want
to i'll hit control bracket or command bracket on mac to get back and now i can start customizing my linked database to be very useful to me and it's here we're going to add a very particular type of filter it's called a self referential filter and what that is is essentially a filter for the template that we are on currently which contains this linked database and that probably doesn't make a whole lot of sense when i define it but it will when i actually create it so i'm going to go to my filter option right
here and i'm going to add a filter i'm going to make an advanced filter just because i like how it looks better and i'm going to filter for the project relation and i want to create a filter that says project contains the project template now the reason this is called self-referential is because when i create a new project and i spawn it from this template this filter here is actually going to update itself it is going to reference the page it is on not just the template and i'll show you how that works in just
a second so i'm going to go ahead and save this for everyone let's check over our filters as well to make sure there's nothing else we need to change here we have where project contains our template we have done is unchecked i think that's going to be all good we may want to remove our grouping since we're only going to be seeing tasks that are related to this specific project so i'll go group by none here and our sorting is by due date that's totally good so now if i go back to my simple task
manager and i come over to say my take pictures of spiderman project i can spawn this from the project template which is going to bring in my linked database and if we check the filters we will notice that our project relation filter has updated to take pictures of spider-man that's a self-referential filter and that is how we can gain the ability to add tasks directly from the project page that are going to be hence related to that project so if i add one more here let's just say a candid shot it automatically gets the take
pictures of spider-man relation because it has that filter again that's a forcing function and if we go back to simple task manager we will now see a third task inside of our take pictures of spider-man grouping here so from this point we're going to move into a couple slightly more advanced parts of notion databases for the rest of this lesson we're going to talk about formulas and we're going to talk about rollups these are two slightly more advanced property types and they can do some really really powerful things inside of your notion databases so we're
going to first start with rollups and we're going to create a rolluptype property in our projects database that's going to show us how many unfinished tasks exist inside of each project so essentially a rollup is a way for us to reach through our relations and see the property data of the rows that are related to this row so we can see is design new web shooters done or undone is test web parachute done or undone and to do that we first need to create ourselves a rollup property so i'm going to hit that plus button
one more time i'm going to call this undone tasks and i'm going to choose the rollup property type now once i choose this i'm going to first have to select the relation that i want to sort of reach through and then i want to choose the property that i'm going to look at so we're going to choose our task relation it's the only option we have here and now we can choose any of the properties inside of tasks because i want to see which tasks are undone or the number i first want to select the
done property and if i leave it on show original i simply get a listing of each of the check boxes inside this relation so i have two related tasks here which gives me two undone task checks boxes here and i have three relations here so i get three check boxes and watch what happens if i come up here and actually check some tasks off so i'll check off one there i'm sure i have one there they're gonna disappear because of our filter criteria but now we see some useful information we see that we have one
undone and one done here one done two undone here but this is not quite what i want i'm seeing the original information here what i would rather see is the count of undone tasks that would be a lot more useful for a simple task manager right so i now need to go into the roll-up configuration and i need to change my calculate value from show original to unchecked and now i have a useful number i can now see there are two unfinished tasks inside of take pictures of spider-man there's one unfinished task inside of suit
redesign i'll go and delete nothing because there's nothing inside of that and that my friends is a rollup inside of notion i can also use the calculate tab down here at the bottom of this table view to show the sum so now i have three unfinished tasks total i could do the average the median all kinds of useful stuff but most importantly to me i want to be able to see how many undone tasks are within these different projects however i don't really just want to see a number here it would be a lot nicer
if it actually said one task left or two tasks unfinished something like that and to get that kind of a result we're gonna have to use a formula now formulas are easily the most complex and powerful property type inside of notion in fact i have an entire video planned teaching formulas at multiple levels of complexity and there are also full courses out there for teaching notion formulas so we really can't get too much into them in this video but i do want to show you at least one simple formula to get the result that we're
looking for here so i'm going to create myself another property here i'm going to call it meta and i'm going to choose the formula property type and in doing so i will now be able to click it and get this little code box where i can basically write code to get the result that i want so as a refresher for what we're trying to do here we want this simple numeric value in this roll up here to be a bit more pretty to say one task left or two tasks left and to do that we
actually want to pull this property into our formula and we can do that by simply referencing it with a command called prop so if i do prop and i add undone tasks i'm going to have this control plus enter to accept message down here if there is a syntax error it's going to tell me there's a syntax error like so and if i hit done i'm simply going to see this number so i need to add a little bit more code to make this what i want it to be instead of just prop undone tasks
i'm going to wrap this in a function called format and this is essentially going to turn the numeric output of our rollup the one two things like that into what's called a string value essentially it's a text value and by doing that i'll be able to combine it with additional text so i'm gonna do space plus space and then i'm gonna do a little quotation mark give myself an actual space which will be to play displayed and then i'm going to type tasks left and now i have a much nicer little meta property here i
might even hide my undone tasks roll up and just see one task's left two tasks left now there's one problem here which is that i'm seeing tasks even if there's a singular task so we want to make this a little bit smarter and to do that i'm going to actually change this to one task and then i'm going to add on a little if statement so we're going to do plus and then we're going to type if once again we are going to call our rollup properties i'm going to do prop undone tasks and then
i'm gonna do greater than one comma so basically that is the uh condition that we're trying we're seeing if undone tasks output is greater than one if it is we're going to do this we're going to add an s and then hit left and if not we're going to simply type left so now i have one task left or i have two tasks left and you can get a lot deeper with formulas and like i said earlier i've got a whole tutorial video on formulas coming in the near future so if you want to go
deeper into notion formulas and learn how you can use them to make your databases and your templates even better make sure you're subscribed to this channel so you see that in the future because let me tell you you can go very deep into formulas in fact the formula that my developer martin wrote for the recent recurring tasks update in our ultimate task template is frankly ridiculous i do not understand it it's super long but it is mega powerful and does some stuff that notion frankly can't do on its own so if you want to learn
how to push notion to its absolute limits you're going to want to learn formulas now to finish up this lesson i've got a couple little things to cover that are much less complicated than formulas but are none less useful to know about the first of which being database locking so right now i can do whatever i want to this database i can change these property settings i can go into my formula and i can change stuff like that but maybe i don't want to have that kind of power or maybe i'm sharing this database with
other people and i don't want them to accidentally delete properties or change formulas or things like that well one thing you can actually do if you're sharing this database with somebody else is go to the database itself so i'll go to the actual my task database and change the permission level of anybody with access to the database from can edit to can edit content and you can see here it says can edit content but can't edit the databases views or structure so if i give martin that permission level he will not be able to say
go into that formula we just wrote and change what it says he will not be able to even hide a property in this view but another thing you can do if you want is actually lock databases or lock database views so if i am on this database i can go to the three dot menu right here and i can lock it which makes me unable to change any of the properties here in fact it will show me right here this database is locked so i cannot change any of these properties i can actually change the
content here i can change due date i can check this off or uncheck it but i will not be able to actually delete or change these properties which is very useful if you don't want things ever being edited or you want to make sure that even you can't accidentally make a change like that what you can also do specifically from linked databases is lock individual database views so i'll show you how to do that right now but first i will also point out that if you do have a locked database you can come up here
and you can unlock it like so if you do want to make a quick edit and then you can re-lock it if you want it locked once again now i'm going to come back to my simple task manager here and i'm going to open up say our take pictures of spiderman project because with it i have a linked database and one thing you'll notice on a linked database is if you click the three dot menu right here you'll see an option to lock views so if i lock these views you'll notice that i cannot permanently
change things like the filter or sort criteria i can actually add a filter if i want to but you'll notice i do not have the save for everyone button so i'm basically adding a temporary filter for this device but again i cannot change the filter criteria for this view at all unless i unlocked that so you have some flexibility when it comes to locking your database views and the databases themselves now to wrap this lesson up earlier on in the intro i mentioned that we'll be able to actually incorporate this simple task manager that we've
built into the personal dashboard template that we've been building in the earlier lessons in notion fundamentals so that is what we're going to wrap things up by doing and really this is just going to be kind of a refresher on linked databases so i'm going to come over to my personal dashboard template here uh as a reminder this is available as a template inside of the notion fundamentals class resources link down below and here i have a little tasks area and what i want to do is actually look at my task manager that i just
created but on my dashboard so to do that i'm going to click the plus button underneath this little line here i'm going to type in actually a list view to get a nice mobile friendly view here and i'm going to choose my my tasks database as the source and from there i can do basically whatever i want i can add unique filter sort grouping criteria and i can basically customize this to my liking so i do want to have a filter criteria for my done check box where it is unchecked i'll save that for everyone
and maybe i want to sort by due in ascending order and that basically gets me an identical view to my all tasks view on the actual simple task manager page but here it's in this nice compact and more general dashboard so that is an example and hopefully something that you can use as inspiration to build these more all-encompassing dashboards that have things like tasks and notes and web links and basically anything you find useful all in one easy to reach spot and with that we are done you finally covered databases here in notion fundamentals i
know this was a long lesson but databases are a pretty powerful and uh complex feature they take a lot of time to explain so if you need to review anything you'll find the table of contents in the description down below use that little segmented bar here on youtube to skip around and go back to whatever you're curious about and like i mentioned in the intro for this video there are a lot of companion resources for this lesson you're gonna find all of them over at thomasjfrank.com fundamentals that is the hub page for this entire course
so there you will also find written and video lessons for every other lesson in this course and you'll also have the option of signing up for my notion tips newsletter you do not have to sign up for that if you want the resources there is a bypass but i do think you're going to want to be on that newsletter because i often share information about new tutorials when they drop new free templates all kinds of really cool stuff so join that if you're curious and like i mentioned in the intro for this video this particular
lesson has quite a few companion resources including three sample templates that you can play around with and add to so you can learn how to use databases there's that book tracker that simple contact tracker and the simple task tracker that we just built one more reminder if you do want a more advanced task management system one that i actually use myself you can get ultimate tasks which has things like subtasks and recurring tasks and a more robust project management template with progress bars all kinds of cool features so check that out a link in the
description down below and as always if you have questions about notion let me know in the comments down below or follow me over on twitter at tomfrankly ask me your questions there that is the social network that i am most active on so definitely give me a follow if you haven't done so already and finally thank you for watching and this was a long lesson hopefully you found it useful and i'll see you in the next one