So, what exactly is SQL?
Well, I gave you a brief introduction
in the previous course section already of course.
Now, you did learn that for some people,
SQL stands for structured query language,
even though that's not actually where it comes from,
but either way,
it is a language that's used for talking
to relational database management systems,
which are systems that use multiple tables
to store data in those tables.
And that the idea there,
is that the data in those tables is normalized
and clearly structured that you have clearly defined schemas
and data types,
which then apply to all the data in the tables.
And you learned that you can of course,
then also query your data in those databases.
And that also includes queries across multiple tables
to query for a connected records
as we, for example,
do it here for our flights and then the airport data.
So, SQL is a query language
for relational database management systems.
Though actually,
it's also used beyond that for data analysis tasks
and so on.
So, knowing SQL is never a bad idea.
It will always help you if you're doing anything
related to development or data science.
But in this course,
and probably the biggest area where it's being used,
is that you use it for querying data structured
and stored in relational database management systems.
And there, we have all these ideas
I outlined a couple of seconds ago
and therefore,
definitely go through this previous course section again,
if you're not 100% sure what databases,
database systems to be precise, SQL and so on,
are all about.
Now, in this course section,
I wanna introduce you to SQL.
I wanna show you how to install
and set up a SQL based database.
I wanna introduce you to the SQL language
and show you how you can write your own queries.
And therefore,
I prepared a little demo,
a demo imaginary application
for which we might wanna build our database structure
in this course section.
And therefore,
in this course section together with you,
I wanna build a database structure
that we could use in an application
that deals with restaurants and reviews
for these restaurants.
And we're not going to write the actual website code.
We're not going to write any front-end
or back-end code there,
but instead in this course section,
we're going to focus on setting up the database,
such an application could use.
In the next course section,
we are going to write code and you are going to see
how you can then use your SQL knowledge
you gain in this course section,
in your NodeJS code to actually send data
into a database from there.
But for this course section let's say,
we actually want to have data about restaurants,
for example, a unique ID, the name,
the address of a restaurant,
and the type of restaurant it is.
And we also wanna have data about reviews.
And the idea here,
is that we also have an ID,
the name of their reviewer,
so of the person who left the review,
then a rating,
let's say one to five,
then some review text.
So, a short comment by the reviewer
and the date when the review was left.
And of course, these two pieces of data
should also be connected somehow,
so that reviews are connected to restaurants
because we are reviewing restaurants in the end.
So, that's the general idea
with which we're going to work in this course section.
And throughout the course section,
we are going to plan the database tables
we need for that,
the data types we need for that,
and we're going to write actual queries for inserting data,
updating data, deleting and fetching data.
And therefore, we've got a couple of steps
through which we will go in this course section.
And the first step is to actually install
and set up a SQL database system.
So, some software on our computer,
which actually run stat database system.
And we will do that in the next lecture.
And then I will also talk about some choices we have there
because there was more than one SQL database system provider
out there.
And that's the first thing we have to do.
Now, once we got a database system up and running,
we of course have to define the tables
we wanna create in there and the structure of these tables.
Which columns do we want to have in there?
And which kind of data should be stored in each column?
That will be the second step.
And there after of course,
we wanna learn how to insert data
into our database tables,
how we can then read data from those database tables,
including filtering
so that we maybe don't read all the records in a database,
but only certain records that meet a certain condition.
We will also learn how we can update data
in the database tables.
And of course also, how we can delete data
in our database tables,
and therefore, all these CRUD operations
will be covered in this course section.
And hence,
let's now start with setting up and with installing
our SQL database system.
And let's first of all,
understand which options we have there.