According to Michael V. Mannino , client-server database architecture is an arrangement of components (clients and servers) among computers connected by a network that support efficient processing of messages (request for service). In client-server architecture, client is program who submits requests to a server, while server is program who process client requests and communicate the result to the client. Client software is typically responsible for accepting user input, sending requests to the server, displaying results and performing some data processing. On the other hand, server software is responsible for waiting, accepting, and validating client requests, locates data inside database, updating database (if necessary), and replying the client with data in a format that the client understand.
Each client and server of client-server architecture has distinct characteristics:
- Client Characteristics:
- Need and use services
- Interacts directly with the end user using Graphical User Interface (GUI)
- Initiates connection and requests to server
- Waiting for and receives result or reply from server
- May choose or switch between servers (if available)
- Server Characteristics:
- Provide services
- Waiting, accepting, and validating client requests
- Passive, doesn’t initiate connection
- Processing client requests and give replies to clients
- May connected to and serves multiple clients
 M.V. Michael , “Client-Server Processing and Distributed Databases” Database Design, Application Development, & Administration, second edition, pp. 625-631.