What is a database?

Virtually every business system requires an organized way to store and retrieve the data that it works with. A database is the name given to the software tools that perform this vital function, along with the data they store.

Database basics

Most of today’s systems use ‘relational database’ technology. In practice, a relational database involves ‘tables’ of data, each consisting of rows and columns. The columns are called ‘fields’ and each field stores a particular type of information, such as first name or zip code. For example, in a personnel system, you might have a table containing employees:

EmpID First Last Address City State Zip Dept.
0001 John Jones 1234 Anywhere Place Yonkers NY 10700 003
0002 Sam Smith 2345 Somewhere Place Bronx NY 10400 002

The information on each employee is considered a ‘record’, and additional records will be added as new employees join the firm. Usually, each record will contain a unique identifier such as EmpID [short for Employee ID] to ensure that the record being accessed is really the one you want.

A database usually consists of many tables, each describing a particular type of information. For example, the personnel system above may have, in addition to the employee table, other tables containing information about departments, dependents, skills and so forth.

The system then pieces together the data it needs by reading from the appropriate tables. You can see from the employee table that John Jones works in department 003. If your application needed to know the name of that department, it would look it up in the department table, which might indicate that 003 was the accounting department.

DeptID Dept. name Dept. location
001 Manufacturing Pittsburg
002 Sales New York
003 Accounting New York

If you’re still with us, you now have the basics. Tables can be ‘joined’ together to obtain, for example, a listing of employees with the name of their department, or all employees in New York. Data from any tables can be joined on the fly (as long as there is a common field to connect them), and it can be filtered or sorted based on any field(s). If the program using the database is designed correctly, fields may be able to be added or removed easily, with minimal changes to programs that use the data. Also, if the tables are organized correctly, there will be little or no duplicate data, so you only have to change the address in one place if an employee moves.

How databases are used

Almost every on-line (and off-line, as well) system has a database behind it for storing and accessing the information it needs. Databases are used in virtually every e-commerce website, as well as on-line customer service applications and most custom on-line business systems.

Database software is available commercially, and some of the more popular include Oracle and SQL Server (from Microsoft). There are a number of popular open source databases as well, the most widely used of these being mySQL. When programmers develop a new application, they will choose a database that is compatible with the programming language or software that they use, and many commercial systems are designed to support a choice of database software.

Why a database matters to you

Even if you aren’t a software developer, databases change your life every day. Most of today’s systems would be much more difficult and costly to develop and maintain than they are now, and they wouldn’t work as well.

As a user, there is no need to understand the inner workings of the systems you use, unless it interests you. If you are responsible for hiring or working with developers on a system for your organization, a basic knowledge of databases will allow you to have a much more meaningful and informed dialogue with your developers, and that certainly has the potential to improve the outcome of the project.