
All software is based on the principle of manipulating data. Whether it's the code that runs inside your VCR to start recording at a specific time, or air traffic control software, code is always working with data in one form or another.
Today, we find that sophisticated applications store their data in a "database", a central repository of data overseen by a Database Management System, or DBMS. A DBMS does two things. Firstly, it handles the storage of the data. Secondly, it provides mechanisms for retrieving data as well as adding, removing, and changing data. A DBMS endeavors to do this in the most efficient way possible.
Over the years, the DBMS market has grown into a mature sophisticated industry in its own right, offering products designed for use in large enterprise environments like Oracle 9i or MS SQL Server 2000, down to products designed for use on the desktop like MS Access. In some cases, you even find that software packages include their own DBMS software for managing their own proprietary databases.
