Lesson 10/100

Tutorials SQL Server Tutorial

Constraints — Complete Guide

Constraints — 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 10 of 100

Constraints

SQL basicsQueriesAdvanced

SQL basics · 1 — SELECT · ~6 min · SQL — Foundations

What is this?

Constraints are rules SQL Server enforces: PRIMARY KEY, UNIQUE, CHECK, DEFAULT, FOREIGN KEY. Bad rows are rejected instead of silently saved.

Why should you care?

Without CHECK (Price > 0), a bug can insert free products. Constraints catch errors at the database boundary.

See it live — copy this example

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

USE DataVerse;
IF OBJECT_ID(N'dbo.Accounts', N'U') IS NOT NULL DROP TABLE dbo.Accounts;
CREATE TABLE dbo.Accounts (
    AccountId INT IDENTITY(1,1) PRIMARY KEY,
    AccountNo VARCHAR(20) NOT NULL CONSTRAINT UQ_Accounts_AccountNo UNIQUE,
    Balance   DECIMAL(18,2) NOT NULL
        CONSTRAINT CK_Accounts_Balance CHECK (Balance >= 0),
    Status    VARCHAR(10) NOT NULL
        CONSTRAINT CK_Accounts_Status CHECK (Status IN ('Open','Closed'))
);
INSERT INTO dbo.Accounts (AccountNo, Balance, Status)
VALUES ('SB-1001', 5000.00, 'Open');
-- This should fail:
-- INSERT INTO dbo.Accounts (AccountNo, Balance, Status) VALUES ('SB-1002', -10, 'Open');

What happened?

  • UNIQUE blocks duplicate account numbers.
  • CHECK keeps Balance non-negative and Status in a small list.
  • The commented INSERT shows what the engine will reject.

Practice next

  1. Create dbo.Accounts and insert the good row.
  2. Uncomment the negative Balance INSERT and run it.
  3. Read the CHECK constraint error message.
  4. Add DEFAULT ('Open') on Status and insert without Status.
  5. Try two rows with the same AccountNo.

Remember

Constraints enforce data rules in the engine. PRIMARY KEY / UNIQUE / CHECK are day-one tools. Failed INSERT means the rule worked.

Ledger never goes negative

DataVerse banking module uses CHECK (Balance >= 0) on Accounts.

Outcome: A buggy transfer that overdrafts fails at INSERT/UPDATE time.

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