Occasionally, computer technology makes a break with the past. The relational model of database management, with its simple, tabular data structures and powerful data manipulation operations, was one such revolution. Another revolution in computing technology, client/server computing, took place in the last decade with the spread of minicomputers and microcomputers and a network to support intra machine communication. These highly cost-effective and flexible open systems have made client/server computing possible. Client/server computing delivers the benefits of the network computing model along with the shared data access and high performance characteristics of the host-based computing model.
Clients and servers are characterized by endless access to each other's resources. They provide advanced communications and raw computing power to handle demanding applications, as well as graphic user interfaces (GUIs).
In a client/server database system there are three distinct components, each focusing on a specific job required to provide a user's environment:
- a database server that manages the database among a number of clients,
- a client application that desires services of the database, and
- a network that supports the communication between the client, (front end) and the server that deals with the network and the database system (back end).