This first video covers the main differences between how data is stored in a traditional SQL database, and how it's stored in a NoSQL database like the Realtime Database.
This video takes a relational database model that you might typically see in a SQL database and converts that into a NoSQL model that works well in the Firebase Realtime Database.
Querying a NoSQL database tends to be less powerful than what you're used to in a traditional SQL database. But there's still a lot you can accomplish if you structure your data correctly. This video will take a look at basic queries and how they work in the Realtime Database.
This video starts with eight common SQL queries, and then converts them one-by-one into queries that work with the Realtime Database. It's time to put your theoretical knowledge into practice!
The Realtime Database doesn't have any methods for joining data specifically, but you can still take data from one location, and merge together the related data from another location. We'll show you how to do that in this lesson.
Denormalization is the process of duplicating data in order to reduce or simplify querying. While this might seem strange coming from a SQL background, it's a common practice in NoSQL databases that will make reads more performant and your life much easier. We'll show you some of the advantages of denormalizing your data, and how go about it, in this lesson.
Denormalization is great for increasing read and query performance, but it comes at the cost of data consistency. Fortunately, multi-path updates can help give you consistency with your denormalized data. This video will show you how to use lookup paths to copy data to multiple places and keep it all consistent.
The Realtime Database might be schemaless, but that doesn't mean you can't protect your data structure. Instead of schemas, the Realtime Database uses a declarative server side rules language called Security Rules. This video shows you how to use Security Rules to protect your data structure and create foreign-key-like constructs.