Introduction to Keys

In my blog about relationships, I explained that we often separate information across multiple tables. This is the beauty of a relational database! The added complexity can take a lot to get used to, but having multiple relations (tables) simplifies data! It removes redundant information and has the capacity to store large amounts of complex data. The use of multiple tables suggests that we need to use keys. A key is a column within each database table that keeps an individual row unique. Not only do keys allow each row to be unique, but they allow us to connect tables by using multiple keys. I’ve used this picture before, but it illustrates things perfectly:

Continue reading “Introduction to Keys”


Sorry guys, this is not a blog over dating advise. Rather, it is over database design relationships!

What is a relationship, you may ask? A relationship is the kind of connection an entity has with an attribute and the other way around as well as the connection between multiple tables. Here, lemme’ explain.

We categorize relationships into 3 groups:

  • one-to-one
  • one-to-many
  • many-to-many
Continue reading “Relationships”

Atomic Values

Everything we store in a database should be atomic. An atomic value can not be broken down into smaller pieces. You may also hear “rule-of-one.”

Atomic: Caleb

Atomic: Curry

Not atomic: Caleb Curry

“Caleb Curry,” is not atomic because it is a value that stores both a first name and a last name.  This is not the biggest offense, as full name could still work, but it’s not always ideal.

Continue reading “Atomic Values”

Beginner Database Terms

This is the fourth blog in our database design series. I wanted to create this one to sum up what we have learned in the previous blogs to prepare you for the blogs to come. I will also be introducing a few new terms that are important to know. Some words could fit in multiple categories, but you’ll get the idea. if you need an in depth explanation of a term check my other blogs or leave me a question in the comments.

I have categorized all of the terms we have used into these categories:

  1. Data
  2. Design
  3. SQL
  4. Presentation/Function
Continue reading “Beginner Database Terms”

Introduction to SQL

SQL stands for Structured Query Language. SQL is the language used to create, edit and manipulate a database. In other words, SQL is used to manage data held within a relational database management system (RDBMS).

Because this is a database design series, we will not be working with SQL directly, but will design our database to work with SQL in the future (once it is completely designed and ready to be programmed).

SQL is the general language used to communicate with relational database management systems. This means that we use SQL to communicate to MySQL, Oracle, SQL Server, etc… So learning about SQL will help you with a lot of different things! A RDBMS takes SQL and uses it to do something with the database. The SQL can come directly from us hand-typing it or it can come from another source (such as a PHP script).

Continue reading “Introduction to SQL”

Relational Database Management Systems (RDBMS)

A relational database management system (RDBMS) is software that communicates with the database. A database’s job is to store the data while the RDBMS manipulates that data using queries. A query is an action done on a database to manipulate data. The RDBMS also adds extra features such as security, encryption, users, and so much more.

Think of it like this… The database stores all of the information in a structured fashion, but then what do you do? Just look at it? No! You type fancy code to return results such as:

  • Return (retrieve) all of the employees who were late to work less than 5 times.
  • Return all customers who haven’t paid their bill.
  • Return any products over the price of $500.

A RDBMS is good because it’s secure, consistent, allows shared access to the database, and has recovery control in case of failure.

Continue reading “Relational Database Management Systems (RDBMS)”

What is a Relational Database?

Nearly anyone who goes in to IT or computer science must learn about databases… but what about every other person in this world? Databases are actually extremely common, yet so few people know about them. This blog series will not only help you understand completely what a relational Database is, but will allow you to design your very own.

Let’s get started! The role of a database is to store data (singular = datum). A datum is a fact, statistic, or a piece of information. Data is a collection of facts, statistics, or pieces of information. What does this mean in the practical world? Data can be anything from a record of users and passwords, shipping addresses, documentation of sales, information about students and colleges, etc. Data can be anything!

Continue reading “What is a Relational Database?”