Complete SQL + Databases Bootcamp: Zero to Mastery

Exercise: Setting Up Your First Database

Alright!!! It’s time to do your setup your first database. If you go to the following link, you’ll be able to see a simple DBFiddle!

We’ve already setup some test tables and and put in some test data for you so there’s no need to focus on that part!

We’ve also added some simple queries that will have a comment right next to the SELECT keyword, feel free to remove this comment (the part between the /* */).

The goal is to fill out the query like we just saw in the video:

DBFiddle Link

If you want to check your answer, you can check it here:

DBFiddle Answer

Some tips:

SELECT * FROM some_table => This returns all data from a table

SELECT col1, col2 FROM some_table => This returns col1 and col2 data from a table

Exercises: The Select Statement

We’ve learned so much about SQL so far and a lot of it has to do with building a solid foundation for your SQL knowledge, but let’s not get too theoretical! The following link will bring you to 3 exercises to practice the SELECT statement.

Try to complete the following 3 exercise queries:

Optional: History of SQL Deep Dive

Fascinated by the history of SQL? If you want to take a deeper dive, check out this video that goes into a little bit more into the details of SQL and Databases from the Computer History Museum. It’s only 5 minutes long :slight_smile:

Exercise: SQL Starter Quiz

SQL has quite a long history and has been around for so long. We’ve put together a short quiz for you to put your newly found knowledge to the test!

DO THE QUIZ!

Exercise: Relational Model Quiz

I know the relational model is bit theoretical and a lot to grok in a short amount of time! Believe me though this foundation sets you up for having the fundamental understanding of SQL! We’ve put together a short quiz for you to put your newly found knowledge to the test!

DO THE QUIZ!

Endorsements On LinkedIn

If you are looking to improve your LinkedIn profile and have others endorse your skills, we have a private ZTM LinkedIn group here . LinkedIn allows you to have recruiters message you with lots of job opportunities. You can join the group by clicking on “LinkedIn Group” and then go ahead and endorse some of the member’s skills (other people will do the same for you as they join).

If you have any questions, reach out in our private Discord chat community in the #job-hunting channel!

UPDATE!!! Zero to Mastery is officially a recognized school! What does this mean for you? It means that you can add it as an educational institution on LinkedIn as part of your profile to wow those employers (as your education history) . Check it out here . To add it to your profile:

Step 1: Go to personal LinkedIn profile

Step 2: Scroll down to the Education section

Step 3: Click the +

Step 4: Type in Zero To Mastery Academy

SQL Tooling Alternatives

SQL Tooling

Now that we’re kicking into high gear I thought it would be important to elaborate on our SQL tooling choices and alternatives.

In the realm of SQL new tools pop up all the time and depending on the environment you will end up working in it’s important to know outside of the tools we chose what’s out there!

Why did we choose Valentina DB

When it comes to SQL we wanted to give you all the versatility of a tried and true software. Something that is well-regarded and easy to get up and go. Some people will expect “true” experts to use command line and PGAdmin - however our choice was based on multiple criteria:

  • Is it cross-platform
  • Is it easy to use
  • Is it free
  • Can it be extended to multiple database providers

We want our students to be able to get comfortable with a tool and use it with whatever database provider they end up trying or learning later on.

Valentina DB is just that, it has the ability to connect to a multitude of different databases, as well as give you the visual tooling and ease of use you would want when starting out.

It also doesn’t hurt that this entire suite of features is free to use! That said there are many alternative out there that boast the exact same feature sets and we would like to highlight those as well.

Alternatives

When you look at the landscape of SQL tooling it can be a bit overwhelming to see the forest through the trees!

That’s what we’re here for! Here’s a curated list of tools that we believe are best in class!

1. PG Admin + Command line

pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL , the most advanced Open Source database in the world. pgAdmin may be used on Linux, Unix, Mac OS X and Windows to manage PostgreSQL 9.2 and above.

This is certainly the most common tooling you will see available, however although our course uses Postgres the majority of the concepts you will learn can be applied to any number of database providers and so we chose not to lock in your knowledge to the Postgres specific tool suite.

https://www.pgadmin.org

2. Datagrip

For those of you that been around the coding block, you’ve probably heard of JetBrains. JetBrains is a company that creates best-in class tooling for many programming languages and such.

On the front of SQL there tooling is no-joke either! Datagrip is widely regarded as a powerhouse when it comes to database management.

With great power comes a great price tag however, as their subscription-based model is no joking matter.

