A database is a repository of information managed by a database engine which ensures integrity of data and fast access to the data.

A very common implementation of a database is a Relational Database Management System (RDBM). To users, the information in a database can be accessed by using Structured Query Language (SQL) a database language common to most databases. However, SQL only provides commands to access and manipulate the data in the database.

Well database development is much the same – to the ill informed it looks pretty straightforward, but once you get more involved you become aware of the specific complications of database development:

  • We decide how the database should be structured
  • Often more complex queries can be far from trivial to translate from the requirements
  • Database developers need to be concerned with the performance of the database
  • They also need to be concerned with maintaining data integrity and availability
  • And just like developers, database programmers become more proficient at everything they do as they become more experienced.