Professional Documents
Culture Documents
Database Management System
Database Management System
Unit - 1
DBMS
• Database is a collection of related data and data is a collection of
facts and figures that can be processed to produce information.
• Mostly data represents recordable facts. Data aids in producing
information, which is based on facts. For example, if we have data
about marks obtained by all students, we can then conclude about
toppers and average marks.
• A database management system stores data in such a way that it
becomes easier to retrieve, manipulate, and produce information.
• Database Management System or DBMS in short refers to the
technology of storing and retrieving users’ data with utmost
efficiency along with appropriate security measures.
Characteristics of DBMS
• Traditionally, data was organized in file formats. DBMS was a new
concept then, and all the research was done to make it overcome
the deficiencies in traditional style of data management. A modern
DBMS has the following characteristics −
• Real-world entity − A modern DBMS is more realistic and uses real-
world entities to design its architecture. It uses the behavior and
attributes too. For example, a school database may use students as
an entity and their age as an attribute.
• Relation-based tables − DBMS allows entities and relations among
them to form tables. A user can understand the architecture of a
database just by looking at the table names.
Characteristics Cont..
• Isolation of data and application − A database system is entirely
different than its data. A database is an active entity, whereas data
is said to be passive, on which the database works and organizes.
DBMS also stores metadata, which is data about data, to ease its
own process.
• Less redundancy − DBMS follows the rules of normalization, which
splits a relation when any of its attributes is having redundancy in
values. Normalization is a mathematically rich and scientific
process that reduces data redundancy.
Characteristics of DBMS Cont..
• Consistency − Consistency is a state where every relation in a
database remains consistent. There exist methods and techniques,
which can detect attempt of leaving database in inconsistent state. A
DBMS can provide greater consistency as compared to earlier forms
of data storing applications like file-processing systems.
• Query Language − DBMS is equipped with query language, which
makes it more efficient to retrieve and manipulate data. A user can
apply as many and as different filtering options as required to retrieve
a set of data. Traditionally it was not possible where file-processing
system was used.
Characteristics of DBMS Cont..
• A database management system stores data in such a way that it
becomes easier to retrieve, manipulate, and produce information.
Following are the important characteristics of DBMS.
• ACID Properties − DBMS follows the concepts
of Atomicity, Consistency, Isolation, and Durability (normally shortened
as ACID). These concepts are applied on transactions, which
manipulate data in a database. ACID properties help the database stay
healthy in multi-transactional environments and in case of failure.
• Multiuser and Concurrent Access − DBMS supports multi-user
environment and allows them to access and manipulate data in
parallel. Though there are restrictions on transactions when users
attempt to handle the same data item, but users are always unaware
of them.
Characteristics of DBMS Cont..
• Multiple views − DBMS offers multiple views for different users. A
user who is in the Sales department will have a different view of
database than a person working in the Production department. This
feature enables the users to have a concentrate view of the database
according to their requirements.
• Security − Features like multiple views offer security to some extent
where users are unable to access data of other users and
departments.
– DBMS offers methods to impose constraints while entering data
into the database and retrieving the same at a later stage.
– DBMS offers many different levels of security features, which
enables multiple users to have different views with different
features.
Characteristics of DBMS Cont..
– For example, a user in the Sales department cannot see the
data that belongs to the Purchase department.
– Additionally, it can also be managed how much data of the
Sales department should be displayed to the user.
– Since a DBMS is not saved on the disk as traditional file systems,
it is very hard for miscreants to break the code.
• Applications of DBMS:
• The Database Management System (DBMS) is defined as a
software system that allows the user to define, create and
maintain the database and provide control access to the data.
• It is a collection of programs used for managing data and
simultaneously it supports different types of users to create,
manage, retrieve, update and store information.
Applications of DBMS
• Following are some of the applications where database management
system is used −
• Railway Reservation System − The railway reservation system
database plays a very important role by keeping record of ticket
booking, train’s departure time and arrival status and also gives
information regarding train late to people through the database.
• Library Management System − Now-a-days it’s become easy in the
Library to track each book and maintain it because of the database.
This happens because there are thousands of books in the library. It is
very difficult to keep a record of all books in a copy or register. Now
DBMS used to maintain all the information related to book issue
dates, name of the book, author and availability of the book.
Applications of DBMS Cont..
• Banking − Banking is one of the main applications of databases. We
all know there will be a thousand transactions through banks daily
and we are doing this without going to the bank. This is all possible
just because of DBMS that manages all the bank transactions.
• Universities and colleges − Now-a-days examinations are done
online. So, the universities and colleges are maintaining DBMS to
store Student’s registrations details, results, courses and grade all
the information in the database.
– For example, telecommunications. Without DBMS there is no
telecommunication company. DBMS is most useful to these companies to
store the call details and monthly postpaid bills.
Applications of DBMS Cont..
• Credit card transactions − The purchase of items and transactions
of credit cards are made possible only by DBMS. A credit card
holder has to know the importance of their information that all are
secured through DBMS.
• Social Media Sites − By filling the required details we are able to
access social media platforms. Many users sign up daily on social
websites such as Facebook, Pinterest and Instagram. All the
information related to the users are stored and maintained with
the help of DBMS.
• Finance − Now-a-days there are lots of things to do with finance
like storing sales, holding information and finance statement
management etc. these all can be done with database systems.
Applications of DBMS Cont..
• Military − In military areas the DBMS is playing a vital role. Military
keeps records of soldiers and it has so many files that should be
kept secure and safe. DBMS provides a high security to military
information.
• Online Shopping − Now-a-days we all do Online shopping without
wasting the time by going shopping with the help of DBMS. The
products are added and sold only with the help of DBMS like
Purchase information, invoice bills and payment.
• Human Resource Management − The management keeps records
of each employee’s salary, tax and work through DBMS.
Applications of DBMS Cont..
• Manufacturing − Manufacturing companies make products and
sell them on a daily basis. To keep records of all those details
DBMS is used.
• Airline Reservation system − Just like the railway reservation
system, airlines also need DBMS to keep records of flights arrival,
departure and delay status.
• So finally, we can clearly conclude that the DBMS is playing a very
important role in each and every field.
Applications of DBMS Cont..
DBMS Users
1. Administrators
– They are responsible for maintaining the database by seeing who uses it at
what time. Administrators create profiles of the users who can access the
data and isolate the users without authorization. They also take care of
system licenses, required tools, and other maintenance tasks.
2. Designers
– They design the entire database and decide the format that suits them the
best. This includes designing entities, relations, views, etc.
3. End Users
– They are the ones who use it in the end. They can be just viewers who look
at it out of curiosity or analysts trying to study market trends.
4. Application Programmers
– They are the ones who write in the programming language to create
database interaction.
Types of DBMS
• 1. Hierarchical DBMS
• The data organization is in the form of a tree-like structure. There is a
hierarchy in the data storage following a parent-child relationship.
And just like this relationship, the parents can have many kids but the
kid has only one parent.
• 2. Network Model
• The data organization in this has a complex relationship. They are in a
graphical form with several paths. To make it easy, the kid can have
more than one parent here.
• 3. Relational model
• It is one of the easiest models that normalizes data in rows and
columns. It follows a fixed structure using SQL.
• 4. Object-Oriented Model
• This type of model has data in object forms. The structure it follows
has data in class form with both values and operations.
• 1. Storage engine
Components of a DBMS
• This is where all the data goes as it ascites as an interface between the database system and the
operating system. It sometimes uses more components to store data at the file system level.
• 2. Metadata catalog
• This is the place where DBMS registers all the data at the time of creation. It uses this catalog to verify
data requests and then execute them further. The information related to objects, schemas, programs,
security, performance, etc. is also available here.
• 3. Database access language
• It also needs an API to access data and database access language acts as one in this system. This allows
data modification and creation while securing them from unauthorized users. SQL is an example of this
language.
• 4. Optimization engine
• This engine is to execute requests by database access language by making them actionable commands
for data access.
• 5. Lock manager
• It is responsible to manage concurrent access to the same data to ensure that users cannot modify it at
the same time.
• 6. Log manager
• It maintains all the records of change in data in the form of a log. This is an efficient and accurate way of
maintaining the records as they help in backups and run recoveries.
• 7. Data utilities
• There are a set of utilities to manage database activities like run stats, backup and copy, recovery, load
data, etc.
Advantages and disadvantages of DBMS
• Advantages of DBMS
• It controls database redundancy by storing all the data in one file placed in
the database.
• It enables data sharing by giving access to authorized users of the same
company.
• It is easy to maintain because of its centralized nature.
• It reduces the time for development and maintenance.
• It always keeps a backup in case of hardware and software failures.
• It supports multiple user interfaces by giving access to many people at a
time.
• Disadvantages of DBMS
• The cost of hardware and software is high as it needs speed and large
memory to work.
• It takes up a large size of disks to run efficiently.
• There are more complexity and requirements.
• There is a higher impact of failure as the database is usually in a single
system.
DBMS Architecture
• The design of a DBMS depends on its architecture. It can be
centralized or decentralized or hierarchical. The architecture of a
DBMS can be seen as either single tier or multi-tier. An n-tier
architecture divides the whole system into related but
independent n modules, which can be independently modified,
altered, changed, or replaced.
• In 1-tier architecture, the DBMS is the only entity where the user
directly sits on the DBMS and uses it. Any changes done here will
directly be done on the DBMS itself. It does not provide handy
tools for end-users. Database designers and programmers normally
prefer to use single-tier architecture.
3 - tier Architecture
• If the architecture of DBMS is 2-tier, then it must have an application
through which the DBMS can be accessed. Programmers use 2-tier
architecture where they access the DBMS
by means of an application. Here the
application tier is entirely independent of
the database in terms of operation, design,
and programming.
• A 3-tier architecture separates its tiers
from each other based on the complexity
of the users and how they use the data
present in the database. It is the most
widely used architecture to design a
DBMS.
3 - tier Architecture Cont..
• Database (Data) Tier − At this tier, the database resides along with
its query processing languages. We also have the relations that
define the data and their constraints at this level.
• Application (Middle) Tier − At this tier reside the application server
and the programs that access the database. For a user, this
application tier presents an abstracted view of the database. End-
users are unaware of any existence of the database beyond the
application. At the other end, the database tier is not aware of any
other user beyond the application tier. Hence, the application layer
sits in the middle and acts as a mediator between the end-user
and the database.
3 - tier Architecture Cont..
• User (Presentation) Tier − End-users operate on this tier and they
know nothing about any existence of the database beyond this
layer. At this layer, multiple views of the database can be provided
by the application. All views are generated by applications that
reside in the application tier.
• Multiple-tier database architecture is highly modifiable, as almost
all its components are independent and can be changed
independently.
Levels of Abstraction
•Many views:
• single
• conceptual (logical) schema
• and physical schema.
• Relational Model
• The most popular data model in DBMS is the Relational Model. It is
more scientific a model than others. This model is based on first-
order predicate logic and defines a table as an n-ary relation.
Relational Model
• The main highlights of this model are −
– Data is stored in tables called relations.
– Relations can be normalized.
– In normalized relations, values saved are atomic values.
– Each row in a relation contains a unique value.
– Each column in a relation contains values from a same domain.
Database Schema
• A database schema is the skeleton structure that represents the
logical view of the entire database. It defines how the data is
organized and how the relations among them are associated. It
formulates all the constraints that are to be applied on the data.
• A database schema defines
its entities and the relationship
among them.
• It contains a descriptive detail
of the database, which can be
depicted by means of schema
diagrams.
• It’s the database designers
who design the schema to help
programmers understand the
Schema Categories
• Entity
• Entities are represented by means of rectangles. Rectangles are
named with the entity set they represent.
Attributes
• Attributes are the properties of entities. Attributes are represented
by means of ellipses. Every ellipse represents one attribute and is
directly connected to its entity (rectangle).
Composite Attributes
• If the attributes are composite, they are further divided in a tree
like structure. Every node is then connected to its attribute. That is,
composite attributes are represented by ellipses that are
connected with an ellipse.
Multivalued Attributes
Multivalued attributes are depicted by double ellipse.
Derived Attributes
• Derived attributes are depicted by dashed ellipse.
Relationship
• Relationships are represented by diamond-shaped box. Name of
the relationship is written inside the diamond-box. All the entities
(rectangles) participating in a relationship, are connected to it by a
line.
• Binary Relationship and Cardinality
• A relationship where two entities are participating is called
a binary relationship. Cardinality is the number of instance of an
entity from a relation that can be associated with the relation.
One-to-one relationship
• One-to-one − When only one instance of an entity is associated
with the relationship, it is marked as '1:1'. The following image
reflects that only one instance of each entity should be associated
with the relationship. It depicts one-to-one relationship.
One-to-many relationship