However for the suite of features they offer the cost is often quickly forgotten for the performance you gain as a user!

Feel free to check them out at DataGrip: The Cross-Platform IDE for Databases & SQL by JetBrains

3. DBeaver

DBeaver is straight up one of the most comprehensive free database management studios you will find and has a strong and loyal community backing them.

When it comes to a well-rounded, well-oiled piece of software that can stand the test of time, DBeaver is definitely in that category.

Check them out at DBeaver Community | Free Universal Database Tool

4. Other tools that caught our eye

Getting Help With The Setup

One of the hardest parts of the course is coming up!

When it comes to installing different software on your computer, things become complex because there are so many types of computers/configurations and other factors that each of you have. We have tried to make things as simple as possible, but if you encounter any issues with the setup, please reach out to us in the #databases channel on Discord so we can help you out :slight_smile:

Just remember to not get discouraged. Usually it is common to struggle during the setup and installation phases but once we get it right, it’s smooth sailing from there!

MAC Commandline Tools

In the next part of this setup you will be asked to run the psql command. This is a tool that is shipped with Postgres that allows you to communicate with Postgres through commandline. In order to setup commandline properly to know the psql command you must setup the PATH environment properly!

The best way to setup your commandline to work with postgres in commandline is to follow the steps mentioned on Postgres App’s documentation portal:

This documentation talks about adding postgres to your PATH variable, now this sounds like a strange foreign language, believe me I know! In essence if you think of commandline like a piece of software that strictly talks by text interface, then the commands themselves are “instructions” now the commandline needs to know what instructions it can have available.

By default MAC ships with common “instructions” like " cd " (change directory), " ls " (list files), etc.

Postgres installed with a bunch of “instructions” now we just need to tell your MAC commandline where to find them. That’s what the PATH variable is for! It tells your MAC where to find instructions for other software.

Query Along

Although we provide exercises throughout the sections, we also recommend that you follow along by also writing out what you see on the screen and trying the SQL commands yourself that we show you. The best way to learn is not by watching us do it, but by practicing the commands yourself.

So Query Along!

Exercise: Aggregate Functions

Time to sharpen those skills!

The following exercises are there to help you flex those SQL muscles you’ve just built!

In the previous videos, we learned a lot about aggregate functions, and how they can help us answer complex questions!

Reminder:

Exercises are grouped according to the database the should be executed against, as always our format is / which indicates against which database and table you should be working to get accurate results.

Exercises

Note: You will need your Postgres setup in order to solve these exercises

QUESTIONS ON GITHUB


REVEAL ANSWERS

Exercise: The Where Clause

Filtering is a key skill in SQL, the following link will bring you to 5 exercises using the WHERE statement.

Try to complete the following 5 exercises:

Exercise: Comparison Operators

Time to sharpen those skills, the following exercises are there to help you flex those SQL muscles you’ve just built!

In the previous videos, we learned a lot about logical operators, and how the can help us filter out data! Filtering data is essential to any query as you often will only need/want to work with a subset of that data.

Therefore, it is of absolute importance to master the WHERE clause!

Reminder

Exercises are grouped according to the database the should be executed against, as always our format is /

which indicates against which database and table you should be working to get accurate results.

Exercises

QUESTIONS ON GITHUB

  1. How many female customers do we have from the state of Oregon (OR)?
  2. Who over the age of 44 has an income of 100 000 or more?
  3. Who between the ages of 30 and 50 has an income of less than 50 000?
  4. What is the average income between the ages of 20 and 50?

REVEAL ANSWERS

Practice on the go with DB Fiddle

If you are on your mobile device or otherwise not around your Postgres setup - feel free to use these DB Fiddles to help you practice solve the query for the exercises above.

Reminder

Please be aware that the results WILL vary as the DB Fiddle does not have the full tables or database available, this is because it would take a large amount of memory for our database to run on a website.

Also remember that each URL below is formatted as follows /

Links:

Database: Store/Customer

Exercise: Operator Precedence

Time to sharpen those skills. The following exercises are here to help you flex those SQL muscles you’ve just built!

In the previous videos, we learned a lot about operator precedence, and how it plays a crucial part in how your query filters return data. Let’s practice that a bit!

Reminder

Exercises are grouped according to the database the should be executed against, as always our format is /

which indicates against which database and table you should be working to get accurate results.

Exercises

QUESTIONS ON GITHUB

  1. Select people either under 30 or over 50 with an income above 50000 that are from either Japan or Australia
  2. What was our total sales in June of 2004 for orders over 100 dollars?

