Pk vs Fk 🔑
WI$DOM

WI$DOM @cyberwizd

About: Software Developer | Application Security | Proficient in Python (automation, AI) and Golang (backend, APIs)

Joined:
May 10, 2025

Pk vs Fk 🔑

Publish Date: Aug 29
0 0

Understanding Primary Keys and Foreign Keys in Relational Databases

When you're building applications, especially with relational databases like PostgreSQL (which is quite familiar), you're not just storing data; you're storing related data — and that's where Primary Keys and Foreign Keys come into play.

They might sound intimidating (not really), but they're fundamental concepts that ensure your data is organized, consistent, and easy to work with. Let's break them down.


Why Do We Need Keys Anyway?

Imagine building an e-commerce platform. You have users, and these users create orders. Without a structured way to connect a specific order to a specific user, your data would be a chaotic mess. You wouldn't know who bought what!

Keys provide that structure.

They are special columns (or groups of columns) that help us:

  • Uniquely identify each piece of information.
  • Establish relationships between different pieces of information across various tables.

Primary Key

Think of a Primary Key as the unique identifier for each individual record (row) within a table. No two records in the same table can have the same primary key value. It's like your National Identification Number (NIN) – it identifies only you.

Description of a primary key

Example

Users Table:

user_id (PK) username email created_at
101 alice alice@example.com 2023-01-15 10:00:00
102 bob bob@example.com 2023-01-15 10:05:00
103 charlie charlie@example.com 2023-01-16 11:30:00

Here, user_id uniquely identifies each user.

If you query for user_id = 102, you'll always get Bob.


Foreign Key

While a primary key identifies a record within its own table, a foreign key links a record in one table to a record in another. It acts as a reference.

A foreign key in Table A points to a primary key in Table B, creating a relationship between them.

Description of a foreign key

Example

Orders Table:

order_id (PK) user_id (FK) order_date total_amount
2001 101 2023-01-15 10:30:00 55.99
2002 102 2023-01-15 11:00:00 120.00
2003 101 2023-01-16 14:00:00 25.50
2004 103 2023-01-17 09:15:00 88.00

Here, user_id in the Orders table is a foreign key referencing user_id in the Users table.

  • Orders 2001 and 2003 belong to user_id = 101 (Alice).
  • If we tried to delete Alice (user_id = 101), the database would prevent it (or cascade delete her orders).

In a Nutshell

  • Primary Key: Uniquely identifies a record in its own table.
  • Foreign Key: Links a record to a record in another table.

Comments 0 total

    Add comment