Database Management System (DBMS) / Types of Databases

Relational Databases

A Relational Database is a type of database that stores data in the form of tables (relations) consisting of rows (records) and columns (attributes).

It uses Structured Query Language (SQL) to manage and query data.

It is based on E.F. Codd’s relational model (1970), where data is organized into interconnected tables, and relationships are maintained using primary keys and foreign keys.


  • Primary Key: Uniquely identifies each row (e.g., ID)

  • Foreign Key: Links one table to another (e.g., Dept in Students references Departments)


🔧 Core Features of RDBMS

Feature

Description

📐 Structured Schema

Tables have predefined structure

📎 Data Integrity

Enforced via constraints (PK, FK, UNIQUE, NOT NULL)

🔗 Relationships

Built using joins and foreign keys

🧪 ACID Properties

Ensures reliable transactions

🔍 Powerful Queries

SQL supports filtering, sorting, joining, aggregating


✅ Advantages of Relational Databases

Advantage

Description

✅ Data Integrity

Enforced rules ensure valid data

✅ Strong Consistency

ACID-compliant transactions

✅ Easy Relationships

Natural for modeling linked data

✅ Standardized Language

SQL is widely known and used

✅ Security Features

Role-based access control, encryption, etc.


❌ Disadvantages of Relational Databases

Disadvantage

Description

❌ Scalability Limits

Vertical scaling (hard to distribute)

❌ Fixed Schema

Inflexible for changing data models

❌ Performance Overhead

Joins and normalization slow for big data

❌ Not Ideal for Unstructured Data

Binary, multimedia, or nested objects


🧰 Examples of RDBMS Software

Database

Description

MySQL

Open-source, widely used in web apps

PostgreSQL

Advanced features, ACID-compliant

Oracle DB

Enterprise-grade, powerful and secure

SQL Server

Microsoft's RDBMS, good for enterprise use

SQLite

Lightweight, file-based, used in mobile apps


📍 Use Cases

Use Case

Reason

💳 Banking/Finance

High consistency and transactional support

📊 Enterprise Applications

Inventory, payroll, HRMS

🧾 Invoicing/Billing Systems

Relational structure suits record-keeping

🏫 School/College Databases

Student/course/teacher relationships


🔁 Relational vs Non-Relational (Quick Look)

Feature

Relational (SQL)

Non-Relational (NoSQL)

Data Model

Tables (rows/columns)

Documents, key-value, etc.

Schema

Fixed

Flexible / schema-less

Scaling

Vertical (scale-up)

Horizontal (scale-out)

Transactions

Full ACID support

Often eventual consistency

Best For

Structured, relational

Unstructured, scalable