REVEAL ANSWERS

Exercise: Null Value Coalescing

Time to sharpen those skills. The following exercises are there to help you flex those SQL muscles you’ve just built!

In the previous videos we learned a lot about null values and coalescing, let’s put that to the test!

Note:

These exercises are done on a small table in DB Fiddle, the reason being that our test databases contain minimal null values to work against.

Exercises

QUESTIONS ON GITHUB

  1. Assuming a student’s minimum age for the class is 15, what is the average age of a student?
  2. Replace all empty first or last names with a default

REVEAL ANSWERS

Exercise: 3 Valued Logic

Time to sharpen those skills. The following exercises are there to help you flex those SQL muscles you’ve just built!

In the previous videos we learned a lot about 3 valued logic, let’s put that to the test!

Exercises

QUESTIONS ON GITHUB

REVEAL ANSWERS

Exercise: IN Keyword

Time to sharpen those skills again! The following exercises are here to help you flex those SQL muscles you’ve just built!

In the previous videos we learned about the IN Keyword, let’s put that to the test!

Exercises

QUESTIONS ON GITHUB

REVEAL ANSWERS

Exercise: Like Keyword

Time to sharpen those skills. The following exercises are here to help you flex those SQL muscles you’ve just built! (You should be noticing a trend here. Practice makes perfect :slightly_smiling_face:)

In the previous videos, we learned about the LIKE and ILIKE Keyword, let’s put that to the test!

Exercises

QUESTIONS ON GITHUB

REVEAL ANSWERS

Exercise: Distinct Keyword

Let’s sharpen those skills! The following exercises are here to help you flex those SQL muscles you’ve just built… let’s do it!

Exercises

QUESTIONS ON GITHUB

REVEAL ANSWERS

Exercise: Inner-Join

YOU GUESSED IT! It’s time to sharpen those skills. The following exercises are here to help you flex those SQL muscles you’ve just built!

Exercises

QUESTIONS ON GITHUB

REVEAL ANSWERS

Group By Exercises

Time to sharpen those skills! The following exercises are here to help you flex those SQL muscles you’ve just built!

Exercises

QUESTIONS ON GITHUB

REVEAL ANSWERS

Window Function Exercises

Skill sharpening time, you know the drill by know now! The following exercises are here to help you flex those SQL muscles you’ve just built!

Exercises

QUESTIONS ON GITHUB

REVEAL ANSWERS

Subquery Exercises

Skill sharpening time. The following exercises are here to help you flex those SQL muscles you’ve just built!

Your best learning comes by DOING, so like Nike says… JUST DO IT!

Exercises

QUESTIONS ON GITHUB

REVEAL ANSWERS

Before We Get Started

Throughout this section, you will find that we are taking a slightly different approach.

When we approached querying it was beneficial to learn the concepts and what they do, applying them to certain scenarios.

Doing all that before touching on exercises builds a solid foundation for applying knowledge.

However, there are many different strategies to employ effective learning, throughout this bootcamp we’ve enjoyed everything from history to theory and practical exercises. In this section, you will find a healthy mix.

From the get-go our plan was to build a solid foundation for you to start off your SQL mastery, as with any technology there are multiple avenues to walk when exploring SQL.

The avenue of data creation and management is one that often crosses the realm of architecture and administrator. You see on the one hand you have the definition and creation of databases and the relationships between different tables and on the other hand, you have the management of roles, permissions, backups, and so forth.

Very different skills indeed, nevertheless extremely valuable to know and use, SQL is so much more than just querying data - it’s a lifestyle ! I joke, but I also digress.

Throughout this section what you will find is a healthy mix of theory and practical application when it comes to management and the principles, as well as a practical example of database architecture and creation.

There are many commands to master in this section, but the reality is once you go out there and start applying these skills that’s when the real learning will start, the foundation this course gives you sets you up for a life long journey of fun problem-solving with SQL!

Extra information on CREATE TABLE

The CREATE TABLE statement is the most important command when making a database, depending on the DBMS you are using the options may vary heavily. In Postgres there are many things you can do with this statement.

We wanted to leave a couple of notes on the creation syntax!

Normal tables

By default any time you run the CREATE TABLE command you will be creating an object in the public schema, unless otherwise specified.

Think of database design like drafting a blueprint for a house, and when you’re creating a table you’re drafting a blueprint for a specific room. What you put on that blueprint will determine how that room is going to look!

