Lesson 29/100

Tutorials SQL Server Tutorial

Referential Integrity — Complete Guide

Referential Integrity — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of SQL Server Tutorial on Toolliyo Academy.

On this page

SQL Server Tutorial · Lesson 29 of 100

Referential Integrity

SQL basicsQueriesAdvanced

SQL basics · 1 — SELECT · ~6 min · SQL — Joins & Relationships

What is this?

Referential integrity means every foreign key value points at a real parent row — or is NULL if allowed. SQL Server rejects orphans.

Why should you care?

An order with CustomerId = 99999 when no such customer exists breaks reports and refunds.

See it live — copy this example

Run in SQL Server Management Studio (SSMS) or Azure Data Studio.

USE DataVerse;
-- This fails if CustomerId 99999 does not exist:
BEGIN TRY
    INSERT INTO dbo.Orders (City, Amount, CustomerId)
    VALUES (N'Goa', 100, 99999);
END TRY
BEGIN CATCH
    SELECT ERROR_MESSAGE() AS ErrMsg;
END CATCH;

SELECT o.OrderId, o.CustomerId
FROM dbo.Orders o
LEFT JOIN dbo.Customers c ON c.CustomerId = o.CustomerId
WHERE c.CustomerId IS NULL; -- should be empty when integrity holds

What happened?

  • The TRY/CATCH shows the FK violation message.
  • The LEFT JOIN check finds orphan orders if someone disabled constraints — a health query.

Practice next

  1. Attempt the bad INSERT and read the error.
  2. Insert with a real CustomerId.
  3. Run the orphan check query — expect no rows.
  4. Add FK from OrderItems.ProductId to Products.
  5. Query sys.foreign_keys for DataVerse.

Remember

FKs keep child keys valid. Orphan rows are a data bug. Catch violations early at write time.

No orphan orders

DataVerse Orders.CustomerId FK enforces real customers.

Outcome: Finance reports never show “unknown customer” gaps from bad IDs.

Interview prep for this lesson

Practice these questions aloud after reading—each links to a full structured answer.

Mid PDF Detailed
What are the differences between SQL and NoSQL databases?
Short answer: SQL Databases (Relational Databases): These are structured databases that use Structured Query Language (SQL) for defining and manipulating data. Explain a bit more They store data in tables with rows and c…
Mid PDF Detailed
Query Performance:?
Short answer: Use EXPLAIN or QUERY PLAN to analyze query execution times and identify slow queries. Track metrics like response time, execution time, and query throughput. Real-world example (ShopNest) ShopNest adds an i…
Mid PDF Detailed
Start with 1NF: Ensure that the table has no repeating groups or arrays, and each?
Short answer: record has a unique identifier. Real-world example (ShopNest) Product and Category are separate tables (normalized). The order line stores product id + price snapshot—not a giant duplicated product blob. Sa…
Junior PDF Detailed
Define Roles: Define different roles based on business requirements (e.g., admin,?
Short answer: Define Roles: Define different roles based on business requirements (e.g., admin,? is a common interview topic in SQL & Databases. Give a clear definition, then one concrete example. Say this in the int…
Mid PDF Detailed
Slower Queries: Fragmented indexes cause the database engine to read more data?
Short answer: pages, slowing down query performance. Real-world example (ShopNest) ShopNest adds an index on Orders(CustomerId, CreatedAt) because “my recent orders” is queried constantly. Say this in the interview Defin…
Questions on this lesson 0

Sign in to ask a question or upvote helpful answers.

No questions yet — be the first to ask!

SQL Server Tutorial
Course syllabus

SQL Server Tutorial

SQL — Foundations
SQL — SQL Queries & Clauses
SQL — Joins & Relationships
SQL — Indexing & Performance
SQL — Stored Procedures & Functions
SQL — Transactions & Concurrency
SQL — Advanced SQL Server
SQL — Security & High Availability
SQL — 2022 & Cloud
SQL — Real-World Projects
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details