No history yet

Introduction to Databases

Organizing Information

At its heart, a database is just a structured collection of data. Think of it like a digital filing cabinet, but instead of folders, it uses tables to keep everything neat and tidy. Tables are the fundamental building blocks for storing information in most databases you'll encounter.

A table organizes data into rows and columns, much like a spreadsheet. Each table holds information about a single subject, like customers, products, or orders. For example, if you were running an online store, you wouldn't mix customer information with product details in the same list. You'd create a separate table for each.

CustomerIDFirstNameLastNameEmail
1MariaRodriguezm.rod@email.com
2DavidChend.chen@email.com
3EmilyJonesejones@webmail.com

In this Customers table, each row represents a unique customer. This complete set of information for one item is often called a record. Each column, on the other hand, represents a specific piece of information about the customers, such as their first name or email. These columns are also known as fields or attributes.

Columns and Data Types

Every column in a table is defined by two things: a name (like FirstName) and a data type. The data type tells the database what kind of information the column can hold. This is a crucial rule. A column for phone numbers shouldn't contain a person's name, and a column for dates shouldn't store a dollar amount.

Assigning a data type ensures data integrity, meaning the information is reliable and consistent. It also helps the database work more efficiently. If the database knows a column will only ever contain whole numbers, it can store and retrieve that data much faster than if it had to guess.

Data TypeDescriptionExample
INTEGERWhole numbers (no decimals).42, -150
TEXTA string of text characters."Hello, world!"
DATEA calendar date.2024-09-15
BOOLEANA true or false value.true

There are many other data types for things like numbers with decimals (FLOAT or DECIMAL), timestamps, and more. Choosing the right one is a key part of designing a solid database.

Connecting the Dots

Data in the real world is connected. A customer places an order, and an order contains products. A well-designed database reflects these connections using relationships between tables. This prevents you from having to repeat information, which saves space and reduces errors. Let's look at the three main types of relationships.

One-to-One (1:1)

This is the simplest relationship. It means that one record in a table is linked to exactly one record in another table. It's less common, but useful for splitting a large table into smaller, more manageable parts or for security reasons.

For example, you might have a Users table with login information and a separate User_Profiles table with personal details. Each user has one profile, and each profile belongs to just one user.

One-to-Many (1:N)

This is the most common type of relationship. It means one record in a table can be linked to many records in another table, but each record in the second table is linked to only one record in the first.

Think of a blog. You have a table for Authors and a table for Posts. One author can write many posts, but each post is written by only one author. The Posts table would include a column like AuthorID to link back to the specific author who wrote it.

Many-to-Many (N:M)

A many-to-many relationship occurs when multiple records in one table can be linked to multiple records in another table. For example, consider Students and Classes. A student can enroll in many classes, and a class can have many students.

This relationship is a bit more complex. You can't link the two tables directly. Instead, you create a third table in the middle, often called a join table or linking table. This table, let's call it Enrollment, would have just two columns: StudentID and ClassID. Each row in Enrollment creates a single link between one student and one class.

Understanding these core components—tables, columns, data types, and relationships—is the first step to mastering databases. They provide the solid structure needed to store information logically and efficiently.