Database architecture plays a very crucial role in the designing process of DBMS (Database Management System).
What is Database architecture in DBMS?
The term “Database architecture” is comprised of two keywords:
- Database: A database is an organized and efficient collection of a large amount of data (or information) that can be easily managed, accessed, or updated.
- Architecture: Architecture refers to the practice or art of designing something constructively.
So, We can define Database architecture as the key concept of DBMS that focuses on the design, development, implementation, and maintenance of the databases. It depends upon how the different users are connected to the database.
The person who is responsible for designing or developing the database is called Database Architect.
Types of Database architecture
Database architecture can be of two types single-tier and multi-tier. But logically there are mainly two types of database architecture two-tier architecture and three-tier architecture.
1-Tier (Single-Tier) Architecture:
- In this type of database architecture, the database is directly available to the users.
- If any changes or modifications are done in this architecture, they directly affect the database.
- There are no handy tools available in this database architecture to improve the end-user experience.
- Normally this database architecture is preferred by the Database designers and programmers so that they can directly communicate with the database and get the desired result quickly.
- Two-tier database architecture is similar to the “Client-Server” model.
- There are only layers at the highest level/layer we have the database (or server) and at the lowest level/layer we have the end users’ systems (or clients).
- The major advantage of using 2-tier architecture is it’s very easy to maintain.
- And the major disadvantages of using 2-tier architecture are security (direct interaction of the client with the database increases the security risks) and scalability (large number of end-users reduces the system performance).
Also Read Introduction to C++ STL
- In 3-tier database architecture, the end-users can not communicate with the database directly.
- There is a third layer in between the end-users (clients) and the database (servers).
- In this architecture, the end-users are unaware of the existence of the database and the database is also unaware of the end-users beyond the application layer/level.
- The major advantages of using 3-tier architecture are improved security and high scalability.
- And the major disadvantage of using 3-tier architecture is it’s difficult to manage.
- In total there are three levels/layers in the three-tier database architecture:
- Physical Level or Internal Schema:
- It is the lowest level of the 3-tier database architecture also called “Data-tier“.
- This level decides the physical storage structure of the database.
- It uses the physical data models to define how the data will be stored in the database.
- The persons responsible for managing this level include Database Administrators.
- Logical Level or Conceptual Schema:
- It is the middle layer of the 3-tier database architecture also called “Application-tier“.
- It is used to separate the external level and the physical level, both of these layers are unaware of the existence of each other.
- This logical or conceptual layer presents an abstracted view of the database to the end-users.
- The persons concerned with this level include Database Designers.
- View Level or External Schema:
- It is the highest level of the 3-tier database architecture also called “User-tier“.
- It is used to describe the end-user interaction with the database.
- The end-users are directly linked to this level or schema.
- At this schema/level different or multiple views of the database are provided by the application layer.
- The persons concerned with this level include Frontend Developers.
- Physical Level or Internal Schema:
Data Independence is the primary outcome of the three-tier database architecture. There are two types of data independence:
- Logical Data Independence: This ensures that any changes or modifications done in the conceptual schema or logical level do not affect the External schema or the view level.
- Physical Data Independence: This ensures that any changes or modifications done in the internal schema at the lower level do not affect the conceptual schema or the application layer (logical level).