SlideShare a Scribd company logo
1 of 42
What is Database ?
Overview
1. Database is the collection of organized data which is structured or unstructured. The
database's primary goal is to store a huge amount of data.
2. Many dynamic websites on the Internet today are stored in databases.
3. There are many types of Databases which are explained in this article.
Scope of article
This article describes,
1. What is a Database?
2. Why use a database.
3. Different Types of Databases.
4. Components of Database.
5. Evolution of Database.
6. What is a DBMS?
What is Data?
Data can be any information, thought or media which is being transferred from one person to
another. Everything we say or communicate is the form of data. In computers, it can be used
in many forms like raw text, numbers, characters, bytes, images, etc. Data can be texts or
numbers or bytes and bits inside the memory of electronic devices. Every possible
communication is data transmission, data is the most crucial part of the computer world.
What is Database?
Database is the collection of organized data which is structured and is stored electronically on
a computer system. Databases can store data in the form of tables depending upon the type of
database. The database's primary goal is to store a huge amount of data.
Databases are used to store a large number of dynamic websites on the Internet today. Data
can then be accessed, managed, updated, regulated, and organized efficiently. For writing and
retrieving data, most databases utilize structured query language (SQL).
Examples of some databases: MySQL, Oracle, MongoDB, PostgreSQL, SQL Server, etc.
Why use a database?
There are some points by which we can say that we should use a database for managing our
data:
 Databases are able to store vast number of records in such an effective manner.
 It is incredibly simple and quick to locate data.
 It's simple to add new data and modify or delete available data.
 Data can be easily searched in a database using techniques like indexing, binary searching,
etc.
 Data can quickly and easily sorted in a database.
 Data can be imported into other applications easily.
 Database is Multi-access means that more than one person can use the same database at
the same time.
 The security of data in database is more than that of physical paper files because database
provides additional security patterns for authorized access.
 Databases are also used for transaction management. Transactions are some set of
programs used for some logical word, databases are used to maintain consistency and
accuracy during the transactions.
Some more advantages are Access, integrity, and security that databases provides. So that's
why we prefer database for data storage.
Components of Database
There are five components in which a database is divided. Each component has a prominent
role and a specific task in a DBMS environment:
 Hardware: It is the physical, electronic devices such as I/O devices, computers and
storage discs that provide the interface between computers and real-world systems.
Hardware includes the data servers that are used to store the data of the databases.
Hardware is the physical storage devices used to store the data for the databases.
Software: Software is the set of programs which controls and manages the
database. This includes the Database Management System software, the
Operating System, the network software used to exchange data, and the
software applications used to access the data in the DBMS. These softwares
are build over Hardware devices to integrate with hardware servers and
DBMS software to manage all data transactions.
 Data: Data is the raw information that has been processed and translated into
other forms or means. Data can be texts or numbers, or bytes and bits inside the
memory of electronic devices. Data is the primary information stored in the
database hardware and flows front-end to hardware using the software.
 Procedures: These are the rules and regulations that guide the users about using
a database and how to create and run the database using defined procedures.
Procedures are like a manual for users to manage the database, for example,
stored procedures.
Database Access Language: Database Access Language (DAL) is a
programming language for reading, updating, and deleting data from a
database. Users can create new databases, tables, add attributes and rows,
insert data, and delete data using the language. It is usually the query language
which manages the database and make changes in it, exp SQL.
Types of Databases
Database has been evolved much over the course of last 50 years. Databases have been of
different types over these years. Types of Databases are:
File-Based databases
File-Based databases were first developed in 1968. Data was stored as a flat-file in file-
based databases. It is the most simple storage technique with less security and management.
Examples: Microsoft's NTFS, Apple's Hierarchical File System.
Relational databases
In the 1980s, relational databases became popular. A relational database's data are structured
into tables with columns and rows. It provides the most effective and versatile approach to
access structured data. Examples: Oracle, MySQL, Microsoft SQLServer, PostgreSQL, etc.
Object-oriented databases
Objects and classes (OOPS concept) are used to represent data in an object-oriented database,
just as they are in object-oriented programming. In OOPS, programming classes have
member functions which show the attributes of the database class.
Distributed databases
In Distributed database, the data is spread over multiple geographic locations to provide high
availability, quick access. Examples: Apache Ignite, Apache Cassandra, Apache HBase,
Amazon SimpleDB.
NoSQL databases
Unstructured and semi-structured data are stored in a NoSQL database, i.e., No-Sql databases
are the ones that do not store data as rows and columns. NoSQL stands for "Not Only SQL".
A NoSQL database can handle a wide range of data models. As online applications became
more frequent and complicated, NoSQL databases became increasingly popular. Examples:
MongoDB, CouchDB, CouchBase
Graph Databases
It represents data in the form of a graph. It is comprised of nodes and edges. Each edge
denotes a relationship between two edges, and each node represents an object. In a graph
database, each node represents a unique identification. Real-life examples of Graph
Databases are social media applications. They show the relationship between stored data and
in social media apps friends suggestions algorithms also work on that data relations.
Examples: MarkLogic, Microsoft SQL Server 2017.
Open source Databases
An open-source database system is the one whose source code is available to the public, these
databases are SQL or NoSQL. Open Source contributions can be made by the public to
improve the system's functionalities, and these are free to use for the normal public.
Cloud databases
Cloud database allows you to store, manage, and access structured (when you can store data
in the form of rows and columns) and unstructured data(where we don't store data in rows
and columns) over the internet or a cloud platform. This information can be accessed over
the web. As they are provided as a managed service, cloud databases are also known as
database as a service (DBaaS). Examples: AWS (Amazon Web Services) cloud services,
Oracle Database Cloud Services, Google cloud spanner.
Evolution of Database
The database has evolved from a flat-file system to relational and object-relational
systems over the course of more than 50 years.
The first systems to maintain data were navigational databases, such as the hierarchical
database that used a tree-like structure and the network database which used a relatively
flexible model that allowed many relationships.
These early systems were inflexible, despite their simplicity. Relational databases gained
popularity in the 1980s. After that object-oriented databases gained popularity in the 1990s.
NoSQL databases were developed more recently in response to the expansion of the internet
and more demand for faster processing of unstructured data.
Nowadays, cloud databases and self-driving databases are being used for faster processing
and cloud-based data storage.
What is a database management system (DBMS)?
A database management system is software that manages a database by storing, retrieving,
and manipulating the data from a database. Oracle, MySQL etc are well-known DBMS tools.
Some functions of Database Management System are:
 A database management system (DBMS) provides an interface for performing various
activities such as creation, deletion, and modification of the data.
 A database management system (DBMS) allows users to design databases that meet their
specific needs.
 A database management system (DBMS) is a collection of programs that respond to user
commands.
 It ensures the database's safety by providing security patterns like password protections and
verification to ensure access to only authorized users.
 It can be easily used using the queries.
Database challenges
In a growing world of the internet, as the data is increasing, the need to manage data is also
increasing. There are many challenges that needs to be taken care of while managing the data
using databases.
 Data Privacy: Data breaches are becoming more common, and hackers are becoming more
ingenious. It's more vital than ever to keep data secure while simultaneously making it easy
to access for consumers.
 Fulfilling the demand: Companies require real-time access to their data in today's fast-paced
business climate to support quick decision-making and take advantage of new opportunities.
 Infrastructure: Large Infrastructure is also needed to maintain data servers and large
number of employees is also required for taking care of the servers. Companies are
confronted with the expense of hiring more people to monitor and tune their databases as
databases get more complicated and data quantities increase.
 Scalability: If a company wants to survive, it must expand, and its data management must
expand with it. However, especially with on-premises databases, database administrators
find it difficult to forecast how much capacity the organisation would want.
 High Availability: If your server goes down in a single server database, your entire
organization goes down with it. A good database takes this into account and comes up with
creative solutions to keep your performance up while also ensuring constant availability.
Conclusion
 Data is the raw information that has been processed and is to be translated in other forms
or means.
 A relational database is the collection of organized data which is structured. Data is stored in
tables in the form of rows and columns in a database for simplicity.
 The database has evolved from a flat-file system to relational and object-relational systems
over the course of more than 50 years.
 There are five components in which a database is divided, each component has a prominent
role and a specific task in a DBMS environment:
o Hardware
o Software
o Data
o Procedures
o Data Access Language
 Over these years, many types of databases have been introduced, each with its own specific
use.
 A database management system is software that manages a database means that they
stores, retrieves, and manipulates the data from a database.
 We also face challenges in maintaining a database that has to be overcome over time.
