What Is a Database?

Learn the fundamentals of databases, including tables, rows, columns, primary keys, and the difference between SQL and NoSQL databases.

15 min read
Beginner

Introduction to Databases

In today's digital world, data is everywhere. From social media posts to online purchases, every action generates data. But how is all this data organized and stored? The answer is databases.

A database is an organized collection of data that can be easily accessed, managed, and updated. Think of it as a digital filing cabinet where information is stored in a structured way.

Data vs Information

Before diving deeper, it's important to understand the difference between data and information.

Data refers to raw, unprocessed facts and figures. For example: "42", "John", "2024-01-15" are all pieces of data.

Information is data that has been processed, organized, and presented in a meaningful context. For example: "John is 42 years old and joined on 2024-01-15" is information.

Databases store data, and through queries, we transform that data into meaningful information.

Tables, Rows, and Columns

Relational databases organize data into tables, which are similar to spreadsheets. Each table consists of:

  • Rows (also called records or tuples): Individual entries in the table
  • Columns (also called fields or attributes): Categories of data

Let's look at an example of an employees table:

employees
id
name
age
department
salary
1Alice Johnson30Engineering75000
2Bob Smith28Marketing65000
3Charlie Davis35Engineering85000
4Diana Prince32Sales70000

In this table:

  • Rows: Each row represents one employee (Alice, Bob, Charlie, Diana)
  • Columns: Each column represents an attribute (id, name, age, department, salary)
  • Cell: The intersection of a row and column contains a specific value (e.g., Alice's age is 30)

Primary Keys

Every table needs a way to uniquely identify each row. This is where primary keys come in.

A primary key is a column (or set of columns) that uniquely identifies each row in a table. No two rows can have the same primary key value, and primary keys cannot be NULL.

In our employees table above, the id column serves as the primary key. Notice how each employee has a unique id number (1, 2, 3, 4).

Why are primary keys important?

  • They ensure each record is unique
  • They allow us to reference specific records
  • They enable relationships between tables
  • They improve query performance

Primary keys are often integer values that auto-increment (1, 2, 3, ...), but they can also be other unique identifiers like email addresses or social security numbers.

Relational Databases (RDBMS)

A Relational Database Management System (RDBMS) is software that manages relational databases. The word "relational" comes from the fact that tables can be related to each other through keys.

For example, consider these two tables:

employees
id
name
department_id
1Alice101
2Bob102
3Charlie101
departments
id
department_name
location
101EngineeringBuilding A
102MarketingBuilding B

These tables are related through the department_id column in the employees table, which references the id column in the departments table. This relationship allows us to find out which building each employee works in.

Key features of RDBMS:

  • Data is organized in tables with rows and columns
  • Tables can be related through foreign keys
  • Supports ACID properties (we'll learn about this later)
  • Uses SQL (Structured Query Language) to interact with data

SQL vs NoSQL

While this course focuses on SQL databases, it's helpful to understand the two main categories of databases:

SQL vs NoSQL Comparison
Aspect
SQL (Relational)
NoSQL (Non-Relational)
StructureStructured tables with fixed schemasFlexible schemas (documents, key-value, graph)
ScalabilityVertical scaling (bigger servers)Horizontal scaling (more servers)
Best ForComplex queries, transactions, structured dataLarge-scale, unstructured data, rapid development
ExamplesMySQL, PostgreSQL, SQL Server, OracleMongoDB, Redis, Cassandra, Neo4j
Query LanguageSQL (Structured Query Language)Varies by database type

When to use SQL databases:

  • Your data has a clear, consistent structure
  • You need complex queries and joins
  • Data integrity and ACID compliance are critical
  • You're building financial, e-commerce, or enterprise applications

When to use NoSQL databases:

  • Your data structure changes frequently
  • You need to scale horizontally across many servers
  • You're working with large volumes of unstructured data
  • You need extremely fast read/write operations

Good news! Many modern applications use both SQL and NoSQL databases together, choosing the right tool for each specific use case. Learning SQL provides a strong foundation regardless of which direction you take.

Real-World Database Examples

Databases power nearly every application you use:

  • E-commerce (Amazon, eBay): Product catalogs, user accounts, order history
  • Social Media (Facebook, Twitter): User profiles, posts, comments, friendships
  • Banking (Chase, Wells Fargo): Account balances, transactions, customer information
  • Healthcare: Patient records, appointments, medical history
  • Education: Student records, grades, course enrollments

Understanding databases and SQL opens doors to working with any of these systems!