SQL Keys | Complete Guide with Examples

SQL Keys

SQL Keys are one of the most important concepts in relational database management systems. Keys help uniquely identify records in a table and establish relationships between multiple tables. Without keys, managing large amounts of data accurately would become extremely difficult.

In real-world databases such as banking systems, college management systems, e-commerce platforms, and hospital applications, millions of records are stored. SQL Keys ensure that each record can be uniquely identified and related information can be connected efficiently.

For example, a student may have a unique Student ID, an employee may have a unique Employee ID, and a product may have a unique Product Code. These identifiers act as keys within the database.


Why SQL Keys are Important?

Keys provide structure and organization to relational databases. They help maintain data integrity and improve database performance.


What is a Key in SQL?

A Key is a column or a combination of columns used to identify rows in a database table. Different types of keys serve different purposes depending on database requirements.

SQL provides multiple key types that help organize and manage data effectively.


Types of SQL Keys

Key Type Purpose
Primary Key Uniquely identifies each record
Foreign Key Creates relationships between tables
Candidate Key Possible keys that can become primary keys
Alternate Key Candidate keys not selected as primary key
Composite Key Combination of multiple columns
Super Key Set of attributes that uniquely identify records

1. Primary Key

A Primary Key is a column or group of columns that uniquely identifies every record in a table. No duplicate or NULL values are allowed in a primary key column.

Characteristics of Primary Key

Example

CREATE TABLE Student (
StudentID INT PRIMARY KEY,
StudentName VARCHAR(100),
Course VARCHAR(50)
);

In this example, StudentID uniquely identifies every student record.


2. Foreign Key

A Foreign Key is used to create a relationship between two tables. It refers to the primary key of another table and ensures referential integrity.

Example

CREATE TABLE Department (
DepartmentID INT PRIMARY KEY,
DepartmentName VARCHAR(100)
);

CREATE TABLE Employee (
EmployeeID INT PRIMARY KEY,
EmployeeName VARCHAR(100),
DepartmentID INT,
FOREIGN KEY (DepartmentID)
REFERENCES Department(DepartmentID)
);

The DepartmentID column in the Employee table references the Department table.

Advantages of Foreign Keys


3. Candidate Key

A Candidate Key is a column or set of columns that can uniquely identify each row in a table. A table can have multiple candidate keys.

From all available candidate keys, one key is selected as the primary key.

Example

Student Table

StudentID
Email
MobileNumber

If StudentID, Email, and MobileNumber are all unique, each can act as a candidate key.


4. Alternate Key

Alternate Keys are candidate keys that are not selected as the primary key.

Example

Suppose StudentID is chosen as the Primary Key. Then Email and MobileNumber become Alternate Keys.

Field Key Type
StudentID Primary Key
Email Alternate Key
MobileNumber Alternate Key

5. Composite Key

A Composite Key consists of two or more columns that together uniquely identify a record.

Sometimes a single column is not sufficient to uniquely identify records. In such cases, multiple columns are combined to form a composite key.

Example

CREATE TABLE StudentCourse (
StudentID INT,
CourseID INT,
PRIMARY KEY (StudentID, CourseID)
);

The combination of StudentID and CourseID uniquely identifies each record.

Where Composite Keys are Used


6. Super Key

A Super Key is a set of one or more attributes that can uniquely identify a row in a table.

Every Primary Key is a Super Key, but not every Super Key is a Primary Key.

Example

Student Table

StudentID
Email
Name

Possible Super Keys:

Although StudentID alone can identify records, combinations containing StudentID are also Super Keys.


Difference Between Primary Key and Foreign Key

Feature Primary Key Foreign Key
Purpose Identifies records Creates relationships
Duplicate Values Not Allowed Allowed
NULL Values Not Allowed Allowed in many cases
Count Per Table One Multiple

Difference Between Candidate Key and Primary Key

Feature Candidate Key Primary Key
Number Allowed Multiple One
Purpose Possible unique identifiers Selected unique identifier
Selection Required No Yes

Real-World Example of SQL Keys

Consider a College Management System.

Student Table

StudentID (Primary Key)
StudentName
Email

Course Table

CourseID (Primary Key)
CourseName

Enrollment Table

StudentID
CourseID

PRIMARY KEY(StudentID, CourseID)

FOREIGN KEY(StudentID)
REFERENCES Student(StudentID)

FOREIGN KEY(CourseID)
REFERENCES Course(CourseID)

This design allows students to enroll in multiple courses while maintaining accurate relationships between tables.


Best Practices for Using SQL Keys


Common Mistakes to Avoid


Advantages of SQL Keys


Conclusion

SQL Keys are essential components of relational database design. They help identify records uniquely, establish relationships between tables, and maintain data integrity. Understanding Primary Keys, Foreign Keys, Candidate Keys, Alternate Keys, Composite Keys, and Super Keys is crucial for building efficient and reliable database systems.

Whether you are designing a simple student database or a large enterprise application, proper use of SQL Keys ensures better performance, consistency, and scalability. Mastering SQL Keys is an important step toward becoming a skilled database developer or data professional.

← Previous: SQL Constraints Next: Create Database →
Home Visit Our YouTube Channel