Unit No.1 Introduction DBMS - Concepts & Architectures
Unit No.1 Introduction DBMS - Concepts & Architectures
Unit No.1 Introduction DBMS - Concepts & Architectures
Database management system is software that is used to manage the database. A Database Management System
(DBMS) is a software system that is designed to manage and organize data in a structured manner. It allows users
to create, modify, and query a database, as well as manage the security and access controls for that database.
Database management system is a software which is used to manage the database. For example: MySQL, Oracle, etc are
a very popular commercial database which is used in different applications. It provides protection and security to the
database. In the case of multiple users, it also maintains data consistency.
DBMS allows users the following tasks:
•Data Definition: It is used for creation, modification, and removal of definition that defines the organization of data in
the database.
•Data Updation: It is used for the insertion, modification, and deletion of the actual data in the database.
•Data Retrieval: It is used to retrieve the data from the database which can be used by applications for various purposes.
1.1 Database and Need for DBMS, Characteristics of DBMS
What is Database
The database is a collection of inter-related data which is used to retrieve, insert and delete the data efficiently. It is also
used to organize the data in the form of a table, schema, views, and reports, etc.
For example: The college Database organizes the data about the admin, staff, students and faculty etc.
Using the database, you can easily retrieve, insert, and delete the information.
There are so many characteristics of a database management system, which are as follows −
•A database management system is able to store any kind of data in a database.
•The database management system has to support ACID (atomicity, consistency, isolation, durability) properties.
•The Database management system allows so many users to access databases at the same time.
•Backup and recovery are the two main methods which allow users to protect the data from damage or loss.
•It also provides multiple views for different users in a single organization.
•It follows the concept of normalization which is helpful to minimize the redundancy of a relation.
•It also provides users query language, helpful to insert, retrieve, update, and delete the data in a database.
1.2 Database 3-tier schema (ANSI/SPARC) and system architecture of DBMS
•The three schema architecture is also called ANSI/SPARC architecture or three-level architecture.
•This framework is used to describe the structure of a specific database system.
•The three schema architecture is also used to separate the user applications and physical database.
•The three schema architecture contains three-levels. It breaks the database down into three different categories.
In the above diagram:
•It shows the DBMS architecture.
•Mapping is used to transform the request and response between various database levels of architecture.
•Mapping is not good for small DBMS because it takes more time.
•In External / Conceptual mapping, it is necessary to transform the request from external level to conceptual schema.
•In Conceptual / Internal mapping, DBMS transform the request from the conceptual to internal level.
1. Internal Level
•The internal level has an internal schema which describes the physical storage structure of the database.
•The internal schema is also known as a physical schema.
•It uses the physical data model. It is used to define that how the data will be stored in a block.
•The physical level is used to describe complex low-level data structures in detail.
•The conceptual schema describes the design of a database at the conceptual level. Conceptual level is also known as
logical level.
•The conceptual schema describes the structure of the whole database.
•The conceptual level describes what data are to be stored in the database and also describes what relationship exists
among those data.
•In the conceptual level, internal details such as an implementation of the data structure are hidden.
•Programmers and database administrators work at this level.
3. External Level
•At the external level, a database contains several schemas that sometimes called as subschema. The subschema is used
to describe the different view of the database.
•An external schema is also known as view schema.
•Each view schema describes the database part that a particular user group is interested and hides the remaining
database from that user group.
•The view schema describes the end user interaction with database systems.
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.
Example
A database schema for a person will have fields for name, email, phone and address as shown below −
Person
Name Email Phone no
Instance :-
Instance or extension or database state is a collection of information that stored in a database at a particular moment is
called an instance of the database. The Database instance refers to the information stored in the database at a given point
of time. Thus, it is a dynamic value which keeps on changing.
Example
A database instance for the Person database can be (User1,emai.com,11345679,addr) So the person construct will contain
their individual entities in the attributes called as instance. This is shown below −
Person
Name Email Phone no
BOB [email protected] 2343435
JANU [email protected] 5345464
PRIYA [email protected] 2342342
1.4 Centralized Architecture, Client-Server System, Transaction Servers, Data servers,
Cloud based Servers
1. Centralized Architecture
A centralized architecture for DBMS is one in which all data is stored on a single server, and all clients connect to that
server in order to access and manipulate the data. This type of architecture is also known as a monolithic architecture. One
of the main advantages of a centralized architecture is its simplicity - there is only one server to manage, and all clients use
the same data.
However, there are also some drawbacks to this type of architecture. One of the main downsides is that, because all data is
stored on a single server, that server can become a bottleneck as the number of clients and/or the amount of data
increases. Additionally, if the server goes down for any reason, all clients lose access to the data.
An example of a DBMS that uses a centralized architecture is SQLite, an open-source, self-contained, high-reliability,
embedded, full-featured, public-domain SQL database engine. SQLite's architecture is based on the client-server model,
but the entire database is contained within a single file, making it a perfect fit for small to medium-sized applications.
2. Client-Server Architecture
A client-server architecture for DBMS is one in which data is stored on a central server, but clients connect to that server in
order to access and manipulate the data. This type of architecture is more complex than a centralized architecture, but it
offers several advantages over the latter.
One of the main benefits of a client-server architecture is that it is more scalable than a centralized architecture. As the
number of clients and/or the amount of data increases, the server can be upgraded or additional servers can be added to
handle the load. This allows the system to continue functioning smoothly even as it grows in size.
Another advantage of a client-server architecture is that it is more fault-tolerant than a centralized architecture. If a single
server goes down, other servers can take over its responsibilities, and clients can still access the data. This makes the
system less likely to experience downtime, which is a crucial factor in many business environments.
An example of a DBMS that uses a client-server architecture is MySQL, an open-source relational database management
system. MySQL uses a multi-threaded architecture, where multiple clients can connect to the server and make requests
simultaneously. The server processes these requests and returns the results to the appropriate client.
3. Transaction Servers
A transaction server is a specialized type of server that manages the operations of software based transactions or
transaction processing. It manages application and database transactions on a network or Internet, within a distributed
computing environment.
Some of the examples of commercially available transaction servers are:
•Microsoft transaction server ( MTS )
•IBM transaction server
Transaction servers incorporate programming that handles high volumes of message exchanges. This kind of programming
is planned explicitly to deal with enormous volumes of information passage and message traffic in an organization.
How Transaction Server Works:
Suppose, there is a client who wants to access a file from the server, so first of all client makes a connection to the server
using TCP protocol, and the translation of the name address into the IP address is done by DNS.
Then they make a request to the server for the particular information or file. This request contains the command, page
desired, and the protocol or version.
After this, the server reads the request and sends the requested file to the client and it is called response. The response
contains the status line, header files, and the message body containing the information from the database, and this whole
process is called request-response behavior. It might also happen that server denies some information.
Finally, when the client receives the information, the transaction is terminated.
4. Database Servers
Database servers are used to store and manage databases that are stored on the server and to provide data access for
authorized users. This type of server keeps the data in a central location that can be regularly backed up. It also allows
users and applications to centrally access the data across the network. A large number of the databases used in your
organization can be kept on one server or a group of servers that are specifically configured to protect data and service
client requests.