CHAPTER 01
Database foundations
Recognise what a DBMS does and how database users share responsibility.
Objectives
This chapter introduces databases, the functions of a DBMS and the people who use database systems. By the end, you should be able to:
- distinguish a database, a DBMS and a database system;
- explain the main functions of a DBMS;
- describe when a DBMS is useful;
- distinguish the responsibilities of administrators, designers, developers and end users.
Chapters 2 and 3 develop data models, architecture and database design.
Overview of a Database System
A Database Management System (DBMS) is software used to create, organize, store, and manage a database (a structured collection of related data). A DBMS provides a systematic way to store data, retrieve it quickly, and modify it safely when required.
In practical terms, a DBMS acts as an interface between the stored data and the users/applications, providing mechanisms for consistency, security and availability when multiple users access it. The guarantees depend on the system, its configuration and correct application use.
Key Points
- A DBMS manages a collection of interrelated data stored in a computer system.
- It provides tools to organize and access data efficiently.
- It supports storage, retrieval, insertion, deletion, and update operations.
- It is designed to handle large volumes of data, multiple users, and complex queries reliably.
Definition of DBMS and Database System
- Database: An organized collection of related data (e.g., student records, sales records, hospital data).
- DBMS: Software that manages the database (e.g., MySQL, PostgreSQL, Oracle).
- Database System: Database + DBMS + applications + users + procedures (the complete environment).
Core Functions of a DBMS
A DBMS typically provides:
- Data Storage: Save data in structured form (tables/records).
- Data Retrieval: Fetch data using queries (e.g., SQL).
- Data Manipulation: Insert, update, and delete records safely.
- Data Management: Ensure integrity, security, concurrency, and recovery.
When a DBMS is useful
A DBMS is particularly useful when data is:
- Large in volume (thousands to millions of records)
- Shared among many users (multi-user access)
- Frequently updated (consistency must be maintained)
- Sensitive (security and authorization are required)
- Critical (backup and recovery are needed)
A DBMS provides coordinated tools for managing shared data reliably and efficiently.
Database and Database Users
A database is an organized collection of related data stored in a computer system. The purpose of maintaining a database is to store information in a structured form so that it can be easily accessed, updated, and managed.
A database system is not used by a single person only. In real organizations, different users interact with the database in different ways, depending on their job role and permissions. For example:
- Administrators perform privileged management tasks within the organisation’s access policy.
- Programmers/developers write applications and SQL code to interact with the database.
- End users access data using ready-made applications (such as ERP portals, mobile apps, dashboards, etc.).
So, not everyone gets the same level of access—this is important for security and controlled data management.
Types of Users and Their Responsibilities
Database Administrator (DBA)
A DBA is responsible for the overall management of the database system. Typical tasks include:
- Installing and configuring the DBMS software
- Creating user accounts and managing permissions
- Ensuring database security and backup/recovery
- Monitoring performance and tuning the system
- Ensuring high availability and reliability of the database
In short: the DBA is the caretaker and security guard of the database.
Database Designer
A database designer builds the database structure based on system requirements. Responsibilities include:
- Identifying entities (e.g., Customer, Product, Order) and relationships
- Designing tables, attributes, keys, and constraints
- Creating ER/EER models and converting them into schemas
- Ensuring the database design is efficient and consistent
In short: the designer decides what the database should look like before it is implemented.
Database Developer
A database developer works mainly on implementation and database-side programming. Responsibilities include:
- Writing SQL queries, stored procedures, functions, and triggers
- Implementing constraints and optimization techniques
- Creating and maintaining database objects (tables, views, indexes)
- Supporting performance improvements and query tuning
In short: the developer makes the database work smoothly and respond fast.
Application Programmer
An application programmer develops software applications that interact with the database. Responsibilities include:
- Writing application code (Java/PHP/Python/.NET etc.) that reads/writes database data
- Creating forms, reports, dashboards, and APIs
- Handling transactions and validating inputs in the application layer
- Ensuring secure and correct database access from the software
In short: the application programmer builds the user-facing system that uses the database behind the scenes.
End Users
End users use the database system to perform their work. Many access it through ready-made applications; some, such as analysts, may also write queries. Examples include:
- Students using an admission portal
- Bank customers using mobile banking
- Data analysts viewing reports
- Office staff entering records in an ERP system
End users typically:
- Retrieve information
- Enter or update data through forms
- Generate reports and summaries
- Perform routine operations based on permissions
In short: end users are the consumers of the database services.
Summary
Each role exists because a database system is a shared resource:
- DBA manages and secures the database system.
- Designer designs the database structure.
- Database developer builds database logic and performance features.
- Application programmer builds software that accesses the database.
- End user uses the application to view and update data.
This separation of responsibilities keeps the database system secure, organized, scalable, and maintainable.
Check your understanding
- A spreadsheet already stores student marks. What additional responsibilities would a DBMS take on when 30 teachers update marks concurrently?
- Who should approve access privileges: an end user, an application programmer or a DBA? Explain the separation of responsibilities.
- Give one example each of a database, DBMS and database application.
Suggested answer to question 3
Database: the stored student, course and enrolment records. DBMS: the software managing those records. Application: the student-registration portal that uses the DBMS.