The Database Management System (DBMS)
The DBMS
- A Database Management System (DBMS) is the software that manages the database centrally.
- It is what fixes the flat-file problems — one place controls all the data.
- Many programs and users share it safely.
What a DBMS provides
- Data dictionary — a description of every table, field, type and key; programs query it instead of hard-coding the structure.
- Redundancy/consistency control — each fact stored once.
- Concurrent access control — locks and transactions let many users work at once.
- Backup and recovery, security and per-user permissions, and centrally enforced integrity rules (keys, unique/range constraints).
Practice
A data dictionary in a DBMS holds:
The data dictionary describes the database structure, so programs query it rather than hard-coding the layout.
Practice
Compared with flat files, a DBMS reduces redundancy because:
One central database means each fact is stored once, removing the duplicated copies of the flat-file approach.
Transactions and concurrency
- A transaction is a group of operations that all succeed or all fail — no half-finished updates.
- Concurrency control uses locks so two users can't corrupt the same record at once.
- A view is a virtual table that shows each user only "their" slice of the data.
Practice
A database transaction is:
Transactions are all-or-nothing, so the database is never left half-updated.
Practice
Concurrency control (locking) is needed so that:
Locks stop two simultaneous updates from clashing and corrupting shared data.
Practice
A database view is:
A view is a virtual table (often a saved query) that presents a tailored, often restricted, slice of the data.
DBMS tools
- A query builder and SQL editor to ask questions of the data.
- A forms builder for data entry and a report generator for output.
- A data-dictionary editor and user management.
You've got it
Key idea
- a DBMS manages the database centrally for all programs/users
- the data dictionary describes the structure so programs don't hard-code it
- a transaction is all-or-nothing; concurrency control (locks) protects shared data
- a view gives each user a tailored slice of the data