Skip to content

Latest commit

 

History

History
215 lines (114 loc) · 6.97 KB

File metadata and controls

215 lines (114 loc) · 6.97 KB

DB Summary

[TOC]

DBMS Intro

db_types

DBMS Types

  • Relational Database Management System (RDBMS)
  • NoSQL DBMS
  • Object-Oriented DBMS (OODBMS)
  • Hierarchical Database
  • Network Database
  • Cloud-Based Database

DBMS vs RDBMS

DBMS RDBMS
DBMS stores data as a file. RDBMS stores data in tabular form.
Data elements need to be accessed individually. Multiple data elements can be accessed at the same time.
No relationship between data. Data is stored in the form of tables, which are related to each other.
Normalization is not present. Normalization is present.
DBMS does not support a distributed database. RDBMS supports a distributed database.
It stores data in either a navigational or hierarchical form. It uses a tabular structure where the headers are the column names, and the rows contain corresponding values.
It deals with a small quantity of data. It deals with a large amount of data.
Data redundancy is common in this model. Keys and indexes do not allow Data redundancy.
It is used for small organizations and deals with small amounts of data. It is used to handle a large amount of data.
Not all Codd rules are satisfied. All 12 Codd rules are satisfied.
Security is less More security measures are provided.
It supports a single user. It supports multiple users.
Data fetching is slower for a large amount of data. Data fetching is fast because of the relational approach.
The data in a DBMS is subject to low security levels with regard to data manipulation. There exist multiple levels of data security in an RDBMS.
Low software and hardware necessities. Higher software and hardware necessities.

DBMS Architecture

1-Tier Architecture

1_tier_arch

2-Tier Architecture

2_tier_arch

3-Tier Architecture

3_tier_arch

Relational Algebra

relational_algebra

Relational Model

E-R Notation

symb_used_in_er_notation

alter_er_notation

ER Model

er_model

Enhanced ER Model

enhanced_er_model

Generalization in ER Model

generalization_in_er_model

Specialization in ER Model

specialization_in_er_model

Inheritance in ER Model

inheritance_in_er_model

Aggregation in ER Model

aggregation_in_er_model

Normalization

db_normal_forms_hierarchy

  • First Normal Form (1NF): Eliminating Duplicate Records
  • Second Normal Form (2NF): Eliminating Partial Dependency
  • Third Normal Form (3NF): Eliminating Transitive Dependency
  • Boyce-Codd Normal Form (BCNF): The Strongest Form of 3NF
  • Fourth Normal Form (4NF): Removing Multi-Valued Dependencies
  • Fifth Normal Form (5NF): Eliminating Join Dependency

Denormalization

denormalization

Data Replication

data_replication

Transactions and Concurrency Control

ACID Properties

acid

Concurrency Control Protocols

concurrency_ctl_protocol

Recoverable

log_based_recovery

Storage

Hierarchy

storage_device_hierarchy

disk_mechanism

raid_lvl

Data Abstraction

data_abstraction

  • Physical level. The lowest level of abstraction describes how the data are actually stored.
  • Logical level. The next-higher level of abstraction describes what data are stored in the database, and what relationships exist among those data.
  • View level. The highest level of abstraction describes only part of the entire database.

System structure

system_structure

Indexing

db_index_types

CQRS (Command Query Responsibility Segregation)

cqrs

Summary

SQL vs NoSQL

sql_vs_nosql

Performance Optimization

db_perform

SQL Query Execution

sql_query_execution

Reference

[1] Abraham Silberschatz; Henry F. Korth; S. Sudarshan. Database System Concepts. 6th Edition

[2] DBMS Tutorial

[3] Introduction of DBMS

[4] Types of DBMS Architecture

[5] Introduction of ER Model

[6] Enhanced ER Model

[7] Introduction to Database Normalization

[8] Denormalization in Databases

[9] ACID Properties in DBMS

[10] Lock Based Concurrency Control Protocol in DBMS

[11] Indexing in Databases

[12] Difference Between RDBMS and DBMS

[13] Understanding Database Types

[14] SQL vs NoSQL: Choosing the Right Database for An Application

[15] How CQRS Works?

[16] How SQL Query Executes In A Database?

[17] Database Index Types Every Developer Should Know