In our videos you saw us using this syntax to create many different tables with varying constraints, types and keys.

For the most part creating tables is the easy part, the hardest part is drafting the blueprint upfront so that you know what steps to follow. This is why database design and modelling is so crucial.

Temporary tables

One thing we did not touch on during these videos is the ability to create temporary tables. They are a type of table that exist in a special schema, so you cannot define a schema name when declaring a temporary table.

These types of tables will be dropped at the end of your session. It’s important to also note that they are only visible to the creator.

Now you may be wondering, why would I ever use these? Well if you’re writing intensive queries against a data set it might be beneficial to temporarily create a table based off another table.

This is because:

  • Temporary tables behave just like normal ones
  • Postgres will apply less “rules” (logging, transaction locking, etc.) to temporary tables so they execute more quickly
  • You have full access rights to the data, if you otherwise didn’t so you can test things out.

https://www.postgresql.org/docs/12/sql-createtable.html

Regexes!

When it comes to Regular Expressions, there are many avenues to take to learn and apply this skill. It in itself, is a language that crosses the barriers of each programming language and can be used to validate complex text patterns. Regex comes in multiple “flavours” or what we would like to call “variations”.

It usually finds its place in applying validations to make sure what a user is inputting matches an expectation. That expectation could be anything:

  • An e-mail
  • A phone number
  • An address
  • A postal code

When it comes to data we often have unique ways of writing these things, and they vary from country to country so it is extremely important to be able to know what inputs are expected and validate/sanitize inputs so they match your expectation.

Different languages can have slight variations on how they choose to implement Regex, but they often do not differ heavily.

At the end of the day, what we want to achieve is clean data and we have all of these mechanisms in place to help us, writing constraints is a hard job. For learning Regex there are thousands of resources that can teach you, help you verify and supercharge your skills. We’ve curated a list here of learning resources that we found extremely valuable and helpful:

Extra information on ALTER TABLE

ALTER TABLE is a super powerful yet humble command, yes you heard me humble! I joke, but at the same time, this one command really has a large impact on your database.

As you saw throughout this section I used it to correct some mistakes, add some constraints, etc. but we really didn’t dive deeply into the power that lies dormant in this command.

You may be asking yourself why, but if I were to tell you every possible way you could apply this command there would be an endless amount of videos to supply for each use-case. Our main focus is to build your solid foundation and knowledge is power. Knowing how to apply this command is half the battle, knowing when and where to apply it, well that’s the fun puzzle that awaits you on your SQL journey!

Syntax

As you can see in the above image, the image ALTER command has many things that it can change, from adding and removing columns to renaming them and changing their definition. However, there’s so much more you can do with it!

  • Change the SCHEMA of a table
  • Change the name of a table-level CONSTRAINT
  • Add and remove constraints
  • Change a column level constraint

Our main advice when using this command is to make sure you communicate changes early and set in place a plan for other systems/software to be able to migrate, the last thing you want to happen is changing a column and suddenly all your services start breaking!

https://www.postgresql.org/docs/current/sql-altertable.html

SQL Exercises

Alllllright! We’ve seen so many SQL commands and it’s time to put all of that knowledge to the test the following link will take you to a series of exercises that you can power through!

Some of these exercises may be familiar as we’ve solved a couple early on, but now it’s time to put all your knowledge to the test!

https://www.w3schools.com/sql/sql_exercises.asp

SQL Quiz

Take the following quiz to test out all the knowledge you’ve gained so far!

https://www.w3schools.com/sql/sql_quiz.asp

Getting ready to solve the mystery!

It’s time to setup your environment for the great theft of Keiko Corp! Given we’re SQL masters at this point it’s time to put on our Sherlock Holmes hat and try to sniff out who did it :female_detective::male_detective:‍♂

We have two solid clues so far:

  • It was an inside job

  • It was done on 2020-06-23

With the assumption that it could be an inside job, Keiko Corp has given us full access to their Employee database and their number 1 product: Movr the ride-sharing platform that has taken the globe by storm! Bruno’s hoping that by sifting through all of the data we may uncover some connection with the breach!

For this part of the course, you’ll need 2 databases:

  1. Movr_Employees : This database contains all relevant information about the Employees of Keiko Corp.

Note: this database is slightly different than the Employees database you’ve been using throughout the course. You will see me reference the “Employees” database in the solution videos, however, this is an altered version of the data for the purpose of solving the mystery!

  1. Movr : A ride-sharing product that Keiko offers to consumers.

