> For the complete documentation index, see [llms.txt](https://mun.gitbook.io/dbms/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mun.gitbook.io/dbms/database/database-architecture/dbms-tier-architecture.md).

# DBMS Tier Architecture

## DBMS Architecture

* The DBMS design depends upon its architecture.
* The basic client/server architecture is used to deal with a large number of PCs, web servers, database servers and other components that are connected with networks.
* The client/server architecture consists of many PCs and a workstation which are connected via the network.
* DBMS architecture depends upon how users are connected to the database to get their request done.
* Database architecture can be seen as a single tier or multi-tier. But logically, database architecture is of two types like: 2-tier architecture and 3-tier architecture.

## DBMS Architecture Classification

* 1-Tier Architecture
* 2-Tier Architecture
* 3-Tier Architecture

## 1-Tier Architecture

![](https://4282764247-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M84vmwy9DyU8KKuD3FT%2F-M8yQQzLH8uATmqXljLI%2F-M8yRRX6LUAs1qyiQosM%2F1.png?alt=media\&token=0fa2371d-aaea-4b17-8724-6fd709586085)

* In this architecture user directly access the database.
* Changes are done directly to the database itself.
* No user application is used for user.
* It is used for development of the local application.

## 2-Tier Architecture

![](https://4282764247-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M84vmwy9DyU8KKuD3FT%2F-M8yRXuneOWq6KD_Ho5z%2F-M8yRlX7eiMSNDK0YHDh%2F2.png?alt=media\&token=db56e51f-2148-468d-8d0f-2c1f927bfcf2)

* It follows client server architecture.
* Applications on the client side directly communicate with the database at the server side. API's like: ODBC, JDBC are used for interaction.
* User interfaces and application programs are run on the client side.
* Server provides the database functionalities.
* To communicate with the DBMS, client side application establishes a connection with the server side.

## 3-Tier Architecture

![](https://4282764247-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M84vmwy9DyU8KKuD3FT%2F-M8yRXuneOWq6KD_Ho5z%2F-M8yRySsPvhn_Rn7L8Y-%2F3.png?alt=media\&token=3014f744-fae9-47f8-bff5-ce2dc716651c)

* It follows client server architecture.
* In this architecture client application don't communicate with the server directly.
* Application on the client side interacts with an application server which further communicates with the database system.
* End user has no idea about the existence of the database beyond the application server.
* The database also has no idea about any other user beyond the server application.
* 3-Tier architecture is used in large web application.
