An overview of the Database Management System, various uses and applications of database, internal architecture of popular RDBMS servers and thier features
3. More about me12 years of Oracle DBA experience
Various Industry verticals
Retail, Insurance, Freight and Logistics
Interests: Linux, Perl, Python, C
Likes: Music, Food, Travel, …
6. Database Fundamentals
+ What is a Database Management System
+ Database Concepts
+ Popular Database Softwares
+ Database Applications
+ Working with Databases
+ Job roles and duties of Database Professionals
7. What is a Database
A Database Management System
Or just a database is a collection of
software programmes for
managing data,
It helps to STORE, RETRIEVE, and
MANIPULATE data in an efficient
manner.
8. Database Concepts
Database Model
A database model is a
type of data model
that defines the logical
structure of a
database and
determines in which
manner data can be
stored, organized, and
manipulated.
By Marcel Douwe Dekker - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=5679857
9. Database Concepts
The Relational model
Proposed by Edgar F. Codd in 1970 broke of
from the tradition of hierarchical model
and insisted that applications should
search for data by content, rather than
following links. The relational model
employs sets of ledger-style tables, each
used for a different type of entity.
By mid-1980s relational systems (DBMSs
plus applications) became popular owing
to the advent of better computer
hardware. (Source : Wikipedia)
By U.S. Department of Transportationvectorization: Own work - Data Integration Glossary., Public Domain, https://commons.wikimedia.org/w/index.php?curid=17875170
10. Database Concepts
Tables / Relations
A table is an accepted
visual representation
of a relation; a tuple is
similar to the concept
of a row. It is a set of
column definitions
along with the data
appearing in that
structure.
Columns /Attributes
Attribute is the term
used in the theory for
what is commonly
referred to as
a column.
Rows / Tuples
A row is a collection of
column values in a
specific order which
has a one to one
mapping with the
attribute name.
11. Database Concepts
Constraints
Constraints enforce
consistency of data in a
relational database.
Rules that govern data
stored in tables.
Rules to define
relationships between two
tables.
Primary Key, Foreign Key,
Not Null, Check, Unique.
Transaction
A transaction can be
defined as a group of
tasks. A single task is
the minimum
processing unit which
cannot be divided
further.
Transaction is
completed with a
Commit/Rollback
ACID Properties of
Transactions
Atomicity − This property states
that a transaction must be treated
as an atomic unit, that is, either all
of its operations are executed or
none.
Consistency − The database must
remain in a consistent state after
any transaction.
Durability − The database should be
durable enough to hold all its latest
updates even if the system fails or
restarts.
Isolation − In a multi transactional
database system, No transaction
will affect the existence of any other
transaction.
15. Working with databases
SQL (Structured Query
Language)
Declarative, Non-
Programming Language used
to Interact with the database.
Allows to CREATE, ALTER and
DROP Data objects i.e. Tables
and one can SELECT, INSERT,
UPDATE and DELETE data
from tables using SQL.
SQL Users
+ Database Application
Developers
+ Database Administrators
+ Data Analysts
16. Working with databases
SQL Basics
SQL Statements fall under the
following categories
+ DDL (Data Definition
Language)
+ DML (Data Manipulation
Language)
+ SELECT (query data from
one or more tables)
+ DCL (Data Control
Language)
+ TCL (Transaction Control
Language)
SQL Examples
create table emp(
empno number(4,0),
ename varchar2(10),
job varchar2(9),
mgr number(4,0),
hiredate date,
sal number(7,2),
comm number(7,2),
deptno number(2,0),
constraint pk_emp primary key (empno),
constraint fk_deptno foreign key (deptno) references dept (deptno)
);
insert into emp values( 7839, 'KING', 'PRESIDENT',
null, to_date('17-11-1981','dd-mm-yyyy'), 5000, null, 10);
SELECT EMP.*,DNAME,LOC FROM Emp, Dept WHERE Dname IN
('ACCOUNTING','RESEARCH') AND EMP.DEPTNO = DEPT.DEPTNO
ORDER BY EMP.DEPTNO
17. Working with databases
Programmability
Most popular databases have
a feature called STORED
PROCEDURES which are
program units that can be
created and stored within the
database
Helps to store business
specific logic within the
database which improves
performance
18. Job roles and duties of Database Professionals
Developers
• Responsible for creating and
managing application, Write code for
creating and managing frontent UI
• Write code for creating and
managing backend or business logic
• Design relational and logical design
of database and Perform
Normalization of tables
DBA
• Responsible for creating and
managing databases
• Take care of data security
• Support DB users when there is a
database problem
• Responsible for Managing DR and HA
Data Analysts
• Work on BI tools
• Create Business reports
• Perform trend analysis
21. Database Client Components
Database Client Drivers
+ Programmable APIs
written in a 3GL
+ Enables client applications
to connect and Interact
with RDBMS systems
independent of the RDBMS
implementation.
+ Eg : ODBC, JDBC, ADO.net
etc
Database Native Tools
+ Tools provided by the
RDBMS vendor to connect
and interact with the
RDBMS System
+ Vendor Specific
implementation/APIs
+ Provides more features
22. Database Server Components
DBMS Engine
+ Manage user
connections/sessions
+ Manage File I/O
+ Ensure data recoverability
and Consistency
Query Processor
+ Parse and Execute SQL
+ Ensure Read Consistency of
SELECT queries
+ Return Rows to users in the
case of SELECTs
+ Invoke transaction
processor for DMLsTransaction Processor
+ Begin and End Transactions
+ Manage ACID properties for the transaction
+ Assist query processor to maintain read
consistency
23. Database Server Components
Data Dictionary
+ Metadata repository
+ Set of tables which store
data about the DB objects
Job Scheduler
+ Manage database jobs
+ Monitor Job execution
+ Log job execution status
Query Optimizer
+ Prepare Execution plans for SQL
+ Optimizes Execution plan for better
performance.
30. Advantages
+ Cost Savings (Pay per use
model)
+ Need Based Provisioning
+ Reduce Investments,
Increase Returns
+ Lower operating costs
+ Standardization
Database in the Cloud : DBaaS
Technical Features
+ Consolidation Platform
+ Virtualization
+ Multi Tenancy
+ Provider Managed High
Availability and Disaster
Recovery
32. + Table and Index Partitions
+ Geo Spatial Data
+ Full Text Search
+ Database Replication
+ Database High Availability
+ Disaster Recovery
Database Features
40. Credits
Special thanks to all the people who made and
released these awesome resources for free:
+ Presentation template by SlidesCarnival
+ Photographs by Unsplash