A database is an organised collection of data that can be stored, searched and updated efficiently. Instead of keeping information in scattered text files or spreadsheets, a database gives you one reliable place to store it, with rules that keep the data correct.
A DBMS (Database Management System) is the software that manages that data. An RDBMS (Relational Database Management System) is a DBMS that stores data in relations — what we normally call tables.
Core vocabulary
| Term | Meaning |
|---|---|
| Table | A grid of data about one kind of thing (e.g. students) |
| Row / Record | One single entry (one student) |
| Column / Field | One attribute (e.g. email) |
| Primary key | Column that uniquely identifies each row |
| Foreign key | Column that points to a row in another table |
| Schema | The overall structure: tables, columns, types, rules |
Why use an RDBMS instead of files?
- Integrity — constraints stop bad data from ever being saved.
- Concurrency — thousands of users can read and write at the same time safely.
- Transactions — a group of changes either all succeed or all fail.
- Querying — SQL answers complex questions in one line instead of custom code.
- Security — per-user permissions down to table and column level.
SQL vs NoSQL in one line
SQL databases (MySQL, PostgreSQL, Oracle) use a fixed schema and relationships; NoSQL databases (MongoDB, Redis) trade some of that structure for flexibility and horizontal scale. Most business applications still start with an RDBMS because correctness matters more than schema freedom.
What is SQL?
SQL (Structured Query Language) is the language you use to talk to an RDBMS. It is divided into sub-languages:
- DDL —
CREATE,ALTER,DROP,TRUNCATE(structure) - DML —
INSERT,UPDATE,DELETE(data) - DQL —
SELECT(reading data) - DCL —
GRANT,REVOKE(permissions) - TCL —
COMMIT,ROLLBACK,SAVEPOINT(transactions)