Client Server Architecture:
Definition and Explanation:
Client-Server architecture is a computer network,
in which application processing is divided between client and server. The
computers in the network that process the application programs are designated as
clients. The computer that processes the database and provides services to the
clients is designated as database server.
In client-server architecture, a large number of
PCs, workstations, printers and more than one server (such as file-server,
database server, web server) are connected together via a network (LAN or
The PCs or small workstations as clients are connected to the server. In DBMS
environment, a server that contains the database and DBMS software is known as
database server, which controls all the functions of DBMS. Multiple database
servers can be used in a network.
Roles of Client and Server Computers:
The main roles of client and server
- The client computer is responsible for managing
the user interface, send requests to database server, receive results of the
requests, and to run local applications. Mostly, the microcomputers are used as
- The database server is responsible for database
storage and access. All database functions are controlled by the database
server. Any type of computer can be used as database server. It may be
microcomputer, minicomputer or mainframe computer. In large organization
networks, the mainframe computers are used as server.
Some people refer to the central DBMS functions
as the back-end functions, whereas the application programs on the client
computer as front-end programs. You can say that client is the application,
which is used to interface with the DBMS, while database server is a DBMS.
The clients and server may use different
operating systems. A client-server database system is different than the
centralized database system on a mainframe.
The main differences are:
(i) Application program is running on the client
in client-server architecture, while in mainframe computer, the user runs the
application program inside mainframe.
(ii) Client is an intelligent terminal, while
terminal used in mainframe are dump terminal.
The client-server architecture is mostly adopted
into commercial DBMS. In RDBMS, the server is also called the SQL server,
because most of the RDBMS servers are based on the SQL language and standard.
The functionality of SQL is divided into client and server. The query and
transaction functionalities remained at the server side. In such type of
architecture, the server is often called a query server.
The user-interface programs (or application
programs) run at the client side. These programs establish connections of
clients to the DBMS on the server side. Once the connection is created, the
client program can communicate with the DBMS on the server side.
A standard called ODBC
(Open Database Connectivity) provides an application programming
interface (API), which allows client side programs to call the DBMS on the
server side. For this purpose, necessary software should be installed on both
sides (i.e., client and server). Hence, a client program connects to the DBMS
server and sends requests (queries) using the ODBC Application Programming
Interface (API). The-server processes the queries and sends back the results of
queries to the client program, which are processed by the client computer.
Functions of Client and Server Computers:
In client-server database systems, the server
contains the DBMS and controls all functions of DBMS. The users send requests to
database server via the client computer connected to network. The database
server receives the requests (or queries) from clients and answers the requests.
The communication software is used on both sides for establishing communication
The main functions of client and server are:
1. Functions of the Client:
A client is used as front-end to communicate with
the database server. It plays very important role in the client-server
environment. It performs the following functions.
It presents and manages the user-interface
through application program and data manipulation functions.
- It sends the queries to the database server
that is processed by the server.
- It interprets (decodes) the results sent by
server and presents the results to user.
- It also executes the local application.
- It has the ability to process further the
queries results received from server.
- It can also send and receive messages or
files to and from different clients in the network environment.
- It enforces the constraints applied in the
2. Functions of Database Server:
The database server contains the DBMS software
and database file. It controls all the functions of the DBMS and provides
services to clients. The main functions of database server are:
- It manages the database stored inside it.
- It receives requests (or queries) from
client, interprets and executes the requests and sends the results of
requests to the relevant clients.
- It manages the recovery security services of
- It enforces the constraints that are
specified inside the DBMS.
- It controls and manages all the clients that
are connected to it.
- It handles all database access and control functions.
- It provides concurrent access control.
Client-Server architecture provides several
advantages for DBMS, but the most important advantages are:
(a). The cost to process the data of databases is
reduced. It is because; microcomputers and small workstations are available with
very low cost. Similarly, the microcomputer (having high computing power and
storage) can be designated as server. On the other hand, mainframe computers are
(b). The application programs used on the client
computer provide the graphical users interfaces (GUIs). For example, these
applications provide the forms, menus, etc. to access data from server. The
users can easily work in this environment.
(c). It provides better security and server hides
the DBMS from clients.
(d). It provides the multi-user environment.
Several users can access the database simultaneously
(e). All the data is stored on the data server
therefore, the DBA can easily create the backup of the database.
Although, there are many advantages of
client-server architecture but concurrency problems may occur. For example, if
multiple users are trying to update
the same data of database at the same time (simultaneously) then final result of
operation may be incorrect.