2 SQL databases

SQL stands for structured query language and is used for querying relational databases. Relational databases derive from the idea of simple tables. Every row in the table is then called a dataset or tuple; its columns hold the so-called attributes of the datasets. Relations between tables can be expressed by using the same identifier (ID) or a combination of attributes for a dataset in different tables, this is also referred to as a key.

Kaufmann and Meier (2019) state that “SQL is a descriptive language, as the statements describe the desired result instead of the necessary computing steps” (p. 6). Following this, the most important keywords for SQL queries are SELECT for retrieving data, INSERT INTO for adding data, DELETE for erasing data as well as UPDATE for changing existing data. These operations map the classic CRUD (Create, Read, Update, Delete) operations for persistent storage.

SQL databases were the first databases to be used in web applications which is why they are still very popular and a range of options exists. Three popular choices (Kamaruzzaman, 2021) shall be presented in the following sections.

2.1 MySQL

MySQL is a relational database management system (RDBMS). It is characterized as being fast and robust (Welling and Thompson, 2003). Specifically, MySQL is made up of an “…SQL server, client programs for addressing the server, administrative tools, and a programming interface for writing (…) own programs” (DuBois, 2008). For web services, it is often used in conjunction with PHP and the Apache web server – this is referred to as the “LAMP stack” (Linux, Apache, MySQL, PHP). Companies such as Uber, Netflix, Tesla and YouTube use MySQL in their tech stack (MySQL, 2022) but it is also an inherent part of content management systems such as WordPress, Joomla and Drupal.

2.2 MariaDB

Because of concerns about the acquisition of MySQL by Oracle in 2008, some of the original MySQL developers forked MariaDB which is now community-developed. The RDBMS has a high compatibility with MySQL since both of them are based on the same code in their core. Although the two are similar in many aspects, there are some differences – for example concerning the support of the JSON datatype, authentication and encryption (Shay, 2018).

2.3 PostgreSQL

PostgreSQL adds the layer of objects to a RDBMS and is thus called an Object-Relational Database Management System. An ORDBMS works very similar to a relational database but it bridges the worlds of object oriented thinking and relational databases. PostgreSQL emerged from the project Ingres that was developed at the University of Berkeley California during the 1980s (Drake and Worsley, 2002) and is an open source project.