Introduction into relational databases

The most current version as of .

You probably already heard about databases at some point.

You want to face it and learn a little more about

Then read on, we will cover all these super interesting topics in this article!

What the heck is a database?

Basically, a database is something you can store data in, which makes it kind of similar to a file you might think.

But wait, storing in databases is a completely different to storing in files.

So let’s go ahead and compare these two storage types to get an idea about what makes databases the better candidate for storing data.

But before we can actually start our comparison between these two storage types, we first have to find out what to compare.

So, let’s find out some features a good storage solution should have:

Note that there are a lot more things we can compare on, but in this article we will stick to the listed ones above, as these the most important ones.

Files vs. databases

So, now that we have our factors we can compare on, let’s jump right into the great battle of files vs. databases.

Security

Talking about security, database systems already come across with their very own security layer, including authentication, restrictions, and a lot more.

When talking about a plain file storage, there’s nothing like this available right from the start. You would have to go ahead and first create different user groups and permissions on your file system, and then you would have to go to integrate that into your application you are preparing storage for.

Performance and scalability

Databases are highly optimized to perform any operation with the stored data in milliseconds.

Whether you are creating new data, retrieving some existing data, modified data or deleting data — databases perform these operations at an incredible fast speed.

Structure

What we called in our feature list an intuitive and logical way to store data, can also be referred to as optimized structure. And basically, the structure databases use, to store information, is another reason for their great performance advantage.

We will have a closer look into the structure of the most popular database type — relational databases — very soon.

And the winner is …

The main reason we have database technology today is, that ordinary storage solutions like, for example, your local file system, weren’t fast enough to integrate them into high-level applications.

And that’s why databases are the standard way to save information as of today.

So that’s a clear win for our databases here.

How is a database built up?

It’s time to check out which components together form a complete database system.

As mentioned early in this article, we will primary focus on relational databases, as these are the most popular and also most used databases systems.

DBMS

First, there is something called database management system, also referred to as just DBMS or database server.

You can think of it like your File Explorer on Windows or Finder on macOS. While you can manage all your disks and their contents via these programs, with the DBMS you can do the same for databases and their contents.

All operations you will perform working with your databases will go through the management system, which will execute them.

Databases

In your DBMS, you can work with multiple databases. Many projects fit well with just one database, but note, that bigger projects can exist of multiple databases.

If you like the previous analogies from databases to the file system level, you can think of databases like different volumes/disks on your machine.

Tables

In a database, there can be stored multiple tables. Think of a table, like an Excel or Google spreadsheet.

Tables are also called relations or entities. One entity for example could be a person, a job, a house, a game or pretty much anything, which can then be described with different features it has. But we will learn about that when talking about columns in the next section.

Tables are where the actual data is stored in. Data is stored like in a huge “list”, which can hold thousands and even millions of individual records.

But as we are talking about tables, data is not stored like in a plain list, it’s stored in a separated list ⇒ a table of different columns.

Columns

So you have that entity stored in your table, and now you want to store information in that table in a way you can represent/describe the features of that thing.

That’s really what columns are designed for: each column represents a special attribute/feature for the entity of the database table.

For example, for a database table which is storing records of persons, there could be a column for the person’s name, one for their email’s and so on and so on.

Rows

What we called records in the previous sections are the rows in a database table.

Like in a spreadsheet, each row consists of a data value linked to a column of the current database table.

For example, in our table about persons we have a row with the value John, which is liked to the column name.

That’s pretty much it:

Conclusion

Congrats, you have made it right to the finish line, and you should now have a basic idea of the core components and levels of a database system and how they work together.

What’s your first impression about the technology? Did I get you interested in working with databases on your next project?

Make sure to let me know to provide additional resources about databases, when you want to dive in deeper into the topic!

— David Wolf