Databases exist so that people can interact with them. In the case of electronic databases, the interaction occurs not directly with the database, but instead indirectly through software applications.
Before the emergence of the World Wide Web, databases were typically used by large corporations to support various business functions such as accounting and financials, human resources, and so on. The Web and more complex home computing tasks have now moved the need for the database applications outside the realm of the large corporation.
The area in which databases have experienced the most explosive growth is in Web application development. As the demand for more complex and robust Web applications grows, so does the need for databases.
A database backend can support many critical functions on the Web, and virtually any Web content can be driven by a database. The database sits on a Web server or another machine that the server can 'talk' to. A good database management system makes this distributed responsibility easy.
One may, for instance, put a form into a Web page that the user must complete. When the completed form is sent to the server, it runs a program (written by the programmer) that extracts the data submitted by the user.
These programs most often occur in the form of CGI scripts and Java servlets, but can also occur by embedding PHP inside an HTML document. The program then 'knows' what information the user wishes to add to or to request from the database. The program issues an SQL query or update, and the database magically takes care of the rest.
Any results obtained from the database can then be formatted by the program in an HTML document to return to the user.
It can be tempting to jump into creating such a database project without much thought or planning. As with any software development project, this ad hoc approach works with only the simplest of problems. For a database to support any kind of complexity, planning and design will save time in the long run, and the following database design seminars will introduce you to such relational database design concepts.