DBMS
DBMS
1. Atomicity:
A transaction is treated as a single unit of work, meaning all operations
must succeed or fail as a whole.
If any part of the transaction fails, the entire transaction is rolled back.
2. Consistency:
A transaction must take the database from one valid state to another,
maintaining all defined rules and constraints.
This ensures data integrity is preserved throughout the transaction
process.
3. Isolation:
Transactions should not interfere with each other.
Even if multiple transactions occur simultaneously, each must operate
as if it were the only one in the system until it is complete.
4. Durability:
Once a transaction is committed, its changes must persist, even in the
event of a system failure.
Advantages of DBMS
Organizing and management of data, large amounts. It provides
features like create, edit, delete, and read.
Data Security: access controls, encryption, and authentication
mechanisms that restrict unauthorized access and safeguard sensitive
information.
Data Indexing, Multi-User support, No data Redundancy (no
unnecessary duplication)
Improved decision-making: generate graphs, reports, and many
visualizations which helps in decision-making.
Data Integrity and Consistency: Changes made in the database are
reflected across all related data points.
Scalability and Flexibility: handle increasing amounts of data.
Disadvantages of DBMS
Complexity: DBMS can be hard to design, implement, and manage,
needing specialized knowledge.
Cost: High setup costs, including hardware, software, and skilled
personnel, can be expensive. Ongoing maintenance adds to the cost.
Performance Overhead: DBMS might slow down simple tasks due to
their extra features and general-purpose nature.
Security Risks: Centralizing data can create security risks. If the
system is hacked, all data could be compromised.
Resource Intensive: DBMS need a lot of memory, storage, and
processing power, which can be costly.
Data Integrity Issues: Complex systems can lead to data integrity
problems if not managed well.
Types of DBMS
1. Relational Database Management System (RDBMS)
RDBMS organizes data into tables (relations) composed of rows and
columns. It uses primary keys to uniquely identify rows and foreign
keys to establish relationships between tables. Queries are written
in SQL (Structured Query Language), which allows for efficient data
manipulation and retrieval.
Examples: MySQL, Oracle, Microsoft SQL Server and Postgre SQL.
2. NoSQL DBMS
NoSQL systems are designed to handle large-scale data and provide
high performance for scenarios where relational models might be
restrictive. They store data in various non-relational formats, such
as key-value pairs, documents, graphs, or columns. These flexible
data models enable rapid scaling and are well-suited for unstructured
or semi-structured data.
Examples: MongoDB, Cassandra, DynamoDB and Redis.
3. Object-Oriented DBMS (OODBMS)