DBMS Architecture
The architecture of DBMS depends on the computer system on which it
runs. For example, in client-server DBMS architecture, the database
systems at server machine can run several requests made by client
machine. We will understand this communication with the help of
diagrams.
Types of DBMS Architecture
There are three types of DBMS architecture:
1. Single tier architecture
2. Two tier architecture
3. Three tier architecture
1. Single tier architecture
In this type of architecture, the database is readily available on the client
machine; any request made by client doesn’t require a network
connection to perform the action on the database.
For example, let’s say you want to fetch the records of employee from
the database and the database is available on your computer system, so
the request to fetch employee details will be done by your computer and
the records will be fetched from the database by your computer as well.
This type of system is generally referred as local database system.
2. Two tier architecture
In two-tier architecture, the Database system is present at the server
machine and the DBMS application is present at the client machine,
these two machines are connected with each other through a reliable
network as shown in the above diagram.
Whenever client machine makes a request to access the database present
at server using a query language like sql, the server perform the request
on the database and returns the result back to the client. The application
connection interface such as JDBC, ODBC are used for the interaction
between server and client.
3. Three tier architecture
In three-tier architecture, another layer is present between the client
machine and server machine. In this architecture, the client application
doesn’t communicate directly with the database systems present at the
server machine, rather the client application communicates with server
application and the server application internally communicates with the
database system present at the server.
DBMS – Three Level Architecture
This architecture has three levels:
1. External level
2. Conceptual Level
3. Internal level
1. External level
It is also called view level. The reason this level is called “view” is
because several users can view their desired data from this level which is
internally fetched from database with the help of conceptual and internal
level mapping.
The user doesn’t need to know the database schema details such as data
structure, table definition etc. user is only concerned about data which is
what returned back to the view level after it has been fetched from
database (present at the internal level).
External level is the “top level” of the Three Level DBMS Architecture.
2. Conceptual level
It is also called logical level. The whole design of the database such as
relationship among data, schema of data etc. are described in this level.
Database constraints and security are also implemented in this level of
architecture. This level is maintained by DBA (database administrator).
3. Internal level
This level is also known as physical level. This level describes how the
data is actually stored in the storage devices. This level is also
responsible for allocating space to the data. This is the lowest level of
the architecture.
DBMS languages
Database languages are used to read, update and store data in a database.
There are several such languages that can be used for this purpose; one
of them is SQL (Structured Query Language).
Types of DBMS languages:
Data Definition Language (DDL)
DDL is used for specifying the database schema. It is used for creating
tables, schema, indexes, constraints etc. in database. Let’s see the
operations that we can perform on database using DDL:
To create the database instance – CREATE
To alter the structure of database – ALTER
To drop database instances – DROP
To delete tables in a database instance – TRUNCATE
To rename database instances – RENAME
To drop objects from database such as tables – DROP
To Comment – Comment
All of these commands either defines or update the database schema
that’s why they come under Data Definition language.
Data Manipulation Language (DML)
DML is used for accessing and manipulating data in a database. The
following operations on database come under DML:
To read records from table(s) – SELECT
To insert record(s) into the table(s) – INSERT
Update the data in table(s) – UPDATE
Delete all the records from the table – DELETE
Data Control language (DCL)
DCL is used for granting and revoking user access on a database –
To grant access to user – GRANT
To revoke access from user – REVOKE
In practical data definition language, data manipulation language and data
control languages are not separate language; rather they are the parts of a
single database language such as SQL.
Transaction Control Language (TCL)
The changes in the database that we made using DML commands are either
performed or rollbacked using TCL.
To persist the changes made by DML commands in database – COMMIT
To roll back the changes made to the database – ROLLBACK
Data models in DBMS
Data Model is a logical structure of Database. It describes the design of
database to reflect entities, attributes, relationship among data,
constrains etc.