Anyone who works in an environment that manages anything more than a small amount of data has probably heard about databases. They probably even use one on a daily basis. Most people however, only interact with the front-end of database-driven software — the user interface. The inner workings of the system, and the actual database itself, are a bit of a mystery. Most people are not really all that concerned with how database-driven software works. Then again, if you’re reading this then you are not most people. You have a curiosity about this mystical “database”. You want to know what is is, and how it works. You wish to understand the tools that you use, so that you may better employ their powers. Well, read on, scholar! Let Of Zen and Computing demystify the animal that is the relational database.
The breakdown of data

As its name implies, a database is software designed to manage data. Databases contain tables, which subsequently contain rows and columns. In database terminology, a row is referred to as a record, and the columns are more accurately described as fields inside those records.

The relationships between pieces of data
Again, as the name implies, a relational database is software that is able to store data in a manner that reflects how individual pieces of data relate to each other to form a larger picture. A database is able to store links between different objects in a system. One of the classic tools used to describe data in a database is the hierarchy of a business – a database would be an excellent tool to store data about the workings of a company, because it can not only store data representing different parts of the company (e.g. employees and departments), but it can also store links that represent the relationships between those individual parts (e.g. who each employee reports to, what department each employee is a part of).

Data in, information out
What good is data if you can’t do anything with it? Absolutely no good at all — that’s why databases allow a programmer to query for data in order to use that data to present information to the end user (you). Programmers can write queries that mix and match each individual little piece of data in sometimes extremely creative ways. Give you an example? Sure… a programmer working with our “corporate database” could query for all employees in the accounting department who report to a manager who’s worked in that department for at least 2 years and makes over $100,000. This query brings together many different pieces of data — employee data, department data, payroll data — and then brings it all together in a meaning full manner. In this case, our meaningful information is all employees reporting to certain managers in a particular department.
[tags]Databases,Relational Databases[/tags]