What is DBMS?
or a long time, we used to store information on the piece of paper and these papers inside
files which are then stored in big racks. But in today’s computer age we store data inside
the database.
Whenever we go on the internet, it is always ready to serve us juicy bite-sized information to
learn or to get entertained. Do you know where this information comes from? Yes, it comes
from databases.
To work with these databases we use software which is known as Database Management
System (DBMS).
We use these Database Management System (DBMS) to work with or to manage databases.
In this article, let’s see what DBMS is and how it helps us to work with databases.
First, let’s start with understanding what a database is.
What is Database?
In simple words, a database is the actual storage of data, where all the information is stored in
such a way, so that it becomes easy to retrieve, update, and delete it.
In simple words, a database is the collection of data that is organized in such a way, so that it
becomes easy to retrieve, update and delete that data.
All the data in the database is arranged in tables, where each table contains rows and
columns. You can imagine this as an excel sheet. Due to this structure of a database,
programmers can write efficient database queries to serve useful information on websites or
in applications.
Database query is nothing but the logical instruction which helps to manipulate the data
inside the database. Programmers write the structured queries also known as SQL to perform
various CRUD operations which are explained below.
But before that, we need an understanding of DBMS.
To work with databases we require a database management system (DBMS).
Let’s discuss it.
What is DBMS?
As we discussed earlier DBMS stands for Database Management System which helps us to
work with the databases.
DBMS stands for Database Management System; it is the software used to work or manage
the databases. The main work of DBMS is to provide an interface for the user to manipulate
data from the database.
DBMS acts as a middle layer between the user and the actual database. Users write the
logical structured queries or programs with the help of DBMS and the changes get reflected
in the database and these changes occur due to the DBMS. You can refer to the following
figure to visualize the work of DBMS.
We use DBMS for so many things but one of the main uses is to perform the CRUD
operations on the database. CRUD is an acronym that stands for –
C – Create
R – Read
U – Update
D – Delete
Let’s see CRUD in detail to understand what is DBMS and its actual work,
Create
Create means the creation of tables, rows, and columns with the help of DBMS. This is the
operation where we insert the data and create other useful structures which help to efficiently
work with the databases. When some users fill the form on any website there are some
queries written at the back-end which performs the insert operation to store the user’s data.
Read
Read is an operation that is used so much in the DBMS. There is always a need to retrieve the
data from the database. Whenever you see your friend’s image on Instagram it is retrieved
from Instagram’s database. It is very important to retrieve the relevant information for the
user every time when he uses an application.
Update
The update operation is used to modify the existing data from the database. There is an
always edit button on the social media apps which helps to update or modify the information
in posts. Update operation needs to be performed with caution in DBMS so that we can
update only those things which need to be changed and not others.
Delete
Delete operation is simply used to delete the entry from the database. It needs to be used with
extra caution so that useful information doesn’t get deleted.
Alongside CRUD DBMS is used for user administration as well. DBMS is used to register or
to monitor the users.
DBMS helps to maintain data security, data integrity and it also helps to monitor
performance.
In case of unexpected system failures, DBMS helps to recover the information using various
recovery methods.
Applications of DMBS
As we need to store so much data at so many places there is a wide variety of database
management system applications.
Banking
DBMS is used to store information about customers, their transactions, credit and debit
details, etc. in the databases.
Airlines
All the data of reservations and bookings are stored in databases with the help of DBMS.
University
DBMS is used to store student marks, details, credits, and other administrative information in
the databases.
Telecommunication
DBMS is used to keep the track of bills, call logs, and other customer information.
Library Management
It becomes difficult to keep track of thousands of books and the members in the physical
register. So DBMS is used to make it easy. With the help of DBMS, we can store data with
different book categories, authors and genres.
Social Media Sites
Millions of users use social media sites every day and tons of data is shared between them.
This huge amount of data is managed and stored with the help of DBMS
Characteristics of DBMS
There are various characteristics of Database management systems, these characteristics of
DBMS make it useful for so many industrial and commercial business applications.
1. Access security
Whenever someone wants to access the database he needs to be authenticated first. DBMS
provides various security features so that unauthorized users can’t access the database.
2. Minimum data redundancy
Redundant data means duplicate or repeating data which increases the storage cost. DBMS
also provides the feature to remove or minimize data redundancy with the help of
normalization techniques.
3. Different views for different users
Different users need to be served with the different data for eg. If the teacher logged in to an
application he should be able to see the attendance of students and the results of all the
students from his class. If a student logged in to the app then he would be able to see his own
result. So DBMS provides us the functionality to create different views of data for different
users.
4. Multi-user environment for parallel data access
DBMS provides an ability to allow access for multiple users so that multiple users can access
the data from the database. This functionality allows modern applications to handle a large
user base.
5. Automatic backup and recovery
There are various functionalities provided by DBMS to ensure that data can’t get corrupted or
lost in pandemic situations. There are options like rollback and commit which ensure that
data can get recovered. Rollback is an operation to undo the changes and commit is the
operation to make the changes permanent.
6. DBMS follows ACID property
It is one of the important properties of a database management system that makes sure the
database always remains in a good state.
Every operation which we perform on the database with the help of DBMS is known as
the transaction and each of these transactions should follow the ACID property.
ACID is an acronym that stands for Atomicity, Consistency, Isolation, and Durability.
It is one of the most important characteristics of DBMS.
Atomicity
The transaction never remains in between either it performs completely or gets discarded
completely in the case of any system or DBMS failure.
Consistency
Data is very precious and it should remain the same before and after the transaction. It
shouldn’t show any inconsistent behaviors with DBMS
Isolation
All transactions should be isolated from one another, which means every transaction should
be separate from one another there shouldn’t be any interference of one transaction onto
another.
Durability
After execution of the entire transaction, data should become permanent on the database. It
should be durable i.e. it should remain there in case of system failure or system crash.
Different Types of DBMS
There are various types of database management systems based on the database structures.
We can arrange data in various formats for a variety of use cases.
Let’s see these types of DBMS one by one,
Centralized DBMS
In a centralized database, a single central database serves data to multiple devices. Each user
can access the database after authentication and be able to work with it.
Decentralized DBMS
In the decentralized database, all the data is collectively stored in multiple databases. All
these databases are connected together with the help of networking. To the end-user, this
entire system appears like a single coherent system.
Relational DBMS
The relational database management system is also known as RDBMS. It is one of the types
of DBMS which is widely used for commercial applications. It contains tables in which data
is stored in the form of rows and columns like an excel sheet. Some of the tables possess the
relationship among them and the data is retrieved with the help of join operation. This join
operation helps us to get data from 2 or more tables with the help of logical queries.
NoSQL DBMS
NoSQL or non-relational databases are the recently popular databases due to their high
scalability and availability. In this type of database, the data is stored in collections and it
doesn’t contain tables like relational databases.
Collection is simply the group of documents in which we have data with similar meaning and
similar purpose. Document looks like as follows –
In NoSQL, we can store data in key-value pairs as well as with the help of graphs. It
increases productivity by a significant amount and comparatively, it is easy to work with
them.
Hierarchical DBMS
In hierarchical databases data is arranged in a tree-like format where we have a parent-child
relationship between nodes. The parent can have many children but children contain only one
parent.
Network DBMS
The network database model has various nodes and these nodes are connected with each
other. These models are so complex in nature. This model allows multiple parents for a single
child node so we can create more complicated structures with it.
Object-Oriented DBMS
The Object-oriented database management system is one of the types of DBMS, in which
data is stored in the objects. These objects are created from the classes. Classes are nothing
but the description of an object. It is similar to object-oriented programming languages.
Advantages of DBMS
1. DBMS is secure due to the authentication and user authorization and DBMS is reliable in
storing the data in the database..
2. DBMS offers functionality to remove and minimize the data redundancy with the help of
normalization techniques.
3. DBMS provides different data views for different users.
4. There is a facility to take backup and recover the lost data in DBMS.
5. DBMS can be integrated with Python, Java, or any other programming language to make use
of the database.
6. ACID properties ensure healthy transactions with the database.
7. Authentication and user authorization ensures the security of the DBMS
Disadvantages of DBMS
1. Working with database management systems is often too complex.
2. There is a cost involved to buy hardware for data storage.
3. Setting up the DBMS takes time.
4. Most of the commercial DBMS contains paid licenses so there is a cost involved before their
use.
5. If there is no backup and recovery functionality in the DBMS, then data loss can happen in
case of some system failure or system crash.
6. There is a requirement of skilled technical staff to work with DBMS.
7. So much cost is involved in the infrastructure and skilled staff.
Conclusion
In this article, we saw DBMS which is a widely used software program to work with
databases. Due to various characteristics, DBMS became very popular in commercial and
industrial use. There are various types of DBMS that we can utilize according to our needs.
Types of Database
Overview
A database is an organized collection of data that enables simple and efficient storage,
retrieval, and modification of data. In this article, we shall discuss the various types of
databases.
Scope
In this article, we will discuss
 Various types of databases.
 Functioning of each type of database.
 Advantages and disadvantages of various database.
Centralised Database
It is a collection of information at a single location accessible from numerous points. The
basic function of a centralized database management system is to provide facilities and give
access to all the connected computers which fulfill all requirements requested by any single
node.
All the data and information are stored in a single centralized database management system.
The computer system which fulfills the requirements of all the connected computers is known
as a server and other computers are known as clients.
Advantages
 Queries can be fast.
 Information may also be easier to organize in a single location.
 In a database upgrade to handle more information, servers can be added to the database
site easily.
 A centralized database can also be easier to physically secure.
 It is also possible to set up an extremely robust computer security system to prevent
unauthorized access.
Disadvantages
 A centralized database tends to create bottlenecks if several users perform write operations.
 It can also be very vulnerable if something happens to it and a backup has not been
performed or the existing backup is outdated.
 If multiple users try to access and process queries toward the server simultaneously then it
becomes quite problematic for the performance.
Cloud Database
It is a database that is built, deployed, and accessed in a cloud environment, private,
public, or hybrid cloud. It has two deployment models:
1. Traditional Database
Very similar to an onsite, in-house managed database—except for infrastructure
provisioning. In this case, an organization purchases virtual machine space from a cloud
services provider, and the database is deployed to the cloud. It is useful for early age
organizations, small size companies.
2. Database as a service (DBaaS)
It's a database in which an organization contracts with a cloud services provider
through a fee-based subscription service. The service provider offers a variety of real-
time operational, maintenance, administrative, and database management tasks to the
end-user.
Advantages
 Cloud databases can be set up and decommissioned very quickly—making testing,
validating, and operationalizing new business ideas easy and fast.
 If the organization decides not to operationalize a project, it can simply abandon the
project and move on to the next innovation.
 When using a cloud database, there’s no need to order hardware or spend time waiting
for shipments, installation, and network setup when a new product is in the
development queue.
 Cloud databases offer numerous opportunities to reduce risk across the business,
particularly for DBaaS models.
Disadvantages
 Once your business has chosen a cloud service provider, it can be complicated to move
your infrastructure to a different cloud service.
 The initial cost of hosting services for your database deployments can be lower than
expanding your business's existing servers. But as your service needs grow, costs can
rise – sometimes quite sharply.
 The general security of the cloud infrastructures available from leading vendors is
strong. But no system is entirely immune to attack. Hosting sensitive information online
always generates the possibility of a data breach.
Commercial Database
A commercial database is developed and maintained by a commercial organization that
is generally made available to customers and potential customers. In terms of free
software and source availability, it's opposite to database management systems like
MySql, Postgres. etc. Examples are OracleDB, EnterpriseDB, etc. They are often
associated with premium services such as active customer support, better up times and
access speed (cloud-deployed), etc.
Advantages
 Commercial DBMS software providing companies offer professional support extended to
customers.
 The organization may provide additional scaling features and capacity.
 Automated cloud-based management and data backups are also available.
 The DB up-time and efficiency could also be better.
Disadvantages
 Require purchasing.
 Billing might scale as does the database.
 One time payments are rare.
 DBMS migration could be a cause of concern.
Distributed Database
A distributed database is one in which data is stored across different physical locations.
It maybe stored in multiple computers located in the same physical location or maybe
dispersed over a network of interconnected computers.
System administrators can distribute collections of data across multiple physical
locations. A distributed database can reside on organized network servers or
decentralized independent computers on the Internet, on corporate
intranets/extranets, etc.
Advantages
 Network transparency: This refers to the freedom for the user from the operational
details of the network.
 Replication transparencies: It makes users unaware of the existence of copies as we
know that copies of data may be stored at multiple sites for better availability,
performance and reliability.
 Fragmentation transparency: It makes users unaware of the existence of fragments,
vertical or horizontal.
 When the data is distributed over several sites one site may fail while other sites
continue to operate.
 In a distributed environment expansion of the system in terms of adding more data,
increasing database sizes, etc is easier.
Disadvantages
 Network traffic is increased, because most queries stay on a site's LAN rather than using
the organization's WAN.
 Different data formats are used in different systems.
 Different DBMS products are used in different systems which increases in complexity of
the system.
 Managing system catalog is a difficult task (Every database stores every information
about its objects. This information, known as metadata, are also stored as rows and
columns of a table. Collection of these metadata is stored in system catalog).
End User Database
An end-user database enables storing data created by an end-user. Any database which
allows the end-user to create and manage data comes under this category. This means
that the user is able to directly interact with and control the database and the data that
is stored in it. As shown in the diagram, summary of whole information is collected in
this database. For convenience, the end user is provided with an interactive client
(dedicated software, command line interface, GUI, etc).
Advantages
 The end user is usually not concerned about the transaction or operations done at
various levels.
 The user is only aware of the product which may be a software or an application.
 This helps in rapid development.
Disadvantages
 This is a shared database which is specifically designed for the end user.
Graph Database
Graph databases are purpose-built to store and navigate relationships among objects.
Relationships are first-class citizens in graph databases, and most of the value of graph
databases is derived from these relationships. Graph databases use nodes to store data
entities, and edges to store relationships between entities.
A graph can be traversed along specific edge types or across the entire graph. In graph
databases, traversing the joins or relationships is very fast because the relationships
between nodes are not calculated at query times but are persisted in the database.
Graph databases have advantages when you need to create relationships between data
and quickly query these relationships.
Advantages
 With graph databases, you can use relationships to process financial and purchase
transactions in near-real-time.
 With fast graph queries, you can detect that, for example, a potential purchaser is using
the same email address and credit card as included in a known fraud case.
 Graph databases can also help you easily detect relationship patterns such as multiple
people associated with a personal email address, or multiple people sharing the same IP
address but residing in different physical addresses.
 With graph databases, you can store in a graph relationship between information
categories such as customer interests, friends, and purchase history.
Disadvantages
 Graph databases are not great at transactional use cases.
 Using a graph database alone is not an MDM (Master Data Management) solution.
 Graph databases do not create better relationships. They simply provide speedy data
retrieval for connected data.
 For the most common graph databases, you have to store all the data on one server.
 Graph databases are not optimized for large-volume analytics queries typical of data
warehousing.
Hierarchical Database
It is a database model in which the data is arranged in a hierarchical tree manner. As it
is arranged based on the hierarchy, every record of the data tree should have at least
one parent, except for the child records in the last level, and each parent should have
one or more child records. The Data can be accessed by following through the classified
structure, always initiated from the Root or the first parent.
The idea behind hierarchical database models is useful for a certain type of data storage,
but it is not extremely versatile. It is confined to some very specific uses. Hierarchical
models make the most sense where the primary focus of information gathering is on a
concrete hierarchy such as a list of business departments, assets, or people that will all
be associated with specific higher-level primary data elements.
Advantages
 Based on Hierarchal structure, the relationships between the layers.
 The first database model offered the data security that is provided by the DBMS.
 It is very efficient because when the database contains a large number of 1 relationships