You can find the files for the Movr and Movr_Employees database in the resources section.

To restore the Movr backup make sure to do the following steps in order:

  1. Create a database named Movr
  2. Restore the schema.sql first to the Movr database
  3. Restore the data.sql next

To restore the Movr_Employees backup make sure to do the following steps in order:

  1. Create a database named Movr_Employees
  2. Restore the movr_employees.sql

Exercise: Solving The First Clues

It sounds crazy, but Bruno’s getting a bit paranoid and wants to cover every possible avenue to figure out who did this.

Keiko employees and their family travel for free with the Movr platform and since Keiko is located in the heart of Downtown New York, he’s thinking they may have used the platform to get around.

With what we know now, we should be able to deduce some information from the Movr database. Let’s try to figure out what vehicles were at the location of Keiko Corp, and let’s not forget our very first clue!

  • Date of incident: 2020-06-23
  • Keiko Corp Longitude: -74.997 to -74.9968
  • Keiko Corp Latitude: 40.5 to 40.6
  1. With this information, we should be able to figure out which Movr rides happened that day around the office.

Try to sift through the database and figure out what table we need to query and what our query would be.

  1. Once you figure out what rides occurred around the office that day, Bruno asks you to find the vehicle and owner info linked to those rides. Make sure you don’t have duplicates! (see image below for expected columns)

Now that we know which vehicles were linked to those rides we use their current location to go and interrogate them for more information!

Exercise: Clue #4

DARN! All the work and the interrogation of the drivers has come up flat! Interestingly enough, we should have been looking at the riders all along. It was staring us right in the face.

So with our current setup, we go ahead and filter out all of the unique riders that were on those suspected rides on that horrible day of the theft.

Make sure to rename the column to “rider name”

Exercise: Clue #5 and #6

Oh boy, this is turning into a doozy of a mystery. Bruno was right all along!

For this part of the mystery, we’re going to have to do something special. We’re going to have to cross-reference data between 2 separate databases. That’s crazy! How do we do that?

Not to worry, it’s simpler than it sounds. Just like when we generated those UUID’s we need to add a new extension to our database and so we need to install it!

create extension dblink; -- run this to run queries across databases

This will install a special utility called dblink that we can then use to query and filter across databases.

Here’s an example on how to use dblink

SELECT * FROM dblink(‘host=localhost user=postgres password=postgres dbname=Employees’, ‘SELECT FROM employees;’) AS t1( NAME)

  • In the above query, you must be aware that the AS clause in the from statement is extremely important to be able to correctly refer to and work with the selected data

  • Also note that it is a bit different than the normal syntax we’ve seen as with dblink. You must return an alias that maps the columns returned and the NAME identifier you see is doing just that

  • Try to write a query with the above that returns the first and last name, but make sure you’re running this query from the Movr database

Now that we’re dblink masters, let’s get on to the more interesting query.

  1. We need to create a view that solely contains the first and last name separated of the suspected riders, as their name field contains both first and last name combined. Use the SQL function split_part to split the rider’s name into two segments (first_name, last_name)!
  2. Then we need to write a query that connects to the Employee database with dblink and cross-reference the first and last names of the riders against the names of the Employees

With the information from this query, we should be able to narrow down who did it!

Exercise: Database Design Quiz

It’s been quite the journey, from zero to mastery one would say!

We’re so happy that you joined us on this journey and hope you enjoyed every part of the course as much as I enjoyed teaching it. I wanted to end on a fun little quiz to help you test your database design knowledge.

DO THE QUIZ !

Exercise: SQL Injection

Let’s learn about one of the most common ways attackers can affect a Database: SQL Injections!

First, let’s learn how it works by actually performing it on a database. Go to this link to try the interactive exercise: https://www.hacksplaining.com/exercises/sql-injection

Once done, you can learn about how to prevent this sort of attack here: https://www.hacksplaining.com/prevention/sql-injection

I have also included optional videos (next 2 videos) from my other course Junior to Senior Web Developer Roadmap where we discuss best security practices for web developers. This way you get to learn how Injection attacks are prevented even before it gets to the database :slight_smile:

Optional: How To Store Passwords

If you want to learn more about how passwords are stored and handled on the database, back in 2016 while I was working for my old employer, I wrote about the best practices. Enjoy the read!

How to Store User Passwords and Overcome Security Threats

Learning Guideline

Since I get this question a lot, I’ve created this info graphic to help you decide what skills you should focus on and what you need to learn to succeed as a successful programmer.

