Become an expert with SQL and PostgreSQL! Store and fetch data, tune queries, and design efficient database structures!
What you'll learn
- Learn and apply multiple database design patterns
- Optimize queries for superb read and write efficiency
- Understand how PostgreSQL stores information at the hardware level
- Connect PostgreSQL to front-end apps using an API
- Build common app features, such as a 'like' and 'mention' systems
- Handle complex concurrency issues and race conditions
- Advance your database designs using schema migrations
- See how to use PostgreSQL to speed up automated tests
- Practice all of these skills using a huge number of built-in exercises
- A Mac, PC, or Linux-based Computer
Database structure design? It's here. Query tuning and optimization? You'll master it. Complex queries? Yes indeed!
This is the only course online that will teach you how to design a database, store complex data, optimize your queries, everything that is needed for operating a production, scalable database!
Every app in the world, whether it is a mobile app built with Flutter, a web app constructed with React, or a plain HTML page, needs to store information in a database. Although there are many different databases you can use, PostgreSQL has been a number-one pick for decades, offering scalable performance, rock-solid uptime, and flexible design systems. This course will teach you everything you need to know about PostgreSQL to use it on your next big project!
Don't know anything about databases at all? No problem. We begin with an overview of SQL, the language used to interact with PostgreSQL. Through an incredible number of exercises, you'll get practical, hands on experience working with realistic datasets. You will understand how to store, fetch, and update information with a series of powerful commands.
After gaining experience with elementary operations, you will move on to understanding database design patterns, offering multiple ways to structure your database for efficient data modeling. You'll see many different scenarios with different types of data, and understand the pros and cons to several approaches.
This course is packed with practice exercises and quizzes. You'll get immediate practice on all of the different topics and features that you learn! In addition, you'll understand exactly where to use each of these features in real and practical projects.
Besides getting practical hands-on experience, you'll also get a behind-the-scenes look at how PostgreSQL works internally. We'll dive into raw data files, investigating how PostgreSQL stores information on your hard drive bit by bit. This knowledge is invaluable when it comes time to start tuning your queries for performance. By having a natural instinct of how PostgreSQL works, you can plan on being able to get every last bit of performance out of your database.
Here is a partial list of some of the topics that are covered in this course:
- Apply powerful SQL commands to store, update, and retrieve information
- Build relationships between records using foreign keys between tables
- Understand PostgreSQL's numerous data types, and when to use each
- Assemble reports of business data by using aggregation pipelines
- Work with millions of records to simulate real production queries
- Exercise your query logic skills through the use of sets and sorting operators
- Compose queries out of smaller reusable units using subqueries
- Use different design patterns to efficiently model your data
- See how to divide database objects into different schemas to maintain them more easily
- Validate your data using simple 'check' rules
- Construct perfect designs for common features such as 'like', 'follow', and 'tag' systems
- Speed up your queries with indexes - you'll see exactly how they work behind the scenes!
- Dive into some of the most complex queries around with recursive common table expressions
- Deal with concurrency issues easily by applying transactions
Who this course is for:
- Any developers looking to understand databases
- Application engineers seeking to expand their backend skillset