and when the user requires a large number of transactions.
 It’s very fast to access data at present at the top of the tree storage.
 Large base with proven technology.
Disadvantages
 One parent per child.
 Complex (users require physical representation of database)
 Navigation across the tree based data storage is complex.
 Data must be organized in a hierarchical way without compromising the - information.
 Lack structural independence.
 Many too many relationships not supported.
 Data independence.
Network Database
A network database is based on a network data model, which allows each record to be
related to multiple primary records and multiple secondary records. Network databases
allow you to create a flexible model of relationships between entities.
Network refers to relations between different data entities. A network database is based
on a traditional hierarchical database, except it allows each object to have multiple
parents instead of a single parent.
Network databases can be represented as a graph, defined by a schema, which is a list of
data nodes and the relationships between them. This provides a data structure that, in a
regular relational database, can only be accessed by inference.
Advantages
 The network model is conceptually simple and easy to design.
 The network model can handle the one to many and many to many relationships which
are a real help in modeling real-life situations.
 The data access is easier and flexible than the hierarchical model.
 The network model does not allow a member to exist without an owner.
 The network model is better than the hierarchical model in isolating the programs from
the complex physical storage details.
Disadvantages
 The schema or the structure of this database is very complex as all the records are
maintained by the use of pointers.
 There’s an existence of operational anomalies as there is a use of pointers for navigation
which further leads to complex implementation.
 This model does not have any scope of automated query optimization.
 This model fails in achieving structural independence even though the network
database model is capable of achieving data independence.
NoSQL Database
NoSql can handle huge volumes of rapidly changing, unstructured data in different ways
than a relational database with rows and tables. NoSQL DBMS compromise consistency
in favor of availability, speed, and partition tolerance. NoSql DBMSs use binary format of
Javascript Object Notation (BSON) to store data in a database. The data is stored in
documents, which in turn are stored in a collection.
Most NoSQL stores lack true ACID(Atomicity, Consistency, Isolation, Durability)
transactions but a few databases, such as MarkLogic, Aerospike, etc have made them
central to their designs. Most NoSQL databases offer a concept of eventual consistency
in which database changes are propagated to all nodes so queries for data might not
return updated data immediately or might result in reading data that is not accurate.
Advantages
 NoSql databases take full advantage of the cloud to deliver zero downtime.
 They enable easy updates to schema and fields.
 They are developer friendly.
 They are capable of storing unstructured, semi-structured, or structured data.
 They can handle large volumes of data at high speed with a scale-out architecture.
Disadvantages
 No standard defines the rules and roles of NoSQL databases. The design and query
languages of NoSQL databases vary widely between different NoSQL products.
 Backups are a drawback in NoSQL databases. Though some NoSQL databases provide
tools for backup, they are not mature enough to ensure a proper complete data backup
solution.
 NoSQL puts scalability and performance first but when it comes to a consistency of the
data NoSQL doesn’t take much consideration.
Object Oriented Database
The database combines object-oriented programming concepts with relational database
principles. Think of a class as a model, and objects as various constructs/instances of it.
These instances share the properties they derive from the class. For example, a class of 'bear',
the objects of which could be brown bears, Polar Bears, Black Bears, etc. Objects are the
basic building block and an instance of a class, where the type is either built-in or user-
defined.
Classes provide a schema or blueprint for objects, defining the behavior. Methods determine
the behavior of a class. Pointers help access elements of an object database and establish
relations between objects. The main characteristic of objects in OODBMS is the possibility of
user-constructed types. An object created in a project or application saves into a database as it
is.
Advantages
 OODBMS allows new data types to be built from existing types.
 OODBMS is capable of storing different types of data.
 A single language interface between the Data Manipulation Language and the programming
language overcomes the impedance mismatch.
 Navigational access from the object is the most common form of data access in an OODBMS.
It is more suitable for handling parts explosion, recursive queries, and so on.
 The tight coupling between data and applications in an OODBMS makes schema evolution
more feasible.
Disadvantages
 Usage of OODBMS is low.
 There is a general lack of standards of OODBMS. There is no universally agreed data model,
and no standard object-oriented query language.
 Perhaps one of the most significant issues that face OODBMS vendors is the competition
posed by the RDBMS and the emerging ORDBMS products.
 Query optimization requires an understanding of the underlying implementation to access
the database efficiently. However, this compromises the concept of incrustation.
 Many OODBMSs use locking as the basis for concurrency control protocol which may impact
performance.
Relational Database
An RDBMS stores and organizes data points that are related to one another. Based on
the model, a relational database presents data sets as a collection of tables and provides
relational operators to manipulate the data in tabular form. Tables consist of columns
containing one or more data categories, and rows, containing a set of data defined by
the category.
Each table has a unique identifier, or primary key, which identifies the information in
the table, and each row contains a unique instance of data for the categories defined by
the columns. The logical connection between different tables can then be established
with the use of foreign keys - a field in a table that connects to the primary key data of
another table. RDBMS often emplos SQL for gathering data for reports and interactive
queries.
RDBMS exhibit ACID properties:
 Atomicity
o All changes to data are performed as if they are a single
operation.
 Consistency
o Data is in a consistent state when a transaction starts and when
it ends.
 Isolation
o The intermediate state of a transaction is invisible to other
transactions.
 Durability
o After a transaction successfully completes, changes to data
persist and are not undone, even in the event of a system
failure.
Advantages
 Even though a relational database is poor in terms of performance,
still its speed is considerably higher because of its ease and
simplicity.
 Since there are several tables in a relational database, certain tables
can be made to be confidential.
 Compared to other types of network models, a relational database
model is much simpler.
 Unlike other types of databases, a relational database does not
require any specific path for accessing the data.
 Thus, all the data which is stored is non-repetitive.
Disadvantages
 The maintenance of the relational database becomes difficult over
time due to the increase in the data.
 The relational database system is costly to set up and maintain.
 A relational database is comprised of rows and columns, which
requires a lot of physical memory because each operation performed
depends on separate storage.
 While using the relational database over multiple servers, its
structure changes and becomes difficult to handle.
 Relational databases can only store data in tabular form which makes
it difficult to represent complex relationships between objects.
Conclusion
A database is an organized collection of data that enables simple and efficient storage,
retrieval, and modification of data. There are 11 fundamental types of databases:
 Centralized database.
 Cloud database.
 Commercial database.
 Distributed database.
 End-user database.
 Graph database.
 Hierarchical database.
 Network database.
 NoSQL database.
 Objected-oriented database.
 Relational database.
DBMS Architecture
Overview
DBMS architecture describes the structure and how the users are connected to a specific
database system. It also affects the performance of the database as it helps to design, develop,
implement, and maintain the database management system. This article provides an overview
of the different types of DBMS architectures along with their merits and demerits.
Scope of article
 This article describes the importance of DBMS architecture.
 Provides insight to the different kinds of DBMS architectures.
 The article does not show how the different types of DBMS architectures are implemented.
Introduction
While planning any structure, the architects design and develop the organization and the
layout of the individual components used to build the whole structure and their relationships.
This determines the structural integrity and durability of the entire complex, i.e., the
architecture defines the structure's performance.
This concept is also true in the case of the database management system. The DBMS
architecture affects the performance of the database as it helps to design, develop, implement,
and maintain the database management system. The database management system design
depends on the DBMS architecture for its representation. It describes the structure and the
way in which the users are connected to a specific database system.
In this article, we will explore the different types of DBMS architectures along with their
real-life examples.
Types of DBMS Architecture
Database management systems are divided into multiple levels of abstraction for proper
functioning. These modules/layers describe the functioning and the design of the DBMS.
Since a database management system is not always directly accessible by the user or an
application, we can maintain it with the help of various architectures based on how the user is
connected to the database. These architectures follow a tier-based classification, i.e., the
DBMS architecture is classified depending upon how many layers are present in the structure
of the DBMS.
Hence, an n-tier DBMS Architecture divides the whole DBMS into related but n
independent layers or levels, i.e., a one-tier architecture divides the DBMS into a single
layer, a two-tier DBMS architecture divides the DBMS into two layers, a three-tier in three
layers, and so on. When the layers are increased in the architecture, the level of abstraction
also increases, resulting in an increase in the security and the complexity of the DBMS
structure. All these layers are independent, i.e., any modification performed in a particular
layer does not affect the other layer present in the architecture.
Now, let’s look at the most common DBMS architectures:
 Single Tier Architecture (One-Tier Architecture)
 Two-Tier Architecture
 Three-Tier Architecture
Now, let's explore these three different ways to structure the database management
systems.
1. Single Tier Architecture
Single Tier DBMS Architecture is the most straightforward DBMS architecture. All the
DBMS components reside on a single server or platform, i.e., the database is directly
accessible by the end-user. Because of this direct connection, the DBMS provides a rapid
response, due to which programmers widely use this architecture to enhance the local
application.
In this structure, any modifications done by the client are reflected directly in the database,
and all the processing is done on a single server. Also, no network connection is required to
perform actions on the database. This database management system is also known as
the local database system.
Single Tier DBMS Architecture is used whenever:
 The data isn't changed frequently.
 No multiple users are accessing the database system.
 We need a direct and simple way to modify or access the database for application
development.
Example of Single Tier DBMS Architecture:
In order to learn the Structure Query Language (SQL), we set up our SQL server and the
database on our local system. This SQL server enables us to directly interact with the
relational database and execute certain operations without requiring any network
connection. This whole setup to learn SQL queries is an example of Single-Tier DBMS
architecture.
Highlights:
1- Simplest DBMS architecture.
2- All the components of DBMS, i.e., the server, database, and client, reside on a single
system.
3- The user can directly access the database.
4- Used when data isn't changing frequently.
5- Suitable for programmers, database designers, and single-user access.
2. Two Tier Architecture
Two-Tier DBMS Architecture is similar to the fundamental concept of client-server
architecture. In a two-tier structure, the server provides the database functionality and it
allows the clients to perform operations on the database through a direct internet connection
via APIs (Application Programming Interface), for example:
 ODBC: Open Database Connectivity.
 JDBC: Java Database Connectivity.
The Two-Tier DBMS Architecture is used when we wish to access the DBMS with the help
of an application. Client-side applications can access the database server directly with the
help of API calls, making the application independent of the database in terms of operation,
design, and programming.
The main advantages of having a two-tier architecture over a single tier are:
 Multiple users can use it at the same time. Hence, it can be used in an
organization.
 It has high processing ability as the database functionality is handled by the
server alone.
 Faster access to the database due to the direct connection and improved
performance.
 Because of the two independent layers, it's easier to maintain.
Example of Two Tier DBMS Architecture:
Consider a situation where you went to a bank to withdraw some cash. After entering
the withdrawal amount and the account details on the withdrawal slip, the banker will
go through the server-side database via his credential (API call) and will check whether
there is enough balance present or not. This client-server model is an example of Two-
Tier DBMS architecture.
Note - The main disadvantages of Two-Tier DBMS Architecture are:
 Scalability - As the number of clients increases, the load on the server increases. Thereby
declining the performance of the DBMS and, in turn, the client-side application.
 Security - The Direct connection between the client and server systems makes this
