Our Learning Center offers a single place where CEO's, senior executives and managers can learn everything they need to have a more meaningful conversation with their technical advisors.
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.
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:
|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|
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.
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.
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.