Lesson 1.1 · Reading time: ~8 min
A database is an organized collection of structured data stored electronically and managed by software called a DBMS (Database Management System). In this lesson you'll learn what a database is, how a DBMS works, which types of databases exist, and why SQL remains the universal language for working with them.
SQL is the standard language used to work with relational databases. We will cover it in more detail in a separate lesson later.
Modern applications — from e-commerce platforms to analytics dashboards — all rely on databases to store and process data. Understanding how databases and DBMS work is the essential starting point for learning SQL and working with data in real-world projects.

At its core, a database is an organized collection of structured information stored electronically in a computer system. Think of it as a sophisticated digital filing cabinet — instead of paper documents scattered everywhere, a database provides a structured way to store, manage, and retrieve information efficiently.
Key characteristics of a database:
Databases are the backbone of countless applications and systems we use every day. Key reasons:
This course focuses on relational databases, but it helps to know how they differ from other types:
A DBMS is software that acts as an intermediary between users (or applications) and the database itself. It provides a systematic, controlled way to create, read, update, and delete data while ensuring security, consistency, and performance.
Core functions of a DBMS:
Well-known DBMS examples: MariaDB, PostgreSQL, MySQL, SQLite, Oracle Database, Microsoft SQL Server.
A DBMS GUI (Graphical User Interface) tool is a separate desktop or web application that provides a visual interface for working with a DBMS. The DBMS is the engine that stores and processes data; the GUI tool is just a client that connects to the DBMS and sends commands on your behalf.
Popular DBMS GUI tools:
| Tool | Works with |
|---|---|
| DBeaver | MariaDB, PostgreSQL, MySQL, SQLite, and many more |
| TablePlus | MariaDB, PostgreSQL, MySQL, SQLite, and more |
| pgAdmin | PostgreSQL |
| MySQL Workbench | MySQL / MariaDB |
| DataGrip | Most major DBMS |
| HeidiSQL | MariaDB, MySQL, PostgreSQL |
| DB Browser for SQLite | SQLite |
Key differences between a DBMS and a GUI tool:
| Aspect | DBMS | DBMS GUI Tool |
|---|---|---|
| Role | The database engine — stores, manages, and processes data | A client app — connects to the DBMS to display and edit data |
| Required? | Yes — cannot store or query data without it | No — optional convenience tool |
| Runs where? | Typically on a server (or locally for SQLite) | On the developer's or administrator's machine |
| Interface | Command-line / programmatic API | Visual windows, query editors, table browsers |
| Capabilities | Full control over storage, transactions, security | Subset of DBMS features, presented visually |
In short, the DBMS is the engine and the GUI tool is the dashboard. Throughout this course we'll interact with databases using SQL directly — the language understood by every DBMS — regardless of which GUI tool you choose alongside it.
In this course we'll dive deep into relational databases and the SQL (Structured Query Language) used to interact with them. The relational model, with its well-defined structure and powerful querying capabilities, remains a cornerstone of data management and analysis.
Key Takeaways:
A database is the data itself — organized tables and records. A DBMS is the software (e.g. PostgreSQL, MariaDB) that stores, manages, and provides access to that data. Without a DBMS, a database is inaccessible.
SQL (Structured Query Language) is the standard language for creating, querying, updating, and deleting data in relational databases. SQL is used in over 90% of commercial and analytical systems, making it one of the most in-demand skills in software development and data analysis.
For beginners, SQLite (zero setup, file-based) or PostgreSQL (free, powerful, production-ready) are excellent starting points. Both are well-documented and widely used in real projects.
A database is an organized, persistent collection of structured data stored electronically and managed by a DBMS. It allows multiple users and applications to store, retrieve, and manipulate data reliably, with guarantees around consistency and integrity.
A DBMS handles: data definition (schema, tables, constraints), data manipulation (CRUD via SQL), transaction management (ACID properties), concurrency control, access security and authorization, backup and recovery, and data integrity enforcement.
ACID stands for Atomicity (a transaction fully succeeds or fully fails), Consistency (data stays valid after each transaction), Isolation (concurrent transactions don't interfere), and Durability (committed data survives failures). These properties are critical for banking, billing, and any system where data correctness is non-negotiable.
A relational database stores data in structured tables with rows and columns, uses SQL, and enforces ACID transactions. NoSQL databases (key-value, document, graph, wide-column) trade some consistency guarantees for schema flexibility or horizontal scalability. The right choice depends on data structure and workload.
A DBMS (e.g. PostgreSQL, MariaDB) is the engine — it stores, manages, and processes data. A GUI tool (e.g. DBeaver, pgAdmin) is an optional client application that connects to the DBMS and provides a visual interface for writing queries and browsing data. The DBMS is required; the GUI tool is not.