architecture vulnerable to attacks.
Highlights:
1- Similar to a client-server architecture.
2- Faster access, Easier to maintain, and can handle multiple users simultaneously.
3-Used when we wish to access DBMS via applications and APIs.
4-Has scalability and security issues because of direct client-server connection.
3. Three Tier Architecture
Three-Tier DBMS Architecture is the most widely used DBMS architecture in which another
layer known as Intermediate or Application layer is added between the server (Database
Layer) and the client (Presentation Layer) systems to reduce the query processing load of
the server. This application or intermediate layer provides the end-user an abstract view of
the database.
Since there is no direct connection between the client and the Server, all the user requests are
handled by the Application Layer, i.e., the requests sent by the users are checked and verified
by the Intermediate Layer before transferring them to the server. This reduces the query
processing load from the server and enhances the security of the overall DBMS design as the
client can't communicate directly with the database server. Hence, the application layer is
responsible for load balancing, query request correctness, and security in Three-Tier DBMS
Architecture.
The main advantages of Three Tier DBMS Architecture are:
 Scalability - Since the database server isn't aware of any users beyond the application
layer and the application layer implements load balancing, there can be as many clients
as you want.
 Data Integrity - Data corruption and bad requests can be avoided because of the checks
performed in the application layer on each client reques.
 Security - The removal of the direct connection between the client and server systems
via abstraction reduces unauthorized access to the database.
Note - In Three Tier DBMS Architecture, an additional layer (Application Layer) is added
between the Client and the Server. This increases the number of layers present between the
DBMS and the end-users, making the implementation of the DBMS structure complex and
difficult to maintain.
Highlights:
1- Most widely used DBMS architecture.
2- Follows Client-Application-Server architecture.
3- Enhanced security, data integrity, and scalability.
4-Has complexity and maintenance issues because of the extra layer.
Conclusion
 DBMS architecture describes the structure and how the users are connected to a specific
database system.
 Architecture affects the performance of the database.
 In the single-tier architecture, all the components of the DBMS reside on a single server. It is
the most straightforward approach.
 In the two-tier architecture, the client-server approach is implemented.
 The three-tier DBMS architecture is an extension of the two-tier architecture where an
intermediate layer, i.e., the Application layer is added between the client and the server. It is
the most widely used architecture.
Relational and Non Relational Databases
Overview
Relational and Non-relational databases are two kinds of management systems that allow us
to create databases that will help us in managing complex data. A relational database is
structured, whereas NoSQL is semi-structured or unstructured. In the relational
database(SQL), it consists of tables(fields and records), whereas non-relational database data
is stored in form of graphs, documents(XML, JSON).
Scope of Article
 In this article, we will study Relational and Non-Relational Databases.
 Different popular relational and non-relational databases?
 Advantages and Disadvantages of Relational and Non-Relational Databases.
Introduction
There are two types of database management systems:
 Relational Databases.
 Non-Relational Databases.
A relational database is the database management system in which data is stored in distinct
tables from where they can be accessed or reassembled in different ways under user-defined
relational tables, whereas a Non-Relational Database is the database architecture that is not
built around tables. This type of database contains data in the form of forms or a large amount
of data which is either unstructured or semi-structured data. The Relational
Database(SQL) was first introduced in 1974 by two colleagues of IBM, whereas a Non-
relational database is already known from the 1960s.
Examples of Relational Databases: MySQL, Oracle.
Examples of Non-Relational Databases: MongoDB, Apache Cassandra.
Relational Databases
A relational database or relational database management system(RDBMS) stores data in the
form of a table. The table consists of rows and columns, and in a relational database rows are
referred to as records, and columns are referred to as fields. The term relational database was
first coined in the 1970's by E.F. Codd at IBM, and later in 1974 Donald D. Chamberlin and
Raymond F. Boyce released SQL or Standard Query Language, which allows the user to
interact with the relational database system.
As already defined, a relational database consists of tables, and a table consists of rows and
columns. Each table has a special column that contains only distinct and unique values that
are called primary key. This primary key is used to define the relationship between the tables,
and if the 1st table(Student) primary key, i.e., ID is used in the 2nd table(College_Student),
then that column is called foreign key(StudentID). So, "ID" is the primary key for the
Student table, and "ID"(StudentID) is the foreign key for the Course_Student table. Now, we
have a database that contains two tables, now if we want to change the change our database
design or improve this existing database design, there comes database normalization(It is the
process of structuring the database to remove data redundancy and improve data integrity).
The most widely and popular way of interacting with a relational database is SQL(Structural
Query Language), which allows access, filter, and modify data.
Popular Relational Database
 MySQL
It is an open-source database management system, launched in 1974 by the developers
of IBM. The most common use of MySQL databases is for web databases.
Oracle Database
It is the first database designed for enterprise grid computing, the most
flexible and cost-effective way to manage information and applications.
Microsoft SQL Server
It is relational database management which is developed by Microsoft. It is
known for storing and retrieving data as requested by other software
applications, which can be run using the same PC or another PC or network.
PostgreSQL
It is also an open-source object-relational database system with over 30 years
of active development that has earned it a strong reputation for reliability,
feature robustness, and performance.
SQLite
It is the most used database engine in the world. It is a C-language library that
implements a small, fast, self-contained, high-reliability, full-featured. It can be
built into mobile phones and most computers.
MariaDB
It is one of the popular open relational databases initially designed by the
developers of MySQL developers. It is known for its performance, stability,
and openness(open-source).
Advantages of Relational Databases
 ACID Compliance: The presence of 4 properties, i.e., Atomicity, Consistency, Isolation, and
Durability. When the database possesses these four ACID properties, they are said to be
ACID compliant.
o Atomicity: It refers to the integrity of the database transaction (By this, we mean
that either the entire transaction takes place at once or doesn’t happen at all. There
is no midway, i.e., transactions do not occur partially. Each transaction is considered
as one unit, and either runs to completion or is not executed at all).
o Consistency: It means that only data which follows those rules is permitted to be
written to the database. If a transaction occurs and results in data that does not
follow the rules of the database, it will be ‘rolled back’ to a previous iteration of
itself (or ‘state’) which complies with the rules. This means that integrity
constraints must be maintained so that the database is consistent before and after
the transaction. It refers to the correctness of a database.
o Isolation: It refers to the ability to concurrently process multiple transactions in a
way that one does not affect another. Changes occurring in a particular transaction
will not be visible to any other transaction until that particular change in that
transaction is written to memory or has been committed. This property ensures
that the execution of transactions concurrently will result in a state that is
equivalent to a state achieved these were executed serially in some order.
o Durability: It is to make those failures invisible to the end-user. This property
ensures that once the transaction has completed execution, the updates and
modifications to the database are stored in and written to disk and they persist
even if a system failure occurs. These updates now become permanent and are
stored in non-volatile memory. The effects of the transaction, thus, are never lost.
Note: The ACID properties, in totality, provide a mechanism to ensure correctness and consistency of
a database in a way such that each transaction is a group of operations that acts a single unit,
produces consistent results, acts in isolation from other operations and updates that it makes are
durably stored.
 Normalization: It is a database design technique that reduces data redundancy and
eliminates undesirable characteristics like Insertion, Update, and Deletion Anomalies.
Normalization rules divide larger tables into smaller tables. Their purpose is to
eliminate redundant data and ensure data is stored logically.
 Accuracy: Tables consist of primary and foreign keys, which ensures that no
duplicate data is present in data. It will help us as no duplicacy is there, so it will
enforce our data accuracy.
 High Security: In a relational database, we can divide the data among tables, and we
can divide the tables as confidential or not. It can make our data safe. Let's under this
with an example, Suppose a company has a large volume of data saved in MySQL
server, and we have made some tables as confidential and some as public, and we
need to do some analysis on confidential tables. When a data analyst wants to access
those tables, they will get to enter the username and password to access those
confidential tables and can modify, access, or analysis the tables, and everything gets
recorded, depending on the access given to the tables.
Disadvantages of Relational Databases
 Loss of Information: Big organizations tend to have large databases containing a lot
of information. When this information is transferred from one system to another, in
this case, we might lose our data.
 Expensive: The cost to set up a relational database is very expensive. For this
purpose, we need software to maintain the database, and a separate technician is
required to maintain the software. This can increase in cost for a company.
 Slow Performance: If the database is huge and contains interconnected tables based
on their primary keys. When getting the required data, the response given on the
queries makes it slower, and it makes our databases quite complex to get the data.
Non-Relational Database
Non-Relational Databases are also called No-SQL databases, that doesn't require any table,
fields, or records. This type of database has existed since the 1960s, but the term No-
SQL was coined in the late 90's and early 21'st century.
NoSQL databases are completely different from SQL databases and work differently. It has
to deal with semi-structured or unstructured data. Rather than containing tables, it consists of
files within various folders. They can possess any kind of data, whether JSON, XML, etc. So,
creating and managing data in NoSQL is easy and faster.
Facebook(Meta) is a very popular example of using NoSQL databases.
There are various types of Non-relational databases like:
 Documents Databases.
 Graph Databases.
 Wide Column Databases.
 Key-value Databases.
Popular Non Relational Database
MongoDB
It is a cross-platform document-oriented database system, classified as a
NoSQL database. As it is a document-oriented database, it uses JSON-like
documents.
Apache Cassandra
It is a free and open-source database system used to handle a large amount of
data across many servers.
Redis
It is a memory-based database. It can support many data structures like
strings, lists, maps, sets, etc.
Couchbase
It is also an open-source and document-oriented database system. It can serve
many concurrent users by creating, storing, retrieving, manipulating,
presenting data.
Neo4
It is also an open-source database system. It is based on graphs-based databases with online
backup and high availability extensions under the closed-source commercial license.
Advantages of Non-Relational Databases
 Unstructured Data: These types of databases can store both structured and
unstructured, whereas relational databases can store only data in a structured way.
 Large Data & Cheap: These databases can scale to accommodate any type of data
while maintaining a low cost.
 Performance & Fast These types of databases are defined for good performance, and
it contains unstructured data, while in relational databases data is stored in tables, so
accessing data is a bit slower than this.
Disadvantages of Non-Relational Databases
 ACID: NoSQL doesn't guarantee ACID transactions as they are BASE(Basically
Available, Soft State, Eventual Consistency).
 Backup: The Disadvantage of Non-Relational Databases is that they didn't have a
backup in these types of databases. MongoDB has some backup tools, but they aren't
up to the mark. At last, NoSQL databases aren't mature enough to get the proper
backup.
 Standard Rules In NoSQL databases, there are no standardized rules of databases.
The design and query language vary from one NoSQL database to another, so there is
no standard process to access the data, whereas, in Relational databases, we have
some common ways to access the data.
 CONCLUSION:

 RELATION VS NON-RELATIONAL DATABASE

More Related Content

Similar to DBMS PART 1.docx

DATABASE Lecture 1 and 2.pptx
DATABASE Lecture 1 and 2.pptxDATABASE Lecture 1 and 2.pptx
DATABASE Lecture 1 and 2.pptxRUBAB79
 
SQL (Scratch to Advance).pptx
SQL (Scratch to Advance).pptxSQL (Scratch to Advance).pptx
SQL (Scratch to Advance).pptxHitesh670643
 
Types of Databases.pptx
Types of Databases.pptxTypes of Databases.pptx
Types of Databases.pptxRudradeepHazra
 
Database Management Systems ( Dbms )
Database Management Systems ( Dbms )Database Management Systems ( Dbms )
Database Management Systems ( Dbms )Patty Buckley
 
DBMS Full book by Muhammad Sharif title as Database systems Handbook.pdf
DBMS Full book by Muhammad Sharif  title as Database systems Handbook.pdfDBMS Full book by Muhammad Sharif  title as Database systems Handbook.pdf
DBMS Full book by Muhammad Sharif title as Database systems Handbook.pdfBahria University Islamabad, Pakistan
 
Unit 1_intro_dbms.pptx
Unit 1_intro_dbms.pptxUnit 1_intro_dbms.pptx
Unit 1_intro_dbms.pptxATIFAZEEZ1
 
Database Management System
Database Management SystemDatabase Management System
Database Management SystemTamur Iqbal
 

Similar to DBMS PART 1.docx (20)

Database Management Systems
Database Management SystemsDatabase Management Systems
Database Management Systems
 
about database.pptx......................
about database.pptx......................about database.pptx......................
about database.pptx......................
 
