← Back to Questions
SQL

What is data integrity in SQL?

Learn What is data integrity in SQL? with simple explanations, real-time examples, interview tips and practical use cases.

What is Data Integrity in SQL?

Data integrity in SQL refers to the accuracy, consistency, reliability, and validity of data stored in a database.

In simple words:

Data integrity ensures that database data remains correct, complete, and trustworthy throughout its lifecycle.


Why Data Integrity is Important

Enterprise applications handle:

  • Financial transactions
  • Customer information
  • Healthcare records
  • Business-critical operations

Without data integrity:

  • Incorrect data may enter the system
  • Duplicate records may occur
  • Business operations may fail
  • Reports become unreliable

Simple Real-Life Example

Think about:

  • A banking system

Example

Suppose customer balance is:

₹10,000

Problem Without Integrity

If wrong updates occur:

₹100,000

may get stored accidentally.


Result

  • Financial inconsistency
  • Business loss

Data Integrity Prevents Such Problems

By enforcing:

  • Validation rules
  • Relationships
  • Constraints

Data Integrity Internal Architecture

User Input
    |
    v
Integrity Rules Applied
    |
    v
Validation Successful?
    /               \
  Yes                 No
   |                   |
Store Data       Reject Operation

Main Types of Data Integrity

  • Entity Integrity
  • Referential Integrity
  • Domain Integrity
  • User-Defined Integrity

1. Entity Integrity

Entity integrity ensures:

  • Each row is uniquely identifiable

Maintained Using

  • Primary Keys

Example

CREATE TABLE employees (

    employee_id INT PRIMARY KEY,
    employee_name VARCHAR(100)

);

Rule

  • Primary key cannot be NULL
  • Primary key must be unique

Purpose

  • Prevent duplicate records

2. Referential Integrity

Referential integrity ensures:

  • Relationships between tables remain valid

Maintained Using

  • Foreign Keys

Example

CREATE TABLE departments (

    department_id INT PRIMARY KEY

);

CREATE TABLE employees (

    employee_id INT PRIMARY KEY,

    department_id INT,

    FOREIGN KEY (department_id)

    REFERENCES departments(department_id)

);

Rule

department_id in employees:

  • Must exist in departments table

Purpose

  • Prevent invalid relationships

3. Domain Integrity

Domain integrity ensures:

  • Only valid values are stored

Maintained Using

  • Data types
  • CHECK constraints
  • NOT NULL constraints

Example

CREATE TABLE employees (

    employee_id INT,

    age INT CHECK (age >= 18)

);

Rule

Age must be:

  • 18 or greater

Purpose

  • Prevent invalid data entry

4. User-Defined Integrity

Custom business rules defined by:

  • Application requirements

Example

Bank withdrawal:

  • Cannot exceed account balance

Implemented Using

  • Triggers
  • Stored procedures
  • Application logic

Data Integrity Query Flow

Insert / Update Request
          |
          v
Check Constraints
          |
          v
Validate Relationships
          |
          v
Validate Data Types
          |
          v
Integrity Maintained

How SQL Maintains Data Integrity

  • Primary Keys
  • Foreign Keys
  • Unique Constraints
  • NOT NULL Constraints
  • CHECK Constraints
  • Transactions

1. Primary Key

Ensures:

  • Unique records

Example

PRIMARY KEY (employee_id)

2. Foreign Key

Ensures:

  • Valid table relationships

Example

FOREIGN KEY (department_id)

REFERENCES departments(department_id)

3. UNIQUE Constraint

Prevents:

  • Duplicate values

Example

email VARCHAR(100) UNIQUE

4. NOT NULL Constraint

Prevents:

  • Missing values

Example

employee_name VARCHAR(100) NOT NULL

5. CHECK Constraint

Validates:

  • Allowed conditions

Example

salary DECIMAL(10,2)

CHECK (salary > 0)

6. Transactions

Ensure:

  • Consistent updates

Example

BEGIN TRANSACTION

