Database Management Systems

Table of Contents

  1. ER Modeling
  2. Relational Model Basics
  3. Normalization
  4. Functional Dependencies
  5. Relational Algebra
  6. SQL
  7. Transaction Management
  8. Concurrency Control
  9. Deadlock
  10. Recovery Techniques
  11. File Organization & Indexing
  12. Query Optimization

ER Modeling

Key Components

Entity

Attributes

Type Description Example
Simple Cannot be subdivided Employee_ID
Composite Can be subdivided Name → First, Middle, Last
Single-valued One value per entity Date_of_Birth
Multi-valued Multiple values per entity Phone_Numbers
Derived Computed from other attributes Age (from DOB)
Key Uniquely identifies entity Employee_ID
Stored Used to derive other attributes Date_of_Birth

Relationships

ER to Relational Mapping


Relational Model Basics

Key Terminology

Keys

Key Type Definition
Super Key Set of attributes that uniquely identifies a tuple
Candidate Key Minimal super key (no proper subset is a super key)
Primary Key Chosen candidate key to identify tuples
Alternate Key Candidate keys not chosen as primary key
Foreign Key Attribute in one table that references primary key of another
Composite Key Key with more than one attribute

Integrity Constraints


Normalization

Normalization is the process of decomposing relations to eliminate redundancy and anomalies (insertion, deletion, update anomalies).

Anomalies

First Normal Form (1NF)

Rule: All attributes must contain atomic (indivisible) values; no repeating groups or arrays.

Example — Unnormalized:
| Student_ID | Name | Subjects |
|-----------|------|----------|
| 1 | Alice | Math, Science |
| 2 | Bob | English |

1NF Compliant:
| Student_ID | Name | Subject |
|-----------|------|---------|
| 1 | Alice | Math |
| 1 | Alice | Science |
| 2 | Bob | English |

Second Normal Form (2NF)

Rule: Must be in 1NF + No partial dependency (non-prime attribute must depend on the ENTIRE candidate key, not just part of it).

Applies only when there is a composite key.

Example — Not in 2NF:
| Student_ID | Subject_ID | Student_Name | Subject_Marks |
|-----------|-----------|-------------|--------------|
| 1 | S1 | Alice | 85 |
| 2 | S2 | Bob | 90 |

2NF Compliant:
| Student_ID | Student_Name |
|-----------|-------------|
| 1 | Alice |
| 2 | Bob |

Student_ID Subject_ID Subject_Marks
1 S1 85
2 S2 90

Third Normal Form (3NF)

Rule: Must be in 2NF + No transitive dependency (non-prime attribute should not depend on another non-prime attribute).

Example — Not in 3NF:
| Emp_ID | Emp_Name | Dept_ID | Dept_Name |
|--------|---------|---------|-----------|
| 1 | Alice | D1 | HR |
| 2 | Bob | D2 | Finance |

3NF Compliant:
| Emp_ID | Emp_Name | Dept_ID |
|--------|---------|---------|
| 1 | Alice | D1 |
| 2 | Bob | D2 |

Dept_ID Dept_Name
D1 HR
D2 Finance

Boyce-Codd Normal Form (BCNF)

Rule: Must be in 3NF + For every non-trivial FD (X → Y), X must be a super key.

BCNF is stricter than 3NF. Every BCNF relation is in 3NF, but not vice versa.

Example — In 3NF but NOT BCNF:
| Student | Subject | Professor |
|---------|---------|-----------|
| Alice | Math | Dr. Smith |
| Bob | Math | Dr. Smith |
| Alice | Science | Dr. Jones |

BCNF Compliant:
| Professor | Subject |
|-----------|---------|
| Dr. Smith | Math |
| Dr. Jones | Science |

Student Professor
Alice Dr. Smith
Bob Dr. Smith
Alice Dr. Jones

Normalization Summary

Normal Form Condition Eliminates
1NF Atomic values only Repeating groups
2NF 1NF + No partial dependency Partial dependencies
3NF 2NF + No transitive dependency Transitive dependencies
BCNF Every determinant is a super key All FD-based anomalies