DATABASE Lecture 1 and 2.pptx
DATABASE Lecture 1 and 2.pptxDATABASE Lecture 1 and 2.pptx
DATABASE Lecture 1 and 2.pptx
 
SQL (Scratch to Advance).pptx
SQL (Scratch to Advance).pptxSQL (Scratch to Advance).pptx
SQL (Scratch to Advance).pptx
 
MADHU.pptx
MADHU.pptxMADHU.pptx
MADHU.pptx
 
Types of Databases.pptx
Types of Databases.pptxTypes of Databases.pptx
Types of Databases.pptx
 
Mis chapter 7 database systems
Mis chapter 7 database systemsMis chapter 7 database systems
Mis chapter 7 database systems
 
Database Management Systems ( Dbms )
Database Management Systems ( Dbms )Database Management Systems ( Dbms )
Database Management Systems ( Dbms )
 
What is Database Management.pdf
What is Database Management.pdfWhat is Database Management.pdf
What is Database Management.pdf
 
DBMS Full book by Muhammad Sharif title as Database systems Handbook.pdf
DBMS Full book by Muhammad Sharif  title as Database systems Handbook.pdfDBMS Full book by Muhammad Sharif  title as Database systems Handbook.pdf
DBMS Full book by Muhammad Sharif title as Database systems Handbook.pdf
 
Muhammad Sharif dbms book title as Database systems Handbook.pdf
Muhammad Sharif dbms book title as Database systems Handbook.pdfMuhammad Sharif dbms book title as Database systems Handbook.pdf
Muhammad Sharif dbms book title as Database systems Handbook.pdf
 
Muhammad Sharif dbms book title as Database systems Handbook.pdf
Muhammad Sharif dbms book title as Database systems Handbook.pdfMuhammad Sharif dbms book title as Database systems Handbook.pdf
Muhammad Sharif dbms book title as Database systems Handbook.pdf
 
Unit 1_intro_dbms.pptx
Unit 1_intro_dbms.pptxUnit 1_intro_dbms.pptx
Unit 1_intro_dbms.pptx
 
Book by Muhammad Sharif full dbms Database systems handbook.pdf
Book by Muhammad Sharif  full dbms Database systems handbook.pdfBook by Muhammad Sharif  full dbms Database systems handbook.pdf
Book by Muhammad Sharif full dbms Database systems handbook.pdf
 
Book by Muhammad Sharif full dbms Database systems handbook.pdf
Book by Muhammad Sharif  full dbms Database systems handbook.pdfBook by Muhammad Sharif  full dbms Database systems handbook.pdf
Book by Muhammad Sharif full dbms Database systems handbook.pdf
 
Book by Muhammad Sharif full dbms Database systems handbook.pdf
Book by Muhammad Sharif  full dbms Database systems handbook.pdfBook by Muhammad Sharif  full dbms Database systems handbook.pdf
Book by Muhammad Sharif full dbms Database systems handbook.pdf
 
Muhammad Sharif full dbms Database systems handbook.pdf
Muhammad Sharif  full dbms Database systems handbook.pdfMuhammad Sharif  full dbms Database systems handbook.pdf
Muhammad Sharif full dbms Database systems handbook.pdf
 
Muhammad Sharif DBA full dbms Handbook Database systems.pdf
Muhammad Sharif DBA full dbms Handbook Database systems.pdfMuhammad Sharif DBA full dbms Handbook Database systems.pdf
Muhammad Sharif DBA full dbms Handbook Database systems.pdf
 
Database systems Handbook 2V.pdf
Database systems Handbook 2V.pdfDatabase systems Handbook 2V.pdf
Database systems Handbook 2V.pdf
 
Database Management System
Database Management SystemDatabase Management System
Database Management System
 

Recently uploaded

Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...Call Girls in Nagpur High Profile
 

Recently uploaded (20)

Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
 