UPDATE sender_account ...

UPDATE receiver_account ...

COMMIT

Purpose

  • Prevent partial updates

Data Integrity vs Data Security

Feature Data Integrity Data Security
Focus Accuracy and consistency Protection from unauthorized access
Goal Correct data Safe data
Examples Constraints, validation Authentication, encryption

Data Integrity vs Data Consistency

Feature Data Integrity Data Consistency
Meaning Correctness of data Same data across system
Focus Validation rules Synchronized data

Common Causes of Integrity Problems

  • Duplicate records
  • Invalid foreign keys
  • Incorrect updates
  • Application bugs
  • Concurrent transaction issues

Real-Time Banking Example

Banking systems maintain integrity for:

  • Account balances
  • Transactions
  • Customer records

Example

Transaction must belong
to valid account

Why Important?

  • Incorrect financial data is dangerous

Real-Time E-Commerce Example

E-commerce platforms maintain integrity for:

  • Orders
  • Payments
  • Inventory

Example

Order must reference
valid customer

Real-Time Learning Platform Example

Learning platforms maintain integrity for:

  • Student enrollments
  • Exam results
  • Certificates

Example

Certificate must belong
to valid student

Data Integrity in Microservices

Microservices architectures maintain integrity using:

  • Distributed transactions
  • Event-driven consistency
  • Validation services

Challenge

  • Data spread across multiple services

Advanced Integrity Techniques

  • ACID transactions
  • Event sourcing
  • Saga pattern
  • Distributed consistency models

Advantages of Data Integrity

  • Reliable data
  • Improved business trust
  • Reduced errors
  • Better reporting accuracy
  • Consistent relationships

Disadvantages of Poor Integrity

  • Incorrect reports
  • Business failures
  • Duplicate records
  • Invalid transactions
  • Data corruption

Best Practices

  • Always use primary keys
  • Use foreign key constraints
  • Validate user input
  • Use transactions properly
  • Implement business rules carefully

Common Interview Mistake

Many developers think:

  • Data integrity only means avoiding duplicates

Reality

Data integrity includes:

  • Accuracy
  • Consistency
  • Relationships
  • Validation
  • Reliability

Related Learning Topics


Professional Interview Answer

Data integrity in SQL refers to the accuracy, consistency, validity, and reliability of data stored in a database. It ensures that data remains correct and trustworthy throughout its lifecycle. SQL maintains data integrity using mechanisms such as primary keys, foreign keys, unique constraints, NOT NULL constraints, CHECK constraints, and transactions. The main types of data integrity include entity integrity, referential integrity, domain integrity, and user-defined integrity. Enterprise systems such as banking applications, e-commerce platforms, healthcare systems, ERP platforms, and microservices architectures rely heavily on data integrity to prevent invalid records, maintain relationships, and ensure reliable business operations.


Why Interviewers Like This Answer

  • Clearly explains integrity concepts
  • Includes all major integrity types
  • Shows constraint understanding
  • Explains enterprise-level importance
  • Provides real-world examples

Frequently Asked Questions

What is data integrity?

Data integrity ensures data remains accurate, consistent, and reliable.

How is data integrity maintained in SQL?

Using primary keys, foreign keys, constraints, and transactions.

What are the main types of data integrity?

Entity integrity, referential integrity, domain integrity, and user-defined integrity.

Why is data integrity important?

It prevents invalid, inconsistent, and duplicate data.

What is domain integrity?

Domain integrity ensures only valid values are stored in columns.

Why this SQL question is important?

This interview question helps candidates understand real-time backend development concepts, practical problem solving, coding fundamentals, system design basics and production-ready application behavior.

Practice this question carefully for Java backend roles, Spring Boot developer interviews, microservices interviews, company interviews and full-stack developer preparation.

About the Author

Naresh Kumar is a Senior Java Backend Engineer with experience building enterprise applications using Java, Spring Boot, Microservices, Docker, Kubernetes and Cloud technologies.