Functional Dependencies

A functional dependency (FD) X → Y means: for any two tuples, if they agree on X, they must agree on Y.

Types of Functional Dependencies

Armstrong's Axioms

Axiom Rule Description
Reflexivity If Y ⊆ X, then X → Y Trivial dependencies
Augmentation If X → Y, then XZ → YZ Add same attributes to both sides
Transitivity If X → Y and Y → Z, then X → Z Chain rule
Union If X → Y and X → Z, then X → YZ Combine RHS
Decomposition If X → YZ, then X → Y and X → Z Split RHS
Pseudotransitivity If X → Y and WY → Z, then WX → Z Derived rule

Closure of Attribute Set (X⁺)

The set of all attributes functionally determined by X.

Algorithm to find X⁺:
1. Start with result = X
2. For each FD in F: if LHS ⊆ result, add RHS to result
3. Repeat until no more attributes can be added

Example:
- R = {A, B, C, D, E}
- FDs: A → BC, CD → E, B → D, E → A
- Find {A}⁺:
- Start: {A}
- A → BC: {A, B, C}
- B → D: {A, B, C, D}
- CD → E: {A, B, C, D, E}
- {A}⁺ = {A, B, C, D, E} → A is a candidate key!

Canonical Cover (Minimal Cover)

A canonical cover Fc is a minimal set of FDs equivalent to the original set F, with:
1. No extraneous attributes on either side
2. No redundant FDs
3. Each FD has a single attribute on RHS

Steps to find Canonical Cover:
1. Decompose all FDs to have single attribute on RHS
2. Remove extraneous attributes from LHS (check if removing an attribute still gives same closure)
3. Remove redundant FDs (check if an FD can be derived from remaining FDs)

Example:
- F = {A → BC, B → C, A → B, AB → C}
- Step 1: {A → B, A → C, B → C, AB → C}
- Step 2: Check AB → C: Is A⁺ (using remaining FDs) containing C? A → C, so yes. Remove B from LHS → A → C (already exists)
- Step 3: Check A → C: Can we derive it from {A → B, B → C}? Yes (transitivity). Remove A → C.
- Fc = {A → B, B → C}


Relational Algebra

Relational algebra is a procedural query language that takes relations as input and produces relations as output.

Basic Operations

Selection (σ)

Selects rows (tuples) that satisfy a condition.

σ_condition(R)

Example: σ_salary>50000(Employee) — selects employees with salary > 50000

Projection (π)

Selects specific columns (attributes).

π_attribute_list(R)

Example: π_name, salary(Employee) — shows only name and salary columns

Union (∪)

Combines tuples from two relations (must be union-compatible — same attributes).

R ∪ S

Eliminates duplicates.

Set Difference (−)

Tuples in R but not in S.

R − S

Cartesian Product (×)

Combines every tuple of R with every tuple of S.

R × S

If R has m tuples and S has n tuples, result has m × n tuples.

Rename (ρ)

Renames a relation or attributes.

ρ_new_name(R)  or  ρ_new_name(attr1, attr2,...)(R)

Derived Operations

Intersection (∩)

Tuples common to both R and S.

R ∩ S = R − (R − S)

Join Operations

Theta Join (⋈_θ)

R ⋈_θ S = σ_θ(R × S)

Joins based on any condition θ.

Equi Join
Special case of theta join where condition uses only =.

R ⋈_(R.A=S.B) S

Natural Join (⋈)
- Equi join on all common attribute names
- Duplicate columns eliminated automatically
- Most commonly used join

Outer Joins:
- Left Outer Join (⟕): All tuples from R + matching from S; NULL for non-matching S attributes
- Right Outer Join (⟖): All tuples from S + matching from R; NULL for non-matching R attributes
- Full Outer Join (⟗): All tuples from both; NULL where no match

Division (÷)

R ÷ S

Returns tuples in R that are associated with every tuple in S.

Example: R(Student, Course) ÷ S(Course) → Students enrolled in ALL courses listed in S.

Condition: If R has attributes (A, B) and S has attribute (B), then R ÷ S gives all A values that appear with every B value in S.