DBMS PART 1.docx

  • 1. What is Database ? Overview 1. Database is the collection of organized data which is structured or unstructured. The database's primary goal is to store a huge amount of data. 2. Many dynamic websites on the Internet today are stored in databases. 3. There are many types of Databases which are explained in this article. Scope of article This article describes, 1. What is a Database? 2. Why use a database. 3. Different Types of Databases. 4. Components of Database. 5. Evolution of Database. 6. What is a DBMS? What is Data? Data can be any information, thought or media which is being transferred from one person to another. Everything we say or communicate is the form of data. In computers, it can be used in many forms like raw text, numbers, characters, bytes, images, etc. Data can be texts or numbers or bytes and bits inside the memory of electronic devices. Every possible communication is data transmission, data is the most crucial part of the computer world. What is Database? Database is the collection of organized data which is structured and is stored electronically on a computer system. Databases can store data in the form of tables depending upon the type of database. The database's primary goal is to store a huge amount of data. Databases are used to store a large number of dynamic websites on the Internet today. Data can then be accessed, managed, updated, regulated, and organized efficiently. For writing and retrieving data, most databases utilize structured query language (SQL).
  • 2. Examples of some databases: MySQL, Oracle, MongoDB, PostgreSQL, SQL Server, etc. Why use a database? There are some points by which we can say that we should use a database for managing our data:  Databases are able to store vast number of records in such an effective manner.  It is incredibly simple and quick to locate data.  It's simple to add new data and modify or delete available data.  Data can be easily searched in a database using techniques like indexing, binary searching, etc.  Data can quickly and easily sorted in a database.  Data can be imported into other applications easily.  Database is Multi-access means that more than one person can use the same database at the same time.  The security of data in database is more than that of physical paper files because database provides additional security patterns for authorized access.  Databases are also used for transaction management. Transactions are some set of programs used for some logical word, databases are used to maintain consistency and accuracy during the transactions. Some more advantages are Access, integrity, and security that databases provides. So that's why we prefer database for data storage. Components of Database There are five components in which a database is divided. Each component has a prominent role and a specific task in a DBMS environment:  Hardware: It is the physical, electronic devices such as I/O devices, computers and storage discs that provide the interface between computers and real-world systems. Hardware includes the data servers that are used to store the data of the databases. Hardware is the physical storage devices used to store the data for the databases.
  • 3. Software: Software is the set of programs which controls and manages the database. This includes the Database Management System software, the Operating System, the network software used to exchange data, and the software applications used to access the data in the DBMS. These softwares are build over Hardware devices to integrate with hardware servers and DBMS software to manage all data transactions.  Data: Data is the raw information that has been processed and translated into other forms or means. Data can be texts or numbers, or bytes and bits inside the memory of electronic devices. Data is the primary information stored in the database hardware and flows front-end to hardware using the software.  Procedures: These are the rules and regulations that guide the users about using a database and how to create and run the database using defined procedures. Procedures are like a manual for users to manage the database, for example, stored procedures.
  • 4. Database Access Language: Database Access Language (DAL) is a programming language for reading, updating, and deleting data from a database. Users can create new databases, tables, add attributes and rows, insert data, and delete data using the language. It is usually the query language which manages the database and make changes in it, exp SQL. Types of Databases Database has been evolved much over the course of last 50 years. Databases have been of different types over these years. Types of Databases are: File-Based databases File-Based databases were first developed in 1968. Data was stored as a flat-file in file- based databases. It is the most simple storage technique with less security and management. Examples: Microsoft's NTFS, Apple's Hierarchical File System. Relational databases In the 1980s, relational databases became popular. A relational database's data are structured into tables with columns and rows. It provides the most effective and versatile approach to access structured data. Examples: Oracle, MySQL, Microsoft SQLServer, PostgreSQL, etc. Object-oriented databases Objects and classes (OOPS concept) are used to represent data in an object-oriented database, just as they are in object-oriented programming. In OOPS, programming classes have member functions which show the attributes of the database class. Distributed databases In Distributed database, the data is spread over multiple geographic locations to provide high availability, quick access. Examples: Apache Ignite, Apache Cassandra, Apache HBase, Amazon SimpleDB. NoSQL databases Unstructured and semi-structured data are stored in a NoSQL database, i.e., No-Sql databases are the ones that do not store data as rows and columns. NoSQL stands for "Not Only SQL".
  • 5. A NoSQL database can handle a wide range of data models. As online applications became more frequent and complicated, NoSQL databases became increasingly popular. Examples: MongoDB, CouchDB, CouchBase Graph Databases It represents data in the form of a graph. It is comprised of nodes and edges. Each edge denotes a relationship between two edges, and each node represents an object. In a graph database, each node represents a unique identification. Real-life examples of Graph Databases are social media applications. They show the relationship between stored data and in social media apps friends suggestions algorithms also work on that data relations. Examples: MarkLogic, Microsoft SQL Server 2017. Open source Databases An open-source database system is the one whose source code is available to the public, these databases are SQL or NoSQL. Open Source contributions can be made by the public to improve the system's functionalities, and these are free to use for the normal public. Cloud databases Cloud database allows you to store, manage, and access structured (when you can store data in the form of rows and columns) and unstructured data(where we don't store data in rows and columns) over the internet or a cloud platform. This information can be accessed over the web. As they are provided as a managed service, cloud databases are also known as database as a service (DBaaS). Examples: AWS (Amazon Web Services) cloud services, Oracle Database Cloud Services, Google cloud spanner. Evolution of Database The database has evolved from a flat-file system to relational and object-relational systems over the course of more than 50 years. The first systems to maintain data were navigational databases, such as the hierarchical database that used a tree-like structure and the network database which used a relatively flexible model that allowed many relationships. These early systems were inflexible, despite their simplicity. Relational databases gained popularity in the 1980s. After that object-oriented databases gained popularity in the 1990s. NoSQL databases were developed more recently in response to the expansion of the internet and more demand for faster processing of unstructured data. Nowadays, cloud databases and self-driving databases are being used for faster processing and cloud-based data storage.
  • 6. What is a database management system (DBMS)? A database management system is software that manages a database by storing, retrieving, and manipulating the data from a database. Oracle, MySQL etc are well-known DBMS tools. Some functions of Database Management System are:  A database management system (DBMS) provides an interface for performing various activities such as creation, deletion, and modification of the data.  A database management system (DBMS) allows users to design databases that meet their specific needs.  A database management system (DBMS) is a collection of programs that respond to user commands.  It ensures the database's safety by providing security patterns like password protections and verification to ensure access to only authorized users.  It can be easily used using the queries. Database challenges In a growing world of the internet, as the data is increasing, the need to manage data is also increasing. There are many challenges that needs to be taken care of while managing the data using databases.  Data Privacy: Data breaches are becoming more common, and hackers are becoming more ingenious. It's more vital than ever to keep data secure while simultaneously making it easy to access for consumers.  Fulfilling the demand: Companies require real-time access to their data in today's fast-paced business climate to support quick decision-making and take advantage of new opportunities.  Infrastructure: Large Infrastructure is also needed to maintain data servers and large number of employees is also required for taking care of the servers. Companies are confronted with the expense of hiring more people to monitor and tune their databases as databases get more complicated and data quantities increase.  Scalability: If a company wants to survive, it must expand, and its data management must expand with it. However, especially with on-premises databases, database administrators find it difficult to forecast how much capacity the organisation would want.  High Availability: If your server goes down in a single server database, your entire organization goes down with it. A good database takes this into account and comes up with creative solutions to keep your performance up while also ensuring constant availability. Conclusion  Data is the raw information that has been processed and is to be translated in other forms or means.  A relational database is the collection of organized data which is structured. Data is stored in tables in the form of rows and columns in a database for simplicity.  The database has evolved from a flat-file system to relational and object-relational systems over the course of more than 50 years.  There are five components in which a database is divided, each component has a prominent role and a specific task in a DBMS environment: o Hardware o Software
  • 7. o Data o Procedures o Data Access Language  Over these years, many types of databases have been introduced, each with its own specific use.  A database management system is software that manages a database means that they stores, retrieves, and manipulates the data from a database.  We also face challenges in maintaining a database that has to be overcome over time. What is DBMS? or a long time, we used to store information on the piece of paper and these papers inside files which are then stored in big racks. But in today’s computer age we store data inside the database. Whenever we go on the internet, it is always ready to serve us juicy bite-sized information to learn or to get entertained. Do you know where this information comes from? Yes, it comes from databases. To work with these databases we use software which is known as Database Management System (DBMS). We use these Database Management System (DBMS) to work with or to manage databases. In this article, let’s see what DBMS is and how it helps us to work with databases. First, let’s start with understanding what a database is. What is Database? In simple words, a database is the actual storage of data, where all the information is stored in such a way, so that it becomes easy to retrieve, update, and delete it. In simple words, a database is the collection of data that is organized in such a way, so that it becomes easy to retrieve, update and delete that data. All the data in the database is arranged in tables, where each table contains rows and columns. You can imagine this as an excel sheet. Due to this structure of a database, programmers can write efficient database queries to serve useful information on websites or in applications. Database query is nothing but the logical instruction which helps to manipulate the data inside the database. Programmers write the structured queries also known as SQL to perform various CRUD operations which are explained below. But before that, we need an understanding of DBMS. To work with databases we require a database management system (DBMS).
  • 8. Let’s discuss it. What is DBMS? As we discussed earlier DBMS stands for Database Management System which helps us to work with the databases. DBMS stands for Database Management System; it is the software used to work or manage the databases. The main work of DBMS is to provide an interface for the user to manipulate data from the database. DBMS acts as a middle layer between the user and the actual database. Users write the logical structured queries or programs with the help of DBMS and the changes get reflected in the database and these changes occur due to the DBMS. You can refer to the following figure to visualize the work of DBMS. We use DBMS for so many things but one of the main uses is to perform the CRUD operations on the database. CRUD is an acronym that stands for – C – Create R – Read U – Update D – Delete Let’s see CRUD in detail to understand what is DBMS and its actual work,
  • 9. Create Create means the creation of tables, rows, and columns with the help of DBMS. This is the operation where we insert the data and create other useful structures which help to efficiently work with the databases. When some users fill the form on any website there are some queries written at the back-end which performs the insert operation to store the user’s data. Read Read is an operation that is used so much in the DBMS. There is always a need to retrieve the data from the database. Whenever you see your friend’s image on Instagram it is retrieved from Instagram’s database. It is very important to retrieve the relevant information for the user every time when he uses an application. Update The update operation is used to modify the existing data from the database. There is an always edit button on the social media apps which helps to update or modify the information in posts. Update operation needs to be performed with caution in DBMS so that we can update only those things which need to be changed and not others. Delete Delete operation is simply used to delete the entry from the database. It needs to be used with extra caution so that useful information doesn’t get deleted. Alongside CRUD DBMS is used for user administration as well. DBMS is used to register or to monitor the users. DBMS helps to maintain data security, data integrity and it also helps to monitor performance. In case of unexpected system failures, DBMS helps to recover the information using various recovery methods. Applications of DMBS As we need to store so much data at so many places there is a wide variety of database management system applications. Banking DBMS is used to store information about customers, their transactions, credit and debit details, etc. in the databases. Airlines All the data of reservations and bookings are stored in databases with the help of DBMS.
  • 10. University DBMS is used to store student marks, details, credits, and other administrative information in the databases. Telecommunication DBMS is used to keep the track of bills, call logs, and other customer information. Library Management It becomes difficult to keep track of thousands of books and the members in the physical register. So DBMS is used to make it easy. With the help of DBMS, we can store data with different book categories, authors and genres. Social Media Sites Millions of users use social media sites every day and tons of data is shared between them. This huge amount of data is managed and stored with the help of DBMS Characteristics of DBMS There are various characteristics of Database management systems, these characteristics of DBMS make it useful for so many industrial and commercial business applications. 1. Access security Whenever someone wants to access the database he needs to be authenticated first. DBMS provides various security features so that unauthorized users can’t access the database. 2. Minimum data redundancy Redundant data means duplicate or repeating data which increases the storage cost. DBMS also provides the feature to remove or minimize data redundancy with the help of normalization techniques. 3. Different views for different users Different users need to be served with the different data for eg. If the teacher logged in to an application he should be able to see the attendance of students and the results of all the students from his class. If a student logged in to the app then he would be able to see his own result. So DBMS provides us the functionality to create different views of data for different users.
  • 11. 4. Multi-user environment for parallel data access DBMS provides an ability to allow access for multiple users so that multiple users can access the data from the database. This functionality allows modern applications to handle a large user base. 5. Automatic backup and recovery There are various functionalities provided by DBMS to ensure that data can’t get corrupted or lost in pandemic situations. There are options like rollback and commit which ensure that data can get recovered. Rollback is an operation to undo the changes and commit is the operation to make the changes permanent. 6. DBMS follows ACID property It is one of the important properties of a database management system that makes sure the database always remains in a good state. Every operation which we perform on the database with the help of DBMS is known as the transaction and each of these transactions should follow the ACID property. ACID is an acronym that stands for Atomicity, Consistency, Isolation, and Durability. It is one of the most important characteristics of DBMS. Atomicity The transaction never remains in between either it performs completely or gets discarded completely in the case of any system or DBMS failure. Consistency Data is very precious and it should remain the same before and after the transaction. It shouldn’t show any inconsistent behaviors with DBMS Isolation All transactions should be isolated from one another, which means every transaction should be separate from one another there shouldn’t be any interference of one transaction onto another. Durability After execution of the entire transaction, data should become permanent on the database. It should be durable i.e. it should remain there in case of system failure or system crash.
  • 12. Different Types of DBMS There are various types of database management systems based on the database structures. We can arrange data in various formats for a variety of use cases. Let’s see these types of DBMS one by one, Centralized DBMS In a centralized database, a single central database serves data to multiple devices. Each user can access the database after authentication and be able to work with it. Decentralized DBMS In the decentralized database, all the data is collectively stored in multiple databases. All these databases are connected together with the help of networking. To the end-user, this entire system appears like a single coherent system. Relational DBMS The relational database management system is also known as RDBMS. It is one of the types of DBMS which is widely used for commercial applications. It contains tables in which data is stored in the form of rows and columns like an excel sheet. Some of the tables possess the relationship among them and the data is retrieved with the help of join operation. This join operation helps us to get data from 2 or more tables with the help of logical queries. NoSQL DBMS NoSQL or non-relational databases are the recently popular databases due to their high scalability and availability. In this type of database, the data is stored in collections and it doesn’t contain tables like relational databases. Collection is simply the group of documents in which we have data with similar meaning and similar purpose. Document looks like as follows –
  • 13. In NoSQL, we can store data in key-value pairs as well as with the help of graphs. It increases productivity by a significant amount and comparatively, it is easy to work with them. Hierarchical DBMS In hierarchical databases data is arranged in a tree-like format where we have a parent-child relationship between nodes. The parent can have many children but children contain only one parent. Network DBMS The network database model has various nodes and these nodes are connected with each other. These models are so complex in nature. This model allows multiple parents for a single child node so we can create more complicated structures with it. Object-Oriented DBMS The Object-oriented database management system is one of the types of DBMS, in which data is stored in the objects. These objects are created from the classes. Classes are nothing but the description of an object. It is similar to object-oriented programming languages. Advantages of DBMS 1. DBMS is secure due to the authentication and user authorization and DBMS is reliable in storing the data in the database.. 2. DBMS offers functionality to remove and minimize the data redundancy with the help of normalization techniques. 3. DBMS provides different data views for different users. 4. There is a facility to take backup and recover the lost data in DBMS. 5. DBMS can be integrated with Python, Java, or any other programming language to make use of the database. 6. ACID properties ensure healthy transactions with the database. 7. Authentication and user authorization ensures the security of the DBMS Disadvantages of DBMS 1. Working with database management systems is often too complex. 2. There is a cost involved to buy hardware for data storage. 3. Setting up the DBMS takes time. 4. Most of the commercial DBMS contains paid licenses so there is a cost involved before their use. 5. If there is no backup and recovery functionality in the DBMS, then data loss can happen in case of some system failure or system crash. 6. There is a requirement of skilled technical staff to work with DBMS. 7. So much cost is involved in the infrastructure and skilled staff.
  • 14. Conclusion In this article, we saw DBMS which is a widely used software program to work with databases. Due to various characteristics, DBMS became very popular in commercial and industrial use. There are various types of DBMS that we can utilize according to our needs.
  • 15. Types of Database Overview A database is an organized collection of data that enables simple and efficient storage, retrieval, and modification of data. In this article, we shall discuss the various types of databases. Scope In this article, we will discuss  Various types of databases.  Functioning of each type of database.  Advantages and disadvantages of various database. Centralised Database It is a collection of information at a single location accessible from numerous points. The basic function of a centralized database management system is to provide facilities and give access to all the connected computers which fulfill all requirements requested by any single node. All the data and information are stored in a single centralized database management system. The computer system which fulfills the requirements of all the connected computers is known as a server and other computers are known as clients. Advantages  Queries can be fast.  Information may also be easier to organize in a single location.  In a database upgrade to handle more information, servers can be added to the database site easily.  A centralized database can also be easier to physically secure.  It is also possible to set up an extremely robust computer security system to prevent unauthorized access. Disadvantages  A centralized database tends to create bottlenecks if several users perform write operations.  It can also be very vulnerable if something happens to it and a backup has not been performed or the existing backup is outdated.  If multiple users try to access and process queries toward the server simultaneously then it becomes quite problematic for the performance.
  • 16. Cloud Database It is a database that is built, deployed, and accessed in a cloud environment, private, public, or hybrid cloud. It has two deployment models: 1. Traditional Database Very similar to an onsite, in-house managed database—except for infrastructure provisioning. In this case, an organization purchases virtual machine space from a cloud services provider, and the database is deployed to the cloud. It is useful for early age organizations, small size companies. 2. Database as a service (DBaaS) It's a database in which an organization contracts with a cloud services provider through a fee-based subscription service. The service provider offers a variety of real- time operational, maintenance, administrative, and database management tasks to the end-user. Advantages  Cloud databases can be set up and decommissioned very quickly—making testing, validating, and operationalizing new business ideas easy and fast.  If the organization decides not to operationalize a project, it can simply abandon the project and move on to the next innovation.  When using a cloud database, there’s no need to order hardware or spend time waiting for shipments, installation, and network setup when a new product is in the development queue.  Cloud databases offer numerous opportunities to reduce risk across the business, particularly for DBaaS models.
  • 17. Disadvantages  Once your business has chosen a cloud service provider, it can be complicated to move your infrastructure to a different cloud service.  The initial cost of hosting services for your database deployments can be lower than expanding your business's existing servers. But as your service needs grow, costs can rise – sometimes quite sharply.  The general security of the cloud infrastructures available from leading vendors is strong. But no system is entirely immune to attack. Hosting sensitive information online always generates the possibility of a data breach. Commercial Database A commercial database is developed and maintained by a commercial organization that is generally made available to customers and potential customers. In terms of free software and source availability, it's opposite to database management systems like MySql, Postgres. etc. Examples are OracleDB, EnterpriseDB, etc. They are often associated with premium services such as active customer support, better up times and access speed (cloud-deployed), etc. Advantages  Commercial DBMS software providing companies offer professional support extended to customers.  The organization may provide additional scaling features and capacity.
  • 18.  Automated cloud-based management and data backups are also available.  The DB up-time and efficiency could also be better. Disadvantages  Require purchasing.  Billing might scale as does the database.  One time payments are rare.  DBMS migration could be a cause of concern. Distributed Database A distributed database is one in which data is stored across different physical locations. It maybe stored in multiple computers located in the same physical location or maybe dispersed over a network of interconnected computers. System administrators can distribute collections of data across multiple physical locations. A distributed database can reside on organized network servers or decentralized independent computers on the Internet, on corporate intranets/extranets, etc. Advantages  Network transparency: This refers to the freedom for the user from the operational details of the network.  Replication transparencies: It makes users unaware of the existence of copies as we know that copies of data may be stored at multiple sites for better availability, performance and reliability.  Fragmentation transparency: It makes users unaware of the existence of fragments, vertical or horizontal.  When the data is distributed over several sites one site may fail while other sites continue to operate.
  • 19.  In a distributed environment expansion of the system in terms of adding more data, increasing database sizes, etc is easier. Disadvantages  Network traffic is increased, because most queries stay on a site's LAN rather than using the organization's WAN.  Different data formats are used in different systems.  Different DBMS products are used in different systems which increases in complexity of the system.  Managing system catalog is a difficult task (Every database stores every information about its objects. This information, known as metadata, are also stored as rows and columns of a table. Collection of these metadata is stored in system catalog). End User Database An end-user database enables storing data created by an end-user. Any database which allows the end-user to create and manage data comes under this category. This means that the user is able to directly interact with and control the database and the data that is stored in it. As shown in the diagram, summary of whole information is collected in this database. For convenience, the end user is provided with an interactive client (dedicated software, command line interface, GUI, etc). Advantages  The end user is usually not concerned about the transaction or operations done at various levels.  The user is only aware of the product which may be a software or an application.
  • 20.  This helps in rapid development. Disadvantages  This is a shared database which is specifically designed for the end user. Graph Database Graph databases are purpose-built to store and navigate relationships among objects. Relationships are first-class citizens in graph databases, and most of the value of graph databases is derived from these relationships. Graph databases use nodes to store data entities, and edges to store relationships between entities. A graph can be traversed along specific edge types or across the entire graph. In graph databases, traversing the joins or relationships is very fast because the relationships between nodes are not calculated at query times but are persisted in the database. Graph databases have advantages when you need to create relationships between data and quickly query these relationships. Advantages  With graph databases, you can use relationships to process financial and purchase transactions in near-real-time.  With fast graph queries, you can detect that, for example, a potential purchaser is using the same email address and credit card as included in a known fraud case.  Graph databases can also help you easily detect relationship patterns such as multiple people associated with a personal email address, or multiple people sharing the same IP address but residing in different physical addresses.  With graph databases, you can store in a graph relationship between information categories such as customer interests, friends, and purchase history. Disadvantages  Graph databases are not great at transactional use cases.
  • 21.  Using a graph database alone is not an MDM (Master Data Management) solution.  Graph databases do not create better relationships. They simply provide speedy data retrieval for connected data.  For the most common graph databases, you have to store all the data on one server.  Graph databases are not optimized for large-volume analytics queries typical of data warehousing. Hierarchical Database It is a database model in which the data is arranged in a hierarchical tree manner. As it is arranged based on the hierarchy, every record of the data tree should have at least one parent, except for the child records in the last level, and each parent should have one or more child records. The Data can be accessed by following through the classified structure, always initiated from the Root or the first parent. The idea behind hierarchical database models is useful for a certain type of data storage, but it is not extremely versatile. It is confined to some very specific uses. Hierarchical models make the most sense where the primary focus of information gathering is on a concrete hierarchy such as a list of business departments, assets, or people that will all be associated with specific higher-level primary data elements. Advantages  Based on Hierarchal structure, the relationships between the layers.  The first database model offered the data security that is provided by the DBMS.  It is very efficient because when the database contains a large number of 1 relationships and when the user requires a large number of transactions.  It’s very fast to access data at present at the top of the tree storage.  Large base with proven technology. Disadvantages  One parent per child.  Complex (users require physical representation of database)
  • 22.  Navigation across the tree based data storage is complex.  Data must be organized in a hierarchical way without compromising the - information.  Lack structural independence.  Many too many relationships not supported.  Data independence. Network Database A network database is based on a network data model, which allows each record to be related to multiple primary records and multiple secondary records. Network databases allow you to create a flexible model of relationships between entities. Network refers to relations between different data entities. A network database is based on a traditional hierarchical database, except it allows each object to have multiple parents instead of a single parent. Network databases can be represented as a graph, defined by a schema, which is a list of data nodes and the relationships between them. This provides a data structure that, in a regular relational database, can only be accessed by inference. Advantages  The network model is conceptually simple and easy to design.  The network model can handle the one to many and many to many relationships which are a real help in modeling real-life situations.  The data access is easier and flexible than the hierarchical model.  The network model does not allow a member to exist without an owner.  The network model is better than the hierarchical model in isolating the programs from the complex physical storage details.
  • 23. Disadvantages  The schema or the structure of this database is very complex as all the records are maintained by the use of pointers.  There’s an existence of operational anomalies as there is a use of pointers for navigation which further leads to complex implementation.  This model does not have any scope of automated query optimization.  This model fails in achieving structural independence even though the network database model is capable of achieving data independence. NoSQL Database NoSql can handle huge volumes of rapidly changing, unstructured data in different ways than a relational database with rows and tables. NoSQL DBMS compromise consistency in favor of availability, speed, and partition tolerance. NoSql DBMSs use binary format of Javascript Object Notation (BSON) to store data in a database. The data is stored in documents, which in turn are stored in a collection. Most NoSQL stores lack true ACID(Atomicity, Consistency, Isolation, Durability) transactions but a few databases, such as MarkLogic, Aerospike, etc have made them central to their designs. Most NoSQL databases offer a concept of eventual consistency in which database changes are propagated to all nodes so queries for data might not return updated data immediately or might result in reading data that is not accurate. Advantages  NoSql databases take full advantage of the cloud to deliver zero downtime.  They enable easy updates to schema and fields.  They are developer friendly.  They are capable of storing unstructured, semi-structured, or structured data.  They can handle large volumes of data at high speed with a scale-out architecture.
  • 24. Disadvantages  No standard defines the rules and roles of NoSQL databases. The design and query languages of NoSQL databases vary widely between different NoSQL products.  Backups are a drawback in NoSQL databases. Though some NoSQL databases provide tools for backup, they are not mature enough to ensure a proper complete data backup solution.  NoSQL puts scalability and performance first but when it comes to a consistency of the data NoSQL doesn’t take much consideration. Object Oriented Database The database combines object-oriented programming concepts with relational database principles. Think of a class as a model, and objects as various constructs/instances of it. These instances share the properties they derive from the class. For example, a class of 'bear', the objects of which could be brown bears, Polar Bears, Black Bears, etc. Objects are the basic building block and an instance of a class, where the type is either built-in or user- defined. Classes provide a schema or blueprint for objects, defining the behavior. Methods determine the behavior of a class. Pointers help access elements of an object database and establish relations between objects. The main characteristic of objects in OODBMS is the possibility of user-constructed types. An object created in a project or application saves into a database as it is. Advantages  OODBMS allows new data types to be built from existing types.  OODBMS is capable of storing different types of data.  A single language interface between the Data Manipulation Language and the programming language overcomes the impedance mismatch.  Navigational access from the object is the most common form of data access in an OODBMS. It is more suitable for handling parts explosion, recursive queries, and so on.  The tight coupling between data and applications in an OODBMS makes schema evolution more feasible. Disadvantages  Usage of OODBMS is low.  There is a general lack of standards of OODBMS. There is no universally agreed data model, and no standard object-oriented query language.  Perhaps one of the most significant issues that face OODBMS vendors is the competition posed by the RDBMS and the emerging ORDBMS products.  Query optimization requires an understanding of the underlying implementation to access the database efficiently. However, this compromises the concept of incrustation.  Many OODBMSs use locking as the basis for concurrency control protocol which may impact performance.
  • 25. Relational Database An RDBMS stores and organizes data points that are related to one another. Based on the model, a relational database presents data sets as a collection of tables and provides relational operators to manipulate the data in tabular form. Tables consist of columns containing one or more data categories, and rows, containing a set of data defined by the category. Each table has a unique identifier, or primary key, which identifies the information in the table, and each row contains a unique instance of data for the categories defined by the columns. The logical connection between different tables can then be established with the use of foreign keys - a field in a table that connects to the primary key data of another table. RDBMS often emplos SQL for gathering data for reports and interactive queries. RDBMS exhibit ACID properties:  Atomicity o All changes to data are performed as if they are a single operation.  Consistency o Data is in a consistent state when a transaction starts and when it ends.  Isolation o The intermediate state of a transaction is invisible to other transactions.  Durability
  • 26. o After a transaction successfully completes, changes to data persist and are not undone, even in the event of a system failure. Advantages  Even though a relational database is poor in terms of performance, still its speed is considerably higher because of its ease and simplicity.  Since there are several tables in a relational database, certain tables can be made to be confidential.  Compared to other types of network models, a relational database model is much simpler.  Unlike other types of databases, a relational database does not require any specific path for accessing the data.  Thus, all the data which is stored is non-repetitive. Disadvantages  The maintenance of the relational database becomes difficult over time due to the increase in the data.  The relational database system is costly to set up and maintain.  A relational database is comprised of rows and columns, which requires a lot of physical memory because each operation performed depends on separate storage.  While using the relational database over multiple servers, its structure changes and becomes difficult to handle.  Relational databases can only store data in tabular form which makes it difficult to represent complex relationships between objects.
  • 27. Conclusion A database is an organized collection of data that enables simple and efficient storage, retrieval, and modification of data. There are 11 fundamental types of databases:  Centralized database.  Cloud database.  Commercial database.  Distributed database.  End-user database.  Graph database.  Hierarchical database.  Network database.  NoSQL database.  Objected-oriented database.  Relational database.
  • 28. DBMS Architecture Overview DBMS architecture describes the structure and how the users are connected to a specific database system. It also affects the performance of the database as it helps to design, develop, implement, and maintain the database management system. This article provides an overview of the different types of DBMS architectures along with their merits and demerits. Scope of article  This article describes the importance of DBMS architecture.  Provides insight to the different kinds of DBMS architectures.  The article does not show how the different types of DBMS architectures are implemented. Introduction While planning any structure, the architects design and develop the organization and the layout of the individual components used to build the whole structure and their relationships. This determines the structural integrity and durability of the entire complex, i.e., the architecture defines the structure's performance. This concept is also true in the case of the database management system. The DBMS architecture affects the performance of the database as it helps to design, develop, implement, and maintain the database management system. The database management system design depends on the DBMS architecture for its representation. It describes the structure and the way in which the users are connected to a specific database system. In this article, we will explore the different types of DBMS architectures along with their real-life examples. Types of DBMS Architecture Database management systems are divided into multiple levels of abstraction for proper functioning. These modules/layers describe the functioning and the design of the DBMS. Since a database management system is not always directly accessible by the user or an application, we can maintain it with the help of various architectures based on how the user is connected to the database. These architectures follow a tier-based classification, i.e., the DBMS architecture is classified depending upon how many layers are present in the structure of the DBMS. Hence, an n-tier DBMS Architecture divides the whole DBMS into related but n independent layers or levels, i.e., a one-tier architecture divides the DBMS into a single layer, a two-tier DBMS architecture divides the DBMS into two layers, a three-tier in three layers, and so on. When the layers are increased in the architecture, the level of abstraction also increases, resulting in an increase in the security and the complexity of the DBMS structure. All these layers are independent, i.e., any modification performed in a particular layer does not affect the other layer present in the architecture.
  • 29. Now, let’s look at the most common DBMS architectures:  Single Tier Architecture (One-Tier Architecture)  Two-Tier Architecture  Three-Tier Architecture Now, let's explore these three different ways to structure the database management systems. 1. Single Tier Architecture Single Tier DBMS Architecture is the most straightforward DBMS architecture. All the DBMS components reside on a single server or platform, i.e., the database is directly accessible by the end-user. Because of this direct connection, the DBMS provides a rapid response, due to which programmers widely use this architecture to enhance the local application. In this structure, any modifications done by the client are reflected directly in the database, and all the processing is done on a single server. Also, no network connection is required to perform actions on the database. This database management system is also known as the local database system.
  • 30. Single Tier DBMS Architecture is used whenever:  The data isn't changed frequently.  No multiple users are accessing the database system.  We need a direct and simple way to modify or access the database for application development. Example of Single Tier DBMS Architecture: In order to learn the Structure Query Language (SQL), we set up our SQL server and the database on our local system. This SQL server enables us to directly interact with the relational database and execute certain operations without requiring any network connection. This whole setup to learn SQL queries is an example of Single-Tier DBMS architecture.
  • 31. Highlights: 1- Simplest DBMS architecture. 2- All the components of DBMS, i.e., the server, database, and client, reside on a single system. 3- The user can directly access the database. 4- Used when data isn't changing frequently. 5- Suitable for programmers, database designers, and single-user access. 2. Two Tier Architecture Two-Tier DBMS Architecture is similar to the fundamental concept of client-server architecture. In a two-tier structure, the server provides the database functionality and it allows the clients to perform operations on the database through a direct internet connection via APIs (Application Programming Interface), for example:  ODBC: Open Database Connectivity.  JDBC: Java Database Connectivity. The Two-Tier DBMS Architecture is used when we wish to access the DBMS with the help of an application. Client-side applications can access the database server directly with the help of API calls, making the application independent of the database in terms of operation, design, and programming.
  • 32. The main advantages of having a two-tier architecture over a single tier are:  Multiple users can use it at the same time. Hence, it can be used in an organization.  It has high processing ability as the database functionality is handled by the server alone.  Faster access to the database due to the direct connection and improved performance.  Because of the two independent layers, it's easier to maintain. Example of Two Tier DBMS Architecture: Consider a situation where you went to a bank to withdraw some cash. After entering the withdrawal amount and the account details on the withdrawal slip, the banker will go through the server-side database via his credential (API call) and will check whether there is enough balance present or not. This client-server model is an example of Two- Tier DBMS architecture. Note - The main disadvantages of Two-Tier DBMS Architecture are:  Scalability - As the number of clients increases, the load on the server increases. Thereby declining the performance of the DBMS and, in turn, the client-side application.  Security - The Direct connection between the client and server systems makes this architecture vulnerable to attacks. Highlights: 1- Similar to a client-server architecture. 2- Faster access, Easier to maintain, and can handle multiple users simultaneously. 3-Used when we wish to access DBMS via applications and APIs.
  • 33. 4-Has scalability and security issues because of direct client-server connection. 3. Three Tier Architecture Three-Tier DBMS Architecture is the most widely used DBMS architecture in which another layer known as Intermediate or Application layer is added between the server (Database Layer) and the client (Presentation Layer) systems to reduce the query processing load of the server. This application or intermediate layer provides the end-user an abstract view of the database. Since there is no direct connection between the client and the Server, all the user requests are handled by the Application Layer, i.e., the requests sent by the users are checked and verified by the Intermediate Layer before transferring them to the server. This reduces the query processing load from the server and enhances the security of the overall DBMS design as the client can't communicate directly with the database server. Hence, the application layer is responsible for load balancing, query request correctness, and security in Three-Tier DBMS Architecture. The main advantages of Three Tier DBMS Architecture are:  Scalability - Since the database server isn't aware of any users beyond the application layer and the application layer implements load balancing, there can be as many clients as you want.  Data Integrity - Data corruption and bad requests can be avoided because of the checks performed in the application layer on each client reques.  Security - The removal of the direct connection between the client and server systems via abstraction reduces unauthorized access to the database. Note - In Three Tier DBMS Architecture, an additional layer (Application Layer) is added between the Client and the Server. This increases the number of layers present between the DBMS and the end-users, making the implementation of the DBMS structure complex and difficult to maintain. Highlights:
  • 34. 1- Most widely used DBMS architecture. 2- Follows Client-Application-Server architecture. 3- Enhanced security, data integrity, and scalability. 4-Has complexity and maintenance issues because of the extra layer. Conclusion  DBMS architecture describes the structure and how the users are connected to a specific database system.  Architecture affects the performance of the database.  In the single-tier architecture, all the components of the DBMS reside on a single server. It is the most straightforward approach.  In the two-tier architecture, the client-server approach is implemented.  The three-tier DBMS architecture is an extension of the two-tier architecture where an intermediate layer, i.e., the Application layer is added between the client and the server. It is the most widely used architecture.
  • 35. Relational and Non Relational Databases Overview Relational and Non-relational databases are two kinds of management systems that allow us to create databases that will help us in managing complex data. A relational database is structured, whereas NoSQL is semi-structured or unstructured. In the relational database(SQL), it consists of tables(fields and records), whereas non-relational database data is stored in form of graphs, documents(XML, JSON). Scope of Article  In this article, we will study Relational and Non-Relational Databases.  Different popular relational and non-relational databases?  Advantages and Disadvantages of Relational and Non-Relational Databases. Introduction There are two types of database management systems:  Relational Databases.  Non-Relational Databases. A relational database is the database management system in which data is stored in distinct tables from where they can be accessed or reassembled in different ways under user-defined relational tables, whereas a Non-Relational Database is the database architecture that is not built around tables. This type of database contains data in the form of forms or a large amount of data which is either unstructured or semi-structured data. The Relational Database(SQL) was first introduced in 1974 by two colleagues of IBM, whereas a Non- relational database is already known from the 1960s. Examples of Relational Databases: MySQL, Oracle. Examples of Non-Relational Databases: MongoDB, Apache Cassandra. Relational Databases A relational database or relational database management system(RDBMS) stores data in the form of a table. The table consists of rows and columns, and in a relational database rows are referred to as records, and columns are referred to as fields. The term relational database was first coined in the 1970's by E.F. Codd at IBM, and later in 1974 Donald D. Chamberlin and Raymond F. Boyce released SQL or Standard Query Language, which allows the user to interact with the relational database system. As already defined, a relational database consists of tables, and a table consists of rows and columns. Each table has a special column that contains only distinct and unique values that are called primary key. This primary key is used to define the relationship between the tables, and if the 1st table(Student) primary key, i.e., ID is used in the 2nd table(College_Student), then that column is called foreign key(StudentID). So, "ID" is the primary key for the Student table, and "ID"(StudentID) is the foreign key for the Course_Student table. Now, we have a database that contains two tables, now if we want to change the change our database
  • 36. design or improve this existing database design, there comes database normalization(It is the process of structuring the database to remove data redundancy and improve data integrity). The most widely and popular way of interacting with a relational database is SQL(Structural Query Language), which allows access, filter, and modify data. Popular Relational Database  MySQL It is an open-source database management system, launched in 1974 by the developers of IBM. The most common use of MySQL databases is for web databases. Oracle Database It is the first database designed for enterprise grid computing, the most flexible and cost-effective way to manage information and applications.
  • 37. Microsoft SQL Server It is relational database management which is developed by Microsoft. It is known for storing and retrieving data as requested by other software applications, which can be run using the same PC or another PC or network. PostgreSQL It is also an open-source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. SQLite It is the most used database engine in the world. It is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured. It can be built into mobile phones and most computers.
  • 38. MariaDB It is one of the popular open relational databases initially designed by the developers of MySQL developers. It is known for its performance, stability, and openness(open-source). Advantages of Relational Databases  ACID Compliance: The presence of 4 properties, i.e., Atomicity, Consistency, Isolation, and Durability. When the database possesses these four ACID properties, they are said to be ACID compliant. o Atomicity: It refers to the integrity of the database transaction (By this, we mean that either the entire transaction takes place at once or doesn’t happen at all. There is no midway, i.e., transactions do not occur partially. Each transaction is considered as one unit, and either runs to completion or is not executed at all). o Consistency: It means that only data which follows those rules is permitted to be written to the database. If a transaction occurs and results in data that does not follow the rules of the database, it will be ‘rolled back’ to a previous iteration of itself (or ‘state’) which complies with the rules. This means that integrity constraints must be maintained so that the database is consistent before and after the transaction. It refers to the correctness of a database. o Isolation: It refers to the ability to concurrently process multiple transactions in a way that one does not affect another. Changes occurring in a particular transaction will not be visible to any other transaction until that particular change in that transaction is written to memory or has been committed. This property ensures that the execution of transactions concurrently will result in a state that is equivalent to a state achieved these were executed serially in some order. o Durability: It is to make those failures invisible to the end-user. This property ensures that once the transaction has completed execution, the updates and modifications to the database are stored in and written to disk and they persist even if a system failure occurs. These updates now become permanent and are stored in non-volatile memory. The effects of the transaction, thus, are never lost. Note: The ACID properties, in totality, provide a mechanism to ensure correctness and consistency of a database in a way such that each transaction is a group of operations that acts a single unit, produces consistent results, acts in isolation from other operations and updates that it makes are durably stored.  Normalization: It is a database design technique that reduces data redundancy and eliminates undesirable characteristics like Insertion, Update, and Deletion Anomalies. Normalization rules divide larger tables into smaller tables. Their purpose is to eliminate redundant data and ensure data is stored logically.
  • 39.  Accuracy: Tables consist of primary and foreign keys, which ensures that no duplicate data is present in data. It will help us as no duplicacy is there, so it will enforce our data accuracy.  High Security: In a relational database, we can divide the data among tables, and we can divide the tables as confidential or not. It can make our data safe. Let's under this with an example, Suppose a company has a large volume of data saved in MySQL server, and we have made some tables as confidential and some as public, and we need to do some analysis on confidential tables. When a data analyst wants to access those tables, they will get to enter the username and password to access those confidential tables and can modify, access, or analysis the tables, and everything gets recorded, depending on the access given to the tables. Disadvantages of Relational Databases  Loss of Information: Big organizations tend to have large databases containing a lot of information. When this information is transferred from one system to another, in this case, we might lose our data.  Expensive: The cost to set up a relational database is very expensive. For this purpose, we need software to maintain the database, and a separate technician is required to maintain the software. This can increase in cost for a company.  Slow Performance: If the database is huge and contains interconnected tables based on their primary keys. When getting the required data, the response given on the queries makes it slower, and it makes our databases quite complex to get the data. Non-Relational Database Non-Relational Databases are also called No-SQL databases, that doesn't require any table, fields, or records. This type of database has existed since the 1960s, but the term No- SQL was coined in the late 90's and early 21'st century. NoSQL databases are completely different from SQL databases and work differently. It has to deal with semi-structured or unstructured data. Rather than containing tables, it consists of files within various folders. They can possess any kind of data, whether JSON, XML, etc. So, creating and managing data in NoSQL is easy and faster. Facebook(Meta) is a very popular example of using NoSQL databases. There are various types of Non-relational databases like:  Documents Databases.  Graph Databases.  Wide Column Databases.  Key-value Databases. Popular Non Relational Database
  • 40. MongoDB It is a cross-platform document-oriented database system, classified as a NoSQL database. As it is a document-oriented database, it uses JSON-like documents. Apache Cassandra It is a free and open-source database system used to handle a large amount of data across many servers. Redis It is a memory-based database. It can support many data structures like strings, lists, maps, sets, etc.
  • 41. Couchbase It is also an open-source and document-oriented database system. It can serve many concurrent users by creating, storing, retrieving, manipulating, presenting data. Neo4 It is also an open-source database system. It is based on graphs-based databases with online backup and high availability extensions under the closed-source commercial license. Advantages of Non-Relational Databases  Unstructured Data: These types of databases can store both structured and unstructured, whereas relational databases can store only data in a structured way.  Large Data & Cheap: These databases can scale to accommodate any type of data while maintaining a low cost.  Performance & Fast These types of databases are defined for good performance, and it contains unstructured data, while in relational databases data is stored in tables, so accessing data is a bit slower than this.
  • 42. Disadvantages of Non-Relational Databases  ACID: NoSQL doesn't guarantee ACID transactions as they are BASE(Basically Available, Soft State, Eventual Consistency).  Backup: The Disadvantage of Non-Relational Databases is that they didn't have a backup in these types of databases. MongoDB has some backup tools, but they aren't up to the mark. At last, NoSQL databases aren't mature enough to get the proper backup.  Standard Rules In NoSQL databases, there are no standardized rules of databases. The design and query language vary from one NoSQL database to another, so there is no standard process to access the data, whereas, in Relational databases, we have some common ways to access the data.  CONCLUSION:   RELATION VS NON-RELATIONAL DATABASE