Introduction
Key Terminologies
Data: This is just raw, unorganized information without any extra context.
Record: A collection of related data fields packaged together to describe one single real-world object. For example, grouping an instructor’s ID, their name, and their department into a single cohesive row.
File: A collection of related records.
Database: The collection of structured information relevant to an enterprise is referred to as the database.
A Database Management System (DBMS) is a collection of interrelated data along with a set of programs designed to store, manage and access the data efficiently and conveniently.
A DBMS is typically used to manage data that is highly valuable, relatively large and accessed by multiple users at the same time. Applications : Sales, Manufacturing, Banking, Airlines, University etc.
Why DBMS?
Historically, companies kept their permanent records in separate flat text files managed by conventional operating systems. Doing this without a centralized DBMS creates massive problems:
Data Redundancy & Inconsistency: Separate departments build their own unique files over time. If a student changes their address, it gets updated in one file but remains outdated in another, leading to conflicting records.
Difficulty in Accessing Data: Standard files aren’t flexible. If a manager asks for a quick, unique list that the original developer didn’t explicitly anticipate, a programmer has to write a brand-new script from scratch. It’s slow and unresponsive.
Data Isolation: Data gets scattered across disconnected files with conflicting file layouts and disparate formats, making it incredibly complex to build new applications that aggregate data.
Integrity Problems: Real world rules, like a bank balance never dropping below zero, must be manually hardcoded into every single application script. If the rule changes, editing hundreds of decoupled programs is prone to human error.
Atomicity Issues: Computer hardware is vulnerable to power failures or crashes. Database operations must be “all-or-nothing” (atomic). If a system crashes halfway through a fund transfer, a file system makes it very difficult to cleanly roll back the changes.
Concurrent-Access Anomalies: To keep response times fast, systems must let multiple processes update data simultaneously. Without a centralized coordination engine, separate programs independently reading and writing raw text files will crash into each other and overwrite each other’s updates.
Security Flaws: Enforcing granular security (like letting a user see specific fields or rows but hiding others) is almost impossible because the underlying operating system doesn’t understand the internal semantics of the data files.