What is a "database"?
NicolasBrondinBernard
An introduction to understanding exactly what this term means.

Article published on 03/05/2021, last updated on 10/08/2026
As soon as you start tackling the creation of a somewhat complex computer system, whether it's software, an application or a website, a database is an essential component.
But what do we really mean by the term "database"? That's what we're going to look at in this introduction to the subject.
Definition
The term "database" is confusing because it is often used as a shortcut to refer to the following different concepts:
- The database management system (DBMS), i.e. the software that manages the storage and retrieval of data.
- The database server, i.e. the machine on which the software runs.
- The instance, i.e. the deployment of a DBMS on a machine, that we actually use, where the data used by our application is stored.
To put it simply, a database is an instance of a DBMS running on a machine, which we call a server.
Why not store information in one or more files
A database management system is used to store data and retrieve it efficiently so that it can be used.
Each DBMS has a very particular storage format and the way of saving and retrieving data is standardized for each system.
It is precisely this standardization, as well as the optimization that allows a large amount of information to be managed, that differentiates a database from a simple file in which we would store and retrieve this information.
Yet the majority of DBMSs also store their data in files on the disk of the machine on which they are installed, the nuance being that these files are (most of the time) stored in binary form for performance reasons.
They are optimized and readable only by the software in question.
Moreover, part of the information contained in a database is loaded into RAM, which makes data retrieval much faster than simply reading a file.
SQL vs NoSQL
There are two main categories of DBMS: those compatible with SQL, and the others, called NoSQL (literally "not SQL").
SQL (standing for Structured Query Language) is a language invented in the 70s at IBM by Donald D. Chamberlin and Raymond F. Boyce and particularly suited to managing data in relational databases.
There are no exact figures on the percentage of SQL usage, but it still largely dominates the market, despite the rise of NoSQL in recent years.
SQL databases
SQL databases are what we call relational databases, meaning that all entities are structured and can be related to one another.
An entity is a set of simple data, which together, form more complex information.
In SQL, we often talk about tables, rows and columns, as in an Excel file:
- A table is a set of complex entities structured in the same way (you can have as many tables as you want, with different structures)
- A column of this table represents a simple piece of data
- A row represents a single complex entity
There are several types of simple data (text, number, date, etc.), some of which will be used as identifiers to link entities (rows) from several tables together in order to give them more meaning.
Example: An article A1 has user U1 as its author and user U2 as its reader
This is referred to as a relational schema, because the entities are related to one another.
Here are a few examples of relational DBMSs compatible with SQL:
- Oracle
- MySQL
- PostgreSQL
- SQL Server
- MariaDB
- ...
NoSQL databases
NoSQL is a category that groups together several subgroups of databases, because as its name suggests, it only indicates that these DBMSs do not use the SQL language to manage their data.
Some of these DBMSs manage relational databases (structured or not), and others non-relational databases (and often unstructured).
Here are some of the most popular NoSQL DBMSs, with their respective types:
- Redis (key-value, neither structured nor relational)
- MongoDB (documents, neither structured nor relational)
- Neo4J (graphs, unstructured but relational)
If you want to discover Redis, I invite you to read my dedicated article!
Non-relational databases are (generally) faster at reading and writing than relational databases, precisely due to the absence of relations, and therefore of their verification.
This speed is often the reason why a project will tend to use a NoSQL database, but a relational database remains essential as soon as your data schema contains relationships.
In conclusion
We speak of a database for an instance, otherwise we will rather speak of a Database Management System (or DBMS).
A DBMS can take different forms, as can the data stored within it and the structuring of queries to manage this data.
There is the SQL language for sending and requesting structured information from relational databases, but not all relational databases necessarily work with SQL.
There is no precise definition of what can be called a database or not, but it is considered that a standardization of the way data is managed, as well as the ability to retrieve/modify a very large amount of data, are the two minimum principles that differentiate a DBMS from a more basic means of data storage, such as a file.
We will rather choose to store data that does not change in a file (configuration, for example), and dynamic data in a database!
No spam. Only free content, news, and ever more resources to level up your skills!
Join +1500 developers
No comments yet