Relational Algebra Quick Reference

Operation Symbol Purpose
Selection σ Filter rows
Projection π Select columns
Union Combine (OR)
Difference Remove (NOT)
Cartesian Product × All combinations
Join Combine related tuples
Division ÷ "For all" queries
Rename ρ Rename

SQL

SQL Command Categories

Category Commands Purpose
DDL (Data Definition) CREATE, ALTER, DROP, TRUNCATE, RENAME Define/modify structure
DML (Data Manipulation) SELECT, INSERT, UPDATE, DELETE Manipulate data
DCL (Data Control) GRANT, REVOKE Control access
TCL (Transaction Control) COMMIT, ROLLBACK, SAVEPOINT Manage transactions

DDL Commands

CREATE TABLE Employee (
    Emp_ID INT PRIMARY KEY,
    Name VARCHAR(50) NOT NULL,
    Salary DECIMAL(10,2) DEFAULT 0,
    Dept_ID INT,
    FOREIGN KEY (Dept_ID) REFERENCES Department(Dept_ID)
);

ALTER TABLE Employee ADD Email VARCHAR(100);
ALTER TABLE Employee MODIFY Salary DECIMAL(12,2);
ALTER TABLE Employee DROP COLUMN Email;

DROP TABLE Employee;        -- Removes table structure + data
TRUNCATE TABLE Employee;    -- Removes all data, keeps structure (faster, cannot rollback)

DML Commands

-- INSERT
INSERT INTO Employee (Emp_ID, Name, Salary) VALUES (1, 'Alice', 50000);

-- UPDATE
UPDATE Employee SET Salary = 55000 WHERE Emp_ID = 1;

-- DELETE
DELETE FROM Employee WHERE Emp_ID = 1;

-- SELECT (with clauses)
SELECT Name, Salary FROM Employee
WHERE Salary > 40000
ORDER BY Salary DESC;

SQL Joins

-- INNER JOIN: Only matching rows
SELECT E.Name, D.Dept_Name
FROM Employee E INNER JOIN Department D ON E.Dept_ID = D.Dept_ID;

-- LEFT JOIN: All from left + matching from right
SELECT E.Name, D.Dept_Name
FROM Employee E LEFT JOIN Department D ON E.Dept_ID = D.Dept_ID;

-- RIGHT JOIN: All from right + matching from left
SELECT E.Name, D.Dept_Name
FROM Employee E RIGHT JOIN Department D ON E.Dept_ID = D.Dept_ID;

-- FULL OUTER JOIN: All from both
SELECT E.Name, D.Dept_Name
FROM Employee E FULL OUTER JOIN Department D ON E.Dept_ID = D.Dept_ID;

-- CROSS JOIN: Cartesian product
SELECT E.Name, D.Dept_Name
FROM Employee E CROSS JOIN Department D;

-- SELF JOIN: Join table with itself
SELECT A.Name AS Employee, B.Name AS Manager
FROM Employee A, Employee B
WHERE A.Manager_ID = B.Emp_ID;

Subqueries

-- Single-row subquery
SELECT Name FROM Employee
WHERE Salary = (SELECT MAX(Salary) FROM Employee);

-- Multi-row subquery (IN, ANY, ALL)
SELECT Name FROM Employee
WHERE Dept_ID IN (SELECT Dept_ID FROM Department WHERE Location = 'Mumbai');

-- Correlated subquery (executes once per outer row)
SELECT E1.Name FROM Employee E1
WHERE E1.Salary > (SELECT AVG(E2.Salary) FROM Employee E2 WHERE E2.Dept_ID = E1.Dept_ID);

Views

CREATE VIEW HighSalaryEmp AS
SELECT Name, Salary FROM Employee WHERE Salary > 50000;

-- Views are virtual tables (don't store data)
-- Can be used for security (restrict column/row access)
-- WITH CHECK OPTION prevents inserting rows that don't satisfy view condition

Indexes

CREATE INDEX idx_salary ON Employee(Salary);
CREATE UNIQUE INDEX idx_email ON Employee(Email);
CREATE INDEX idx_name_dept ON Employee(Name, Dept_ID);  -- Composite index

-- Clustered Index: Physically reorders table data (only one per table)
-- Non-clustered Index: Separate structure pointing to data (multiple allowed)

Aggregate Functions

Function Purpose
COUNT(*) Count all rows
COUNT(column) Count non-NULL values
SUM(column) Total
AVG(column) Average
MAX(column) Maximum
MIN(column) Minimum
SELECT Dept_ID, AVG(Salary), COUNT(*)
FROM Employee
GROUP BY Dept_ID
HAVING AVG(Salary) > 50000;

SQL Execution Order

FROM → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT


Transaction Management

A transaction is a logical unit of work that must be executed completely or not at all.

ACID Properties

Property Description Mechanism
Atomicity All or nothing — transaction is indivisible Undo/rollback using log
Consistency Transitions database from one valid state to another Integrity constraints + application logic
Isolation Concurrent transactions don't interfere Concurrency control (locking)
Durability Committed changes survive failures Write-ahead logging, checkpoints

Transaction States

  1. Active: Transaction is executing
  2. Partially Committed: After final statement executed
  3. Committed: After successful completion (changes permanent)
  4. Failed: Cannot proceed normally
  5. Aborted: Rolled back, database restored to prior state
  6. Terminated: Either committed or aborted

Serializability

Conflict Serializability

Two operations conflict if:
1. They belong to different transactions
2. They access the same data item
3. At least one is a write operation

Conflict Equivalent: Can transform one schedule into another by swapping non-conflicting operations.

Precedence Graph (Conflict Graph):
- Nodes = Transactions
- Edge Ti → Tj if Ti has an operation that conflicts with and precedes an operation of Tj
- Schedule is conflict serializable iff the graph is acyclic.

View Serializability

More general than conflict serializability. Two schedules are view equivalent if:
1. Same initial reads
2. Same read-after-write dependencies
3. Same final writes


Concurrency Control

Problems with Concurrent Execution

Problem Description
Lost Update Two transactions update same data; one update is lost
Dirty Read Reading uncommitted data that may be rolled back
Unrepeatable Read Same query returns different results within a transaction
Phantom Read New rows appear between two reads of a range

Locking Protocols

Types of Locks

S-lock X-lock
S-lock ✅ Compatible ❌ Conflict
X-lock ❌ Conflict ❌ Conflict

Two-Phase Locking (2PL)

A transaction follows 2PL if it has two phases:
1. Growing Phase: Can acquire locks, cannot release any
2. Shrinking Phase: Can release locks, cannot acquire any

Variants:
- Basic 2PL: Ensures conflict serializability but may cause cascading rollbacks
- Strict 2PL: All exclusive locks held until commit/abort — prevents cascading rollbacks
- Rigorous 2PL: All locks held until commit/abort — simplest to implement

Timestamp Ordering Protocol

Multiple Granularity Locking


Deadlock

Deadlock Conditions (All must hold simultaneously)

  1. Mutual Exclusion: Only one transaction can hold a resource at a time
  2. Hold and Wait: Transaction holds one resource while waiting for another
  3. No Preemption: Resources cannot be forcibly taken
  4. Circular Wait: T1 waits for T2, T2 waits for T3, ..., Tn waits for T1

Deadlock Handling Strategies

Prevention

Detection

Recovery from Deadlock

Deadlock Avoidance (Timeout-based)


Recovery Techniques

Log-Based Recovery

A log records all changes made by transactions.

Log Records

Record Meaning
<T, start> Transaction T started
<T, X, old_value, new_value> T modified X
<T, commit> T committed
<T, abort> T aborted

Write-Ahead Logging (WAL)

Rule: Log record must be written to stable storage before the actual data modification.

Undo and Redo

Checkpointing

A checkpoint pauses all transactions, flushes dirty pages, and writes a checkpoint record to log.

Types:
- Simple Checkpoint: Pause all transactions, flush, record checkpoint
- Fuzzy Checkpoint: Don't pause transactions; record active transaction list

Recovery Process:
1. Start from last checkpoint
2. Redo Phase: Redo all committed transactions after checkpoint
3. Undo Phase: Undo all uncommitted transactions

ARIES Recovery Algorithm


File Organization & Indexing

File Organization Methods

Method Description Use Case
Heap (Unordered) Records placed in insertion order Full table scans
Sorted Records sorted by key value Range queries
Hashed Hash function determines record location Exact match queries
Clustered Related records from different tables stored together Join operations

Indexing

Primary Index

Secondary Index

Clustering Index

B+ Tree Indexing

Structure:
- Root: Contains keys and pointers to internal nodes
- Internal Nodes: Contain keys and pointers to child nodes
- Leaf Nodes: Contain keys and data pointers; linked together (for range queries)

Properties of B+ Tree of order m:
- Each internal node has at most m children
- Each internal node (except root) has at least ⌈m/2⌉ children
- Root has at least 2 children (if not a leaf)
- All leaves at same level
- Leaf nodes linked in a linked list

Operations:
- Search: O(log_m N) — traverse from root to leaf
- Insert: Find leaf, insert; if overflow, split node and propagate up
- Delete: Find and delete; if underflow, merge or redistribute

Advantages:
- Balanced tree — guaranteed O(log n) operations
- Efficient for range queries (linked leaf nodes)
- Minimizes disk I/O (high fanout = shallow tree)

B Tree vs B+ Tree:
| Feature | B Tree | B+ Tree |
|---------|--------|---------|
| Data in internal nodes | Yes | No (only in leaves) |
| Leaf linked list | No | Yes |
| Range queries | Less efficient | Very efficient |
| Space utilization | Lower | Higher |


Query Optimization

Query Processing Steps

  1. Parsing and Translation: Parse SQL → relational algebra expression
  2. Optimization: Generate efficient execution plan
  3. Evaluation: Execute the plan

Optimization Strategies

Algebraic Optimization

Cost-Based Optimization

Join Optimization

Index Usage

Query Execution Plan

EXPLAIN SELECT * FROM Employee WHERE Salary > 50000;

Shows the execution plan chosen by the optimizer (index scan, full table scan, join method, etc.)


Key Formulas and Points Summary

Concept Key Point
Normalization 1NF → 2NF → 3NF → BCNF (progressively stricter)
2NF No partial dependency (relevant for composite keys)
3NF No transitive dependency
BCNF Every determinant must be a super key
Armstrong's Axioms Reflexivity, Augmentation, Transitivity (+ Union, Decomposition)
ACID Atomicity, Consistency, Isolation, Durability
2PL Growing phase (acquire) + Shrinking phase (release)
Deadlock Mutual Exclusion + Hold & Wait + No Preemption + Circular Wait
B+ Tree All data in leaves; leaves linked; balanced
WAL Log before data modification

Exam Tips

  1. Normalization: Practice identifying normal forms with examples — most frequently tested
  2. Functional Dependencies: Be able to compute closure and canonical cover
  3. Relational Algebra: Know the symbols and be able to write expressions for queries
  4. SQL Joins: Understand the difference between all join types with examples
  5. ACID Properties: Know each property and the mechanism that ensures it
  6. 2PL: Understand growing/shrinking phases and strict vs rigorous variants
  7. Deadlock: Know all 4 conditions and prevention/detection methods
  8. B+ Tree: Understand structure, properties, and why it's preferred for databases
  9. Serializability: Be able to check conflict serializability using precedence graph
  10. Recovery: Understand WAL, checkpointing, and undo/redo

Practice Questions

10 MCQs for Database Management Systems with detailed explanations.

Q1. Which of the following best describes - If T wants to READ(X): if TS(T) < W-ts(X) → reject (T?

✅ Correct Answer: Option B

Explanation:
The correct answer is Option B — too old); else allow and update R-ts(X).

This concept is covered under Database Management Systems in the CBDT Assistant Director Systems syllabus. The answer is established through standard definitions and widely accepted principles in the field.

Why other options are incorrect:
- Option A — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option C — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option D — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.


Q2. Which of the following best describes - {A}⁺ = {A, B, C, D, E} → A?

✅ Correct Answer: Option A

Explanation:
The correct answer is Option A — a candidate key!.

This concept is covered under Database Management Systems in the CBDT Assistant Director Systems syllabus. The answer is established through standard definitions and widely accepted principles in the field.

Why other options are incorrect:
- Option B — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option C — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option D — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.


Q3. Regarding the following concept: 'Three entities — e.g., Supplier supplies Part to Project

-...', which statement is correct?

-
- C. This approach has been deprecated in all modern implementations
- D. This concept applies only to analog systems and not digital ones

✅ Correct Answer: Option B

Explanation:
The correct answer is Option B — Three entities — e.g., Supplier supplies Part to Project

-.

This concept is covered under Database Management Systems in the CBDT Assistant Director Systems syllabus. The answer is established through standard definitions and widely accepted principles in the field.

Why other options are incorrect:
- Option A — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option C — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option D — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.


Q4. Which of the following best describes 3. At least one?

✅ Correct Answer: Option D

Explanation:
The correct answer is Option D — a write operation.

This concept is covered under Database Management Systems in the CBDT Assistant Director Systems syllabus. The answer is established through standard definitions and widely accepted principles in the field.

Why other options are incorrect:
- Option A — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option B — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option C — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.


Q5. Which of the following best describes - Wait-for Graph: Directed graph where edge Ti → Tj?

✅ Correct Answer: Option B

Explanation:
The correct answer is Option B — Ti is waiting for Tj.

This concept is covered under Database Management Systems in the CBDT Assistant Director Systems syllabus. The answer is established through standard definitions and widely accepted principles in the field.

Why other options are incorrect:
- Option A — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option C — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option D — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.


Q6. Regarding the following concept: 'Two entities (most common) — e.g., Employee works in Department

-...', which statement is correct?

✅ Correct Answer: Option C

Explanation:
The correct answer is Option C — Two entities (most common) — e.g., Employee works in Department
-.

This concept is covered under Database Management Systems in the CBDT Assistant Director Systems syllabus. The answer is established through standard definitions and widely accepted principles in the field.

Why other options are incorrect:
- Option A — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option B — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option D — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.


Q7. Which of the following best describes *Applies only when there?

✅ Correct Answer: Option C

Explanation:
The correct answer is Option C — a composite key.*.

This concept is covered under Database Management Systems in the CBDT Assistant Director Systems syllabus. The answer is established through standard definitions and widely accepted principles in the field.

Why other options are incorrect:
- Option A — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option B — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option D — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.


Q8. Regarding the following concept: 'Single entity (e.g., Employee manages Employee)

-...', which statement is correct?

✅ Correct Answer: Option A

Explanation:
The correct answer is Option A — Single entity (e.g., Employee manages Employee)
-.

This concept is covered under Database Management Systems in the CBDT Assistant Director Systems syllabus. The answer is established through standard definitions and widely accepted principles in the field.

Why other options are incorrect:
- Option B — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option C — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option D — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.


Q9. Regarding the following concept: 'Every entity must participate in the relationship (double line)

-...', which statement is correct?

✅ Correct Answer: Option D

Explanation:
The correct answer is Option D — Every entity must participate in the relationship (double line)
-.

This concept is covered under Database Management Systems in the CBDT Assistant Director Systems syllabus. The answer is established through standard definitions and widely accepted principles in the field.

Why other options are incorrect:
- Option A — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option B — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option C — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.


Q10. Regarding the following concept: '- Covering index: Index contains all columns needed by query (no table access ne...', which statement is correct?

✅ Correct Answer: Option D

Explanation:
The correct answer is Option D — - Covering index: Index contains all columns needed by query (no table access needed).

This concept is covered under Database Management Systems in the CBDT Assistant Director Systems syllabus. The answer is established through standard definitions and widely accepted principles in the field.

Why other options are incorrect:
- Option A — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option B — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.
- Option C — This option is factually incorrect or describes a concept from a different domain, making it an invalid choice for this question.