Skip to main content
SQL Fundamentals
CHAPTER 03 Beginner

Understanding Relational Databases

Updated: May 16, 2026
15 min read

# CHAPTER 3

Understanding Relational Databases

1. Introduction

Before you can write SQL to command a database, you must understand the shape of the data. Relational Databases (RDBMS) are not random buckets of information. They are highly structured, mathematical systems designed by Edgar F. Codd in 1970. In this chapter, we will explore the anatomy of a relational database, breaking down the concepts of Tables, Rows, Columns, and the critical design philosophy of Normalization.

2. Learning Objectives

By the end of this chapter, you will be able to:
  • Identify the components of a database (Tables, Rows, Columns).
  • Understand the concept of Relational links between data.
  • Explain the purpose of Database Normalization.
  • Visualize a basic Entity Relationship Diagram (ERD).

3. The Anatomy of a Table (Entities)

In a relational database, data is stored in Tables. You can think of a Table as an individual sheet within an Excel workbook. A table always represents a single specific *Entity* (a person, place, thing, or event). Examples of Tables: Users, Products, Orders, Employees.

4. Columns (Attributes / Fields)

A Column defines the specific piece of information (Attribute) that the table holds. Columns run vertically. If we have a Users table, the columns might be:
  • id
  • firstname
  • email
  • dateofbirth

*Rule:* Every single piece of data entered into the dateofbirth column MUST be a date. You cannot put a name in a date column. This strictness is what makes SQL powerful.

5. Rows (Records / Tuples)

A Row is a single, complete record of data. Rows run horizontally. Continuing our Users example, a single row would contain all the data for one specific user: | 1 | Alice | alice@email.com | 1995-05-12 | If your application has 10,000 registered users, your Users table will have 10,000 rows.

6. The Concept of "Relationships"

Why is it called a *Relational* database? Because tables talk to each other. Imagine an E-Commerce store. John buys a Laptop, and John also buys a Mouse.

The Bad Way (Spreadsheet method): You create one giant list. You write "John, 123 Main St, Laptop" on line 1. Then you write "John, 123 Main St, Mouse" on line 2. You just duplicated John's address! If John moves, you have to update his address in hundreds of different lines.

The SQL Way (Relational method): You create two tables:

  1. 1. Customers Table: Contains John | 123 Main St. (John gets an ID of #1).
  1. 2. Orders Table: Contains Laptop | Bought by Customer #1 and Mouse | Bought by Customer #1.
We established a Relationship. The Orders table doesn't need John's address; it just points to his ID!

7. Database Normalization (The Golden Rule)

The process we just described above is called Normalization. Normalization is the architectural process of organizing data to eliminate *Data Duplication* (Redundancy) and ensure data integrity.
  • 1st Normal Form (1NF): Every cell in a table must hold only a single, atomic value. (Don't put "Laptop, Mouse, Keyboard" all in one column. Make separate rows).
  • 2NF & 3NF: Don't duplicate data. If a piece of data applies to multiple things (like a Category name or a Customer Address), pull it out, put it in its own table, and link it via an ID.

8. Mini Project: Visualizing an ERD

Before writing SQL, architects draw an Entity Relationship Diagram (ERD).

Imagine a school system:

  • Table: Students (id, name, age)
  • Table: Classes (id, subject, roomnumber)
  • Table: Enrollments (id, studentid, classid)

The Enrollments table is the "bridge" that creates a relationship, proving which student is taking which class!

9. Common Mistakes

  • The "One Giant Table" Flaw: Beginners often try to put every single piece of information into one table with 150 columns (like a massive Excel sheet). This destroys the database's performance and makes updating data a nightmare. Always Normalize your data into smaller, connected tables.
  • Plural vs Singular Naming: A common debate. The industry standard is usually to name tables with Plural nouns (users, products, invoices) because a table holds *multiple* records.

10. Best Practices

  • Everything needs an ID: Every single table you ever create should have an id column (usually an auto-incrementing integer) as its very first column. This guarantees that even if two users are both named "John Smith", the database can tell them apart because one is ID #5 and the other is ID #99.

11. Exercises

  1. 1. In a Relational Database, which structure (Rows or Columns) represents a single, complete record of a specific item?
  1. 2. What is the architectural process called that eliminates data duplication by splitting data into multiple connected tables?

12. SQL Challenges

Scenario: You are designing a database for a Library. Identify at least 3 distinct Tables (Entities) you would need to create to properly normalize the data, avoiding data duplication. *(Example Answer: 1. Books, 2. Authors, 3. Members, 4. Checkouts)*

13. MCQ Quiz with Answers

Question 1

In a relational database table, what does a "Column" define?

Question 2

What is the primary purpose of Database Normalization?

14. Interview Questions

  • Q: Explain the structural difference between a Row and a Column in a Relational Database.
  • Q: Describe the concept of Normalization to a non-technical stakeholder. Why is it dangerous to store a Customer's shipping address directly on every single Order record they make?

15. FAQs

Q: Does Normalization make the database slower? A: Yes and No. Normalization makes *Writing* data incredibly fast and safe. However, *Reading* data becomes slightly slower because the database has to stitch the tables back together (using JOINs). In extremely massive data warehouses, engineers sometimes intentionally break the rules and "Denormalize" data to speed up read times!

16. Summary

A Relational Database is a masterpiece of mathematical organization. By understanding that data lives in Tables, is defined by Columns, and is recorded in Rows, you grasp the physical shape of the data. By embracing Normalization, you guarantee that your data remains clean, efficient, and free of chaotic duplication.

17. Next Chapter Recommendation

We know the theory. Now it's time to build it. In Chapter 4: Creating Databases and Tables, we will write our first lines of raw SQL code to physically construct the database schema on our local server.

Finish this Chapter

Save your progress on your learning path and prepare for coding interview challenges.

Discussion

Join the discussion

Log in or create a free account to participate.

Sort: ·