DBMS - Lesson 3 - Introduction To Database Management Systems
DBMS - Lesson 3 - Introduction To Database Management Systems
DBMS - Lesson 3 - Introduction To Database Management Systems
Importance of DBMS
A database management system is important because it manages data efficiently and
allows users to perform multiple tasks with ease.
A database management system stores, organizes and manages a large amount of
information within a single software application. Use of this system increases efficiency
of business operations and reduces overall costs.
Handling multiple types of data. Some of the data that are easily managed with this type
of system include: employee records, student information, payroll, accounting, project
management, inventory and library books. These systems are built to be extremely
versatile.
A database management system improves data processes and increases organizational
business value of an organization’s data assets, freeing users across the organization from
repetitive and time-consuming data processing tasks.
Functions of DBMS
There are several functions that a DBMS performs to ensure data integrity and consistency of
data in the database. These functions include:
Data definition: Creation of table, table schema creation, removal of table definition etc.
comes under data definition. It is basically a layout of the table and their relation with the
other tables in the database. This allows to properly structure the data in such a way so
that the data that is related or dependent on other data in real world can be represented the
same way in database.
Data modification: A DBMS allows users to insert, update and delete the data from the
tables. These tables contains rows and columns, where row represents a record of data
while column represents attributes of the records. One can also bulk update the several
records in DBMS with a single click.
Data retrieval: A DBMS allows users to fetch data from the database. Searching and
retrieval of data is fast in DBMS. The size of the database doesn’t impact this operation,
on the other hand in file system, the size of the data can hugely impact the search
operation efficiency.
Data dictionary management: Data Dictionary is where the DBMS stores definitions of
the data elements and their relationships (metadata). The DBMS uses this function to
look up the required data component structures and relationships. When programs access
data in a database they are basically going through the DBMS. This function removes
structural and data dependency and provides the user with data abstraction. In turn, this
makes things a lot easier on the end user. The Data Dictionary is often hidden from the
user and is used by database administrators and programmers.
Data storage management: This particular function is used for the storage of data and
any related data entry forms or screen definitions, report definitions, data validation rules,
procedural code, and structures that can handle video and picture formats. Users do not
need to know how data is stored or manipulated. Also involved with this structure is a
term called performance tuning that relates to a database‘s efficiency in relation to
storage and access speed.
Data transformation and presentation: This function exists to transform any data
entered into required data structures. By using the data transformation and presentation
function the DBMS can determine the difference between logical and physical data
formats.
Security management: This is one of the most important functions in the DBMS.
Security management sets rules that determine specific users that are allowed to access
the database. Users are given a username and password or sometimes through biometric
authentication (such as a fingerprint or retina scan) but these types of authentication tend
to be more costly. This function also sets restraints on what specific data any user can see
or manage.
User administration: DBMS also allows user management such as organizing users in
different groups with different access levels. Granting users access to certain tables in
database, revoking access from certain users etc. This allows the admin of the database
to efficiently manage the access to the database and prevent unauthorized access to the
databases.
Multiuser access control: Data integrity and data consistency are the basis of this
function. Multiuser access control is a very useful tool in a DBMS, it enables multiple
users to access the database simultaneously without affecting the integrity of the
database.
Backup and recovery management: Backup and recovery is brought to mind whenever
there is potential outside threats to a database. Backup management refers to the data
safety and integrity, e.g., backing up all files on a disk.
Data integrity management: The DBMS enforces rules to reduce things such as data
redundancy, which is when data is stored in more than one place unnecessarily, and
maximizing data consistency, making sure database is returning correct/same answer
each time for same question asked.
Database access languages and application programming interfaces: A query
language is a nonprocedural language. An example of this is SQL (structured query
language). SQL is the most common query language supported by the majority of DBMS
vendors. The use of this language makes it easy for user to specify what they want done
without the headache of explaining how to specifically do it.
Database communication interfaces: This refers to how a DBMS can accept different
end user requests through different network environments. An example of this can be
easily related to the internet. A DBMS can provide access to the database using the
Internet through Web Browsers (Mozilla Firefox, Internet Explorer, and Netscape).
Transaction management: This refers to how a DBMS must supply a method that will
guarantee that all the updates in a given transaction are made or not made. All
transactions must follow what is called the ACID properties.
A: Atomicity: states a transaction is an indivisible unit that is either performed as
a whole and not by its parts, or not performed at all. It is the responsibility of
recovery management to make sure this takes place.
C: Consistency: A transaction must alter the database from one constant state to
another constant state.
I: Isolation: Transactions must be executed independently of one another. Part of
a transaction in progress should not be able to be seen by another transaction.
D: Durability: A successfully completed transaction is recorded permanently in
the database and must not be lost due to failures.
More specifically, a DBMS provides the following functions
Concurrency: Concurrent access (meaning 'at the same time') to the same database by
multiple users
Query Language: A DBMS provides users with a simple Query language, using which
data can be easily fetched, inserted, deleted and updated in a database.
Security: A DBMS also takes care of the security of data, protecting the data from un-
authorized access. In a typical DBMS, we can create user accounts with different access
permissions, using which we can easily secure our data by restricting user access.
A DBMS supports transactions, which allows one to better handle and manage data
integrity in real world applications where multi-threading is extensively used.
A DBMS should be able to store any kind of data in a database.
A DBMS should be able to support ACID (atomicity, consistency, isolation, durability)
properties.
A DBMS allows more than one users to access the same database at the same time.
In a DBMS backup and recovery are the two main methods that allow users to protect
their data from damage or loss.
A DBMS provides multiple views for different users in one organization.
A DBMS follows the concept of normalization to minimize the redundancy of a relation.
A DBMS provides users query language, using which they can easily insert, retrieve,
update, and delete the data in a database.
Advantages
Some of the advantages of a DBMS include:
Better data transferring: Database management creates a place where users have an
advantage of more and better-managed data. Thus making it possible for end-users to
have a quick look and to respond fast to any changes made in their environment.
Minimized data inconsistency: Data inconsistency occurs between files when
different versions of the same data appear in different places. For Example, data
inconsistency occurs when a student’s name is saved as “John Wayne” on a main
computer of the school but on the teacher registered system same student name is
“William J. Wayne”, so if a database is properly designed then data inconsistency can
be greatly reduced hence minimizing data inconsistency.
Faster data access: The Database management system (DBMS) helps to produce quick
answers to database queries thus making data access faster and more accurate.
Better decision making: Due to DBMS now there are better managed data and
improved data access hence better quality information can be generated thus, on this
basis better decisions can be made.
Increased end-user productivity: The data which is available with the help of a
combination of tools that transform data into useful information, helps end-users to
make quick, informative, and better decisions that can make difference between success
and failure in the global economy.
Simple: Database management system (DBMS) gives a simple and clear logical view
of data. Many operations like insertion, deletion, or creation of files or data are easy to
implement.
Data abstraction: The major purpose of a database system is to provide users with an
abstract view of the data. Since many complex algorithms are used by the developers to
increase the efficiency of databases that are being hidden by the users through various
data abstraction levels to allow users to easily interact with the system
Reduction in data redundancy: When working with a structured database, DBMS
provides the feature to prevent the input of duplicate items in the database, e.g. If there
are two same students in different rows, then one of the duplicate data will be deleted.
Program data independence: The database systems provide an independence between
the file system and application programs that allows for change at one level of the data
without affecting others. This property of the database systems allow change in data
without changing the application programs that process the data.
Sharing of data: In a database management systems, data is centrally controlled and can
be shared by all authorized users. Sharing of data means not only the existing
applications programs share data in the database but also new ones can be developed to
operate on existing data.
Enforcement of standards: In database systems, data being stored at one central place,
standards can easily be enforced by the DBA. This ensures standardized data formats to
facilitate data transfers between systems. Applicable standards might include any one of
all the following departmental, installation, organizational, industry, corporate, national
or international
Improved data integrity: Data integrity means that the data contained in the database is
both accurate and consistent. The centralized control property allows adequate checks
and can be incorporated in the database to provide data integrity. One integrity check that
should be incorporated in the database is to ensure that if there is a reference to certain
object, that object must exist.
Improved security: Database security means protecting the data contained in the
database from unauthorized users. The DBA ensures that proper access procedures are
followed, including proper authentically schemes for access to the DBMS and additional
checks before permitting access to sensitive data. The level of security could be different
for various types of data and operations.
Conflicting requirements can be balanced: The DBA resolves the conflicting
requirements of various users and applications by knowing the overall requirements of
various users and applications by knowing the overall requirements of the organization.
The DBA can structure the system to provide an overall service that is best for the
organization.
Improved back and recovery facilities: Through its backup and recovery subsystem the
database system provides the facilities for recovering from hardware or software failures.
The recovery subsystem of the database system ensures that the database is restored to
the state it was in before the program started executing in case of system crash.
Minimal program maintenance: There is minimal programs maintenance in database
management systems due to independence of data and application programs.
Data quality is high: Data quality is high: The quality of data in a database systems as
compared to traditional file systems. There is improved accuracy, validity, and time it
takes to read data. DBMS does not guarantee data quality, it provides a framework to
make it easy to improve data quality.
Good data access and responsiveness: The database systems provide query language or
report writers that allow users to ask as hoc queries to obtain the needed information
immediately without the requirements to write application programs that access the
information from the database. This is possible due to integration in database systems.
Concurrency control: The database system are designed to manage simultaneous access
of the database by many users. They also prevent any loss of information or loss of
integrity due to these concurrent accesses.
Economical to scale: In database systems, the operational data of an organization is
stored in a central database. The application programs that work on this data are less
costly to build as compared to traditional file system. This reduces the overall cost of
operations and management of the database that leads to an economical scaling
Disadvantages
Complexity increases: The data structure may become more complex because of the
centralized database supporting many applications in an organization. This may lead to
difficulties in management and may require professionals for management
Requirements of more disk space: The wide functionality and more complexity
increase the size of DBMS. Thus, it requires much more space to store and run than the
traditional file system.
High implementation cost: The cost of implementing a database management system is
high especially due to the high hardware, installation, management and maintenance
costs.
Need of additional and specialized manpower: Any organization having database
systems, need to hire and train its manpower on a regular basis to design and implement
databases and to provide database administration services.
Need for backup and recovery: For a database to be always accurate and available, a
procedure is required to be developed and used for providing backup copies to all its
users when damage occurs.
Organizational conflict: A centralized and shared database system requires a consensus
on data definitions and ownership as well as responsibilities for accurate data
maintenance
Network model
The network model is an extension of the hierarchical model. Data is organized more like a
graph, and are allowed to have more than one parent node as shown in the following diagram
Data is more related as more relationships are established in this database model. As a result,
accessing the data is also easier and fast. This database model was used to map many-to-many
data relationships.
Note:
The network model was the most widely used database model, before Relational Model
was introduced.
In a network database management system entities are organized in a graph which can be
accessed through several paths.
Entity-relationship model
In this database model, relationships are created by dividing object of interest into entity and its
characteristics into attributes. Different entities are related using relationships. E-R Models are
defined to represent the relationships into pictorial form to make it easier for different
stakeholders to understand. This model is good for designing a database, which can then be
turned into tables in relational model.
Example:
If one has to design a school database, then student will be an entity with attributes name, age,
address etc. As Address is generally complex, it can be another entity with attributes street
name, pincode, city etc., and there will be a relationship between them as shown in the diagram
below
Relational model
In this model, data is organized in two-dimensional tables and the relationship is maintained by
storing a common field. The basic structure of data in the relational model is tables. All the
information related to a particular type is stored in rows of that table as shown in the following
diagram
Note:
Tables are also known as relations in relational model.
Examples of relational database include, Oracle Database, MySQL, and Microsoft SQL
Server etc.
allocated to another passenger, this is easily handled by the DBMS systems as the data
updates are in real time and fast.
Education sector: Database systems are frequently used in schools and colleges to store
and retrieve the data regarding student details, staff details, course details, exam details,
payroll data, attendance details, fees details etc. There is a large amount of inter-related
data that needs to be stored and retrieved in an efficient manner.
Online shopping: One must be aware of the online shopping websites such as Amazon,
Flipkart etc. These sites store the product information, your addresses and preferences,
credit details and provide you the relevant list of products based on your query. All this
involves a Database management system. Along with managing the vast catalogue of
items, there is a need to secure the user private information such as bank & card details.
All this is taken care of by database management system
Factors to consider when acquiring a DBMS/ DBMS acquisition
When choosing a DBMS from a variety of concepts and vendors, one should consider the
following factors before making a decision:
Data model: Consider which data model offers the best. The relational concept was
dominant, however recently NoSQL databases have again become more successful.
Relational vs. NoSQL is based on individual needs and their main advantage is the data
structure itself.
Data consistency: Keeping the data consistent becomes even more important as more
sources feed into the database. Therefore, consistency rules are very important and the
ability to define these should be considered when choosing a new DBMS.
Data security: Data availability is a key business success factor and should be
guaranteed at all times. The ability to backup and restore the databases is essential and
needs to be possible with your chosen DBMS.
Data protection: Every DBMS provides different methods of protecting the data. The
method of data protection depends on the structure of data and should be carefully
considered during the evaluation process of a DBMS. Access protection and encryption
should allow protection of personal data.
Multi access and integration: The DBMS needs to allow concurrent accesses by
multiple users. Synchronization and integration with other tools are essential for smooth
workflows.
Flexibility: The DBMS should be flexible enough to allow integration into the given IT
infrastructure, Setting it up, running it and extending it for future growth (scalability).
Make sure the DBMS of choice can scale to your needs.
Usability: The DBMS should be user friendly. Different user groups will be working
with the DBMS. There are the administrators, IT and Database admins, application
integrators and data consumers. All these different roles need an easily understandable
query language and intuitive UI to use the DBMS system efficiently. The easier it is for
the user to work with the DBMS, the lower the cost will be for people.
Visualization and reporting: The DBMS should visually analyze and display results for
any queries run on data with ease.
Hosting: One must decide where the DBMS is going to be located (physically). It could
be in-house or one could engage the services of a company to host it.
Cost: The DBMS should be affordable and sustainable in terms of costs involved in
acquiring it, implementing it, running it and maintaining it. Consider how much needs to
be invested in supporting I.T infrastructure and staffing.
Historical evolution of DBMS
The chronological order of the development of DBMS is as follows
Flat file (1970s – 1990s)
Flat files database is a database management system stored information in a single file or table.
In a text file, every line contains one record where fields either have fixed length or they are
separated by commas, whitespaces, tabs or any records and they cannot contain multiple tables
as well.
Hierarchical (1970s – 1990s)
Hierarchical database management systems stored data in a hierarchically arranged. A parent can
have many children but one child can only have one parent, i.e. one to many relationships. Its
hierarchical structure contains levels or segments which are equivalent to the file system’s record
type. All attribute of a specific record are listed under the entity type.
Network (1970 – 1990s)
Network database management systems were invented by Charles Bachmann and they allowed
multiple parent and child relationship i.e. it maintains many relationship it maintains many to
many relationship. Network database is basically a graph structure. The network database model
was created to achieve three main objectives:
To represent complex data relationship more effectively
To improve the performance of the database
To improve a database standard
Relational (1980s – Present)
The relational databases management systems were proposed by E. F Codd. They allow the
entities to be related through a common attribute. In the tables there are alternative keys. This
property makes the relational databases model extremely flexible.
Object oriented (1990s – Present)
Object oriented database management systems in which the data or information is presented in
the form of objects. Objects oriented DBMS also facilitate the user by offering transportation
support, language for various queries and indexing options. Also, these database systems have
the ability to handle data efficiently over multiple servers.
Object relational (1990s – Present)
Defined in simple terms, an object relationship database management system display a modified
object oriented user display over the already implement relationship database management
system. Implemented relationship database management system. When various software interact
with this modified database management system, they will customarily operate in a manner such
that data is assumed to be saved as objects. The basic working of thus database management
system is that it translates the useful data into organized tables distributed in rows and columns
and from then onwards, it manages data through the same way done in relational database
system. Similarly, when the data is to be accessed by the user, it is again translated from
processed to complex from.
Web enabled (1990s – Present)
Web enabled refers to a product or service that can be used through, or in conjunction with, the
World Wide Web. A Web-enabled product may be accessed through a Web browser or be able
to connect to other Web-based applications in order to synchronize data.
A web database is essentially a database that can be accessed from a local network or the
internet instead of one that has its data stored on a desktop or its attached storage. Used for both
professional and personal use, they are hosted on websites and are software as service (SaaS)
products, which means that access is provided via a web browser.
Emerging trends in DBMS/ trends in database management
There are several trends in database management, and knowing how to take advantage of them
will benefit an organization. These trends include:
Databases that bridge SQL/NoSQL: The latest trends in database products are those
that do not simply embrace a single database structure. Instead, the databases bridge SQL
and NoSQL, giving users the best capabilities offered by both, e.g. products that allow
users to access a NoSQL database in the same way as a relational database.
Databases in the cloud/platform as a service: As developers continue pushing their
enterprises to the cloud, organizations are carefully weighing the trade-offs associated
with public versus private. Developers are also determining how to combine cloud
services with existing applications and infrastructure. Providers of cloud service offer
many options to database administrators. Making the move towards the cloud does not
mean changing organizational priorities, but finding products and services that help meet
organizational goals.
Automated management: Automating database management is another emerging trend.
The set of such techniques and tools intend to simplify maintenance, patching,
provisioning, updates and upgrades even project workflow. However, the trend may have
limited usefulness since database management frequently needs human intervention.
An increased focus on security: Any organization that stores data is vulnerable.
Database administrators must also work with the security team to eliminate potential
internal weaknesses that could make data vulnerable. These could include issues related
to network privileges, even hardware or software misconfigurations that could be
misused, resulting in data leaks.
In memory databases: In-memory databases are purpose-built databases that rely
primarily on memory for data storage, in contrast to databases that store data on disk or
SSDs. In-memory data stores are designed to enable minimal response times by
eliminating the need to access disks. Because all data is stored and managed exclusively
in main memory, in-memory databases risk losing data upon a process or server failure.
Big data: There is speedy growth in the volume of structured, semi-structured and
unstructured data which is being analyzed and used to predict human and machine
behavior. The speed at which data has generated a need to be stored and processed
efficiently. A traditional database is not able to capture, manage, and process the high
volume of data with low-latency. There big data is a database that is different and
advanced from the standard database. The Standard Relational databases are efficient for
storing and processing structured data. It uses the table to store the data and structured
query language (SQL) to access and retrieve the data hence technologies and initiatives
that involve data that is too diverse i.e. varieties, rapid-changing or massive for skills,
conventional technologies, and infrastructure to address this efficiently are increasingly
being used.
Challenges of emerging trends in database management systems
Thirty years after the computerization of databases, the Internet has led to an exponential growth
within the industries whether indirectly or directly, everything that compiles data uses a
database. Recent times have proven to be an exceptional period of the production and capturing
of a nearly overwhelming amount of data. This has obviously created opportunities for
businesses to gain visibility into their customers and industry, but it has also created many
challenges in database management. This challenges include:
Data integration from various sources: With the advancement of smartphones, new
mobile applications, and the Internet of Things, businesses must be able to have their data
adapt accordingly. These varying types of data and sources make data management
difficult.
Public and private data security: In today’s digital world, security is the most prevalent
concern. Businesses must be able to ensure that every bit of their data remains safe and at
limited risk of exposure from hackers or leaks. Database breaches of highly sensitive
information have led to the destroyed reputation of businesses. It is up to the manager of
the database to ensure that the data is fully secured at all times.
The management of cloud based databases: In recent years, the Cloud has become one
of the biggest terms in the tech community. Both businesses and consumers want to be
able to access their data from database from the cloud or from a cloud database
provider’s servers in addition to the standard on-premises mode of deployment. Cloud
computing enables users to effectively allocate resources, optimize scaling, and allow for
high availability. Handling database that run on the cloud and on-premises is yet another
challenge for database managers.
The growth of structured and unstructured data: The amount of data that has been
both created and collected has been growing at an unprecedented rate for years. Those
who deal with analytics may be excited by the promise of insight and business
intelligence that comes from big data, but those who manage databases face the
challenges that come along with managing overall growth and data types from an
increasing number of database platforms.
Coping with emerging trends in database management systems
There are four main areas to think about when thinking about approaching these database
problems. The following are a few things to consider as solutions:
Data strategy
What kind of data is important and what kind of performance should be achieved?
What data needs to be protected and what should be analyzed?
How much historical data must be accumulated? What does this mean for capacity
planning and disk space?
Can you monetize on your data? Which data needs to be aggregated or correlated to
provide the necessary insights into the business?
Database support
One must consider that moving to the cloud does not guarantee data backup and security.
This is something that must still be managed with 24/7 monitoring and coverage.
Are the right personnel members with the necessary skill sets always available?
Backup strategy
Does one have the right kind of backup retention available?
Have you determined the necessary backup frequency to determine the Recovery Point
Objective (RPO)?
Have you determined the Recovery Time Objective (RTO) due to high availability
requirements?
Security strategy
How will external and internal security be handled? Who can access what?
What kind of data access policies should be in place?
How are regulatory requirements handled?
In the event of a hack, breach, or leak, how will data exposure be handled?
References
Dr. S.B Gupta, A. Mittal (2009) Introduction to database management systems. Laxmi
publications PVT limited.
C.Rajiv (2016) Database Management System (DBMS). A practical Approach 5th
Edition. S.Chand Publishing.
R.P Mahapata, Govind Verma (2013) Database Management System. Khama Publishing
House.
T.Connolly, C.Begg (2005) Database Management System. A practical approach to
design, implementation and management. Pearson Education Limited
https://www.studytonight.com/dbms/database-model.php
http://www.myreadingroom.co.in/notes-and-studymaterial/65-dbms/464-components-of-
database-systems.html
https://www.javatpoint.com/dbms-architecture
https://beginnersbook.com/2018/11/dbms-architecture/