LinkedIn Endorsements

If you are looking to improve your LinkedIn profile and have others endorse your skills, we have a private ZTM LinkedIn group here . LinkedIn allows you to have recruiters message you with lots of job opportunities. You can join the group by clicking on “LinkedIn Group” and then go ahead and endorse some of the member’s skills (other people will do the same for you as they join).

If you have any questions, reach out in our private Discord chat community in the #job-hunting channel!

UPDATE!!! Zero to Mastery is officially a recognized school! What does this mean for you? It means that you can add it as an educational institution on LinkedIn as part of your profile to wow those employers (as your education history) . Check it out here . To add it to your profile:

Step 1: Go to personal LinkedIn profile

Step 2: Scroll down to the Education section

Step 3: Click the +

Step 4: Type in Zero To Mastery Academy

Become An Alumni

I have created the #alumni channel on Discord as well as the Alumni role so you can network with other graduates. Please let myself or the management team know that you have finished the course so you can get the alumni badge in the community!

Simply post your completion certificate in the #alumni channel and tag the @Management Team. If you have finished the course I highly recommend you join the channel and stay up to date and network throughout your career. You never know how it may come in handy in the future. (Ps, you get a course certificate once you complete all lectures including the bonus ones!)

It would be great to have the alumni follow up on their career journey such as: * Did they find a new job? * or * Did they enroll in some further study? * or even * Did they launch their own business/product? *

Many students would benefit from this and I hope you give back a bit to the community :slight_smile:

Coding Challenges

We run monthly coding challenges as part of this course. Each month the challenge is selected to improve a specific part of what it takes to be a great developer. These challenges will sometimes come with awesome prizes as well! If you are looking for extra practice, project ideas, or want to keep your skills up to date, I recommend you keep an eye out on the monthly Academy Member update email or follow the #coding-challenge channel on Discord.

I also recommend you try some of the past challenges while comparing your code to other students from this course. You can find all of the challenges that have happened in the past, including the current one you can join here .

Become a ZTM Ambassador :arrow_right: Refer new students. Earn cash.

Did you love the course? Have you made some great new connections in our ZTM Discord? Are you already telling your friends and family about the Zero To Mastery Academy? If so, thank you so much but also… we’ve now created a way for you to continue spreading the word about the Zero To Mastery community and earn yourself some cold hard cash at the same time :money_with_wings:.

Join The Zero To Mastery Ambassador Team

Becoming a ZTM Ambassador allows you to share Zero To Mastery with your audience, friends, family but allows us to reward you properly for doing so by giving you a 30% recurring commission for every student you refer to the Zero To Mastery Academy.

Our mission is to transform our students lives by teaching them how to code and get hired in a fun and supportive environment. Help us make that happen!

You can learn more about how to join the team here: https://ambassador.zerotomastery.io/join

Quick Note: Upcoming Videos

We have learned that Data is one of the most valuable commodities in the world. One of the newer ways to use this data is to use Machine Learning and Data Science techniques to learn from data.

In this section, we will cover some of the topics covered in my other course - Complete Machine Learning and Data Science Engineer: Zero to Mastery . Although we won’t get deep into how Machine Learning works, we wanted to provide for you an overview of how databases are being used by these Machine Learning and Data Science experts to LEARN from data as we have been in this course.

I hope you find this bonus section useful by giving you a bigger picture of the data industry :slight_smile:

Quick Note: Upcoming Videos

Ready to learn about one of my favourite databases?

Redis is extremely useful and versatile. Although we don’t use SQL with Redis, we wanted to include this database inside of this course because it is such a common database around the industry. The upcoming videos are from my other course - Complete Junior to Senior Web Developer Roadmap . Hope you find this bonus section useful by giving you a bigger picture of the data industry. It should also give you a good idea of how other types of databases are used inside of a company :slight_smile:

Quick Note: Upcoming Videos

Heads up! The next few videos are from my other course, The Complete Web Developer: Zero to Mastery . We wanted to show you how a Database like PortgreSQL gets connected to a web app and a server to actually store user information. Hopefully this gives you insight into the world of Web Development and shows you how we can use Databases in that space.

Please don’t worry too much about the code and the details, but instead, see how we can use libraries specific to the environment (Node.js) and using things like Knex.js to make SQL queries against a database. This is a very common pattern when working with servers!

P.S. Instead of Valentina DB which we have been using in this course, I will be using http://www.psequel.com/ to create the database for our web app since it’s lightweight and simple to use :slight_smile: