"Without data, you're just
another person with an
opinion."
- W. Edwards Deming
What is Data?
• Data encompasses a wide range of information, facts, or
figures that can be collected, stored, and analyzed for
various purposes.
• This information can take many forms, including text,
numbers, images, audio, video, and more.
Types of Data
Structured Data
Unstructured Data
• Data organized in a • Data that does not have a
predefined format, such predefined structure, such
as tables in a spreadsheet as text documents,
or relational database. images, videos, or social
media posts.
What is Database?
• A database is an organized collection of data stored and
managed electronically in a structured format, typically
using specialized software called a Database
Management System (DBMS)
Understanding Database
Software
• also called a database management system (DBMS), is
an application used to create, store, manage, search,
and analyze data in a database.
• Database software is like a digital filing cabinet or
warehouse where you can store and organize all sorts of
information.
Database management system
(DBMS), is an application used to..
1.Create: Database software allows you to create structures to hold your data. These
structures are like tables with rows and columns, where each row represents a single
record and each column represents a different attribute or piece of information.
2.Store: Once you've created your data structures, the software stores your data securely.
This means your information is saved in a structured way that makes it easy to access
and manage later on.
3.Manage: With database software, you can easily manage your data. This includes adding
new records, updating existing ones, and deleting ones you no longer need. You can also
define rules and constraints to ensure the integrity and consistency of your data.
4.Search: Database software provides tools to search through your data quickly and
efficiently. You can run queries to find specific information or filter your data based on
certain criteria. This makes it easy to retrieve exactly what you need, even from large
datasets.
5.Analyze: Finally, database software allows you to analyze your data to gain insights and
make informed decisions. You can perform calculations, generate reports, and visualize
your data in various ways to identify trends, patterns, and correlations.
Examples of Database software
application
Microsoft SQL
MySQL Oracle Database Microsoft Access
Server
Characteristics and Benefits of a
Database
1. Self-describing nature of a database system
2. Insulation between program and data
3. Support for multiple views of data
4. Sharing of data and multiuser system
5. Control of data redundancy
6. Data sharing
7. Enforcement of integrity constraints
8. Restriction of unauthorized access
9. Data independence
10. Transaction processing
11. Provision for multiple views of data
12. Backup and recovery facilities
Self-describing nature of a database
system
• This means that a database contains metadata that
describes the structure of the data it holds. Essentially,
the database itself provides information about how the
data is organized, making it easier for users and
applications to understand and work with the data.
Insulation between program and
data
• In a database system, data is stored separately from the
programs that access it. This insulation ensures that
changes to the structure or organization of the data do
not require corresponding changes to the programs that
use the data. It allows for greater flexibility and easier
maintenance of both the data and the applications that
interact with it.
Support for multiple views of data
• A database system allows different users or applications
to have different perspectives or views of the same
data. This means that users can access and manipulate
the data in ways that are meaningful to them without
affecting how
Sharing of data and multiuser
system
• A database system enables multiple users to access and
modify the data simultaneously. This allows for
collaboration and concurrent use of the data by
different users or applications. It promotes efficiency
and teamwork in organizations.
Control of data redundancy
• Data redundancy refers to the storage of the same data
in multiple places. A database system helps control
redundancy by storing data in a centralized location and
providing mechanisms to ensure that changes to the
data are propagated consistently throughout the
system. This helps maintain data integrity and saves
storage space.
Data sharing
• Data sharing refers to the ability of multiple users or
applications to access and modify the same data
simultaneously.
Enforcement of integrity constraints
• A database system enforces rules or constraints to
ensure the accuracy and consistency of the data. These
constraints can include rules for data validation,
referential integrity, and business rules. By enforcing
these constraints, the database maintains data quality
and reliability.
Restriction of unauthorized access
• Database systems implement security measures to
restrict access to the data to authorized users only. This
includes user authentication, access control, and
encryption to protect sensitive information from
unauthorized access or tampering.
Data independence
• Database systems provide a level of abstraction that
separates the physical storage of data from the way it is
accessed and manipulated. This means that changes to
the physical storage structure do not affect how users
or applications interact with the data. It enhances
flexibility and reduces dependencies.
Transaction processing
• A database system supports transaction processing,
which involves a series of operations that must be
completed as a single, indivisible unit. Transactions
ensure the consistency and integrity of the data despite
concurrent access and updates by multiple users or
applications.
Provision for multiple views of data
• involves presenting the same underlying data in
different formats or perspectives to meet the needs of
different users or applications.
Backup and recovery facilities
• Database systems offer features for backing up data
regularly and recovering it in case of data loss or
system failure. This ensures data durability and
business continuity by minimizing the risk of data loss
and facilitating recovery in the event of unforeseen
incidents.
Types of databases
1. Centralized Database
2. Distributed Database
3. Personal Database
4. End-user Database
5. Commercial Database
6. NoSQL database
7. Operational Database
8. Relational Database
9. Cloud database
10. Object-oriented Database
11. Graph database
Centralized Database
• A centralized database stores all data in one location or
on a single server. It's like having a central storage unit
where all information is kept.
Example:
• A university database that stores all student records in
a single server located in the university's data center.
• A library catalog system. There is one central database
that contains the catalog records for all books in the
library. Librarians update this single database as new
books are acquired or information needs to be changed.
Distributed Database
• Unlike a centralized database, a distributed database spreads
data across multiple locations or servers. It's akin to having
pieces of the storage unit in different places, but they all work
together seamlessly.
Example:
• A global e-commerce platform where product information is
stored in servers located in different regions to ensure faster
access for customers worldwide.
• A peer-to-peer file sharing network. There is no central server or
database. Instead, each computer in the network stores a portion
of the overall data (files) being shared. If one computer goes
offline, the overall network is not impacted.
Personal Database
• This refers to a database managed by an individual for
personal use, such as organizing contacts, personal
finances, or a collection of recipes. It's like having your
own personal filing cabinet for information that matters
to you.
• Example: A smartphone contact list where an
individual stores names, phone numbers, and email
addresses of friends and family.
End-user Database
• These are databases designed for direct use by end-users without
requiring assistance from IT specialists. Think of it as a user-friendly
database system accessible to non-technical individuals, like a
simplified version of a database that anyone can interact with.
Example:
• Microsoft Access, a database management system that allows
users to create and manage databases using a graphical interface.
• A contacts database in a smartphone. The contacts app allows end
users to store contact information like names, phone numbers,
emails etc. of their friends, family, colleagues etc. This contacts
database is stored locally on the phone and managed by the end
user through the contacts app interface.
Commercial Database
• Commercial databases are those provided by
companies for business purposes. These databases
often offer advanced features, scalability, and support
for managing large volumes of data, suitable for
businesses of varying sizes and industries.
Example:
• The customer database of an ecommerce site like
Amazon. This database stores information about all of
Amazon's customers like name, shipping address, order
history, payment information, etc.
NoSQL database
• NoSQL databases depart from the traditional relational
model and are designed for handling unstructured or
semi-structured data.
• They are highly scalable and offer flexibility in data
storage and retrieval.
• Think of it as a database that doesn't strictly adhere to
the tabular structure of traditional databases.
• Example: MongoDB, a NoSQL database used for storing
and retrieving document-oriented data, commonly used
in web applications.
Structured query language (SQL)
• is a programming language for storing and processing
information in a relational database. A relational
database stores information in tabular form, with rows
and columns representing different data attributes and
the various relationships between the data values.
Operational Database
• An operational database is optimized for handling
transactions and day-to-day operations of an
organization. It's like the engine that powers real-time
data processing, ensuring smooth and efficient
operations.
Operational Database
Imagine a company has an online shopping website. They will need a
database to support real-time transactions and queries as users browse
and purchase products:
• Users login to the website to place orders. The database stores user
accounts and login information.
• The product catalogue is stored in database tables. This enables real-
time queries to display products by category, search products, etc.
• When a user adds items to their shopping cart, the cart data is stored
in tables that link carts to users and products.
• To complete an order, the database processes the transaction -
checking product availability, computing totals, storing order details.
• Past order history and status is also stored and queried from the
database.
Relational Database
• Relational databases organize data into tables with rows
and columns and establish relationships between them.
Think of it as a structured way of storing information,
much like how you'd organize data in a spreadsheet
with different categories.
Cloud database
• Cloud databases are hosted on cloud computing platforms, allowing users
to access and manage data remotely over the internet. They offer
scalability, reliability, and cost-effectiveness, akin to renting storage space
in the cloud for your data needs.
• Amazon RDS (Relational Database Service), a cloud-based service that
provides managed relational databases such as MySQL, PostgreSQL, and
SQL Server.
Example:
• Imagine you have a web application for an e-commerce site. Instead of
managing your own database server, you can use a database-as-a-service
from a cloud provider like Amazon AWS, Google Cloud, or Microsoft Azure.
Advantages: Admin tasks like monitoring, backups, security patches are all
handled by the cloud provider.
Object-oriented Database
• Object-oriented databases store data in the form of
objects, similar to how objects are used in object-
oriented programming. It's like storing data in reusable,
self-contained units that can have their own properties
and behaviors.
Example:
• Imagine you want to model information about books in
a library. In an OODB, you would define a Book class
with attributes like title, author, pageCount, etc. Some
example code:
Graph database
• Graph databases store data in nodes and edges,
representing entities and the relationships between
them, respectively.
• They are especially useful for analyzing and traversing
complex relationships in data, such as social networks
or network infrastructure.
Example:
• Imagine you want to model a social network like
Facebook. In a graph database, you would store users
as nodes (branch). Relationships between users, like
friend connections, would be stored as edges between
the nodes.
Thank you!!!