ACID Properties in DBMS

I am a Tech Enthusiast having 13+ years of experience in ๐๐ as a ๐๐จ๐ง๐ฌ๐ฎ๐ฅ๐ญ๐๐ง๐ญ, ๐๐จ๐ซ๐ฉ๐จ๐ซ๐๐ญ๐ ๐๐ซ๐๐ข๐ง๐๐ซ, ๐๐๐ง๐ญ๐จ๐ซ, with 12+ years in training and mentoring in ๐๐จ๐๐ญ๐ฐ๐๐ซ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ๐ข๐ง๐ , ๐๐๐ญ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ๐ข๐ง๐ , ๐๐๐ฌ๐ญ ๐๐ฎ๐ญ๐จ๐ฆ๐๐ญ๐ข๐จ๐ง ๐๐ง๐ ๐๐๐ญ๐ ๐๐๐ข๐๐ง๐๐. I have ๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐ 10,000+ ๐ฐ๐ป ๐ท๐๐๐๐๐๐๐๐๐๐๐๐ and ๐๐๐๐ ๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐ 500+ ๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐ in the areas of ๐๐จ๐๐ญ๐ฐ๐๐ซ๐ ๐๐๐ฏ๐๐ฅ๐จ๐ฉ๐ฆ๐๐ง๐ญ, ๐๐๐ญ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ๐ข๐ง๐ , ๐๐ฅ๐จ๐ฎ๐, ๐๐๐ญ๐ ๐๐ง๐๐ฅ๐ฒ๐ฌ๐ข๐ฌ, ๐๐๐ญ๐ ๐๐ข๐ฌ๐ฎ๐๐ฅ๐ข๐ณ๐๐ญ๐ข๐จ๐ง๐ฌ, ๐๐ซ๐ญ๐ข๐๐ข๐๐ข๐๐ฅ ๐๐ง๐ญ๐๐ฅ๐ฅ๐ข๐ ๐๐ง๐๐ ๐๐ง๐ ๐๐๐๐ก๐ข๐ง๐ ๐๐๐๐ซ๐ง๐ข๐ง๐ . I am interested in ๐ฐ๐ซ๐ข๐ญ๐ข๐ง๐ ๐๐ฅ๐จ๐ ๐ฌ, ๐ฌ๐ก๐๐ซ๐ข๐ง๐ ๐ญ๐๐๐ก๐ง๐ข๐๐๐ฅ ๐ค๐ง๐จ๐ฐ๐ฅ๐๐๐ ๐, ๐ฌ๐จ๐ฅ๐ฏ๐ข๐ง๐ ๐ญ๐๐๐ก๐ง๐ข๐๐๐ฅ ๐ข๐ฌ๐ฌ๐ฎ๐๐ฌ, ๐ซ๐๐๐๐ข๐ง๐ ๐๐ง๐ ๐ฅ๐๐๐ซ๐ง๐ข๐ง๐ new subjects.
ACID properties are used to maintain consistency in the database before and after the transaction.
ACID properties provide stability in database loading and high security of the data.
ACID Properties
ACID Properties stands for-
Atomicity
Consistency
Isolation
Durability
Atomicity
It simply gives that a transaction is either "PASS" or " FAIL". There is no middle state in them like an update in their data. It also refers to the "All or Nothing "
For example :
Suppose, You are transferring money from your bank account to your friend's Bank account. This Transaction involves 'Withdrawal' and 'Deposit' operations. If the deposit operation failed, you don't want the Withdrawal operation to happen either. Otherwise, that money would disappear.
Lumping Both operations into a single atomic transaction ensures integrity. This is what is called the " Atomicity " in DBMS
Isolation
Isolation Property means multiple transactions can occur Concurrently Without any inconsistency in the database state.
- That is when multiple transactions execute at a single unit of time, then the state of the database must be far all over the transaction period.
For example
Suppose you and your friend are booking a train ticket for Delhi and only one seat is available. Now, both of you simultaneously start booking the seat, which should not be allowed by the database management system, or else either of you will land in trouble. Maybe both will end up booking for the same seat or may be both will pay but only one will have the seat confirmed. Thus, the database should either perform your entire transaction first before executing your friend's or vise-versa.
Durability
The durability property ensures that once the transaction has been completed, The modifications and updates in the database are stored and they persist even if there is a system failure.
That is, some common external factors like system crashes or power failures should not affect the data once the transaction is completed
in the server.
For example
Imagine you have a 10 lakh amount of money in your bank account. The bank database server goes down, all data stored on that server is gone and so your money is gone!!.
So you need Durability, a Fault free system. So Durability ensures the update and modification are stored in the database, even if a system failure occurs.
Consistency
In Consistency property, If any type of transaction exists at the user end, that must be conceived into a valid and legal state in the database.
That is, It ensures that the database remains in a consistent state before the start-up operation and after a transaction is over. If a transaction fails, the database must return to its previous state.
For example
Consistency means all is well, There is no Incorrectness anywhere in the system. If all the three mentioned above can be guaranteed then consistency prevails. There is no separate component in database management software that will ensure consistency.
..
Isolation Property means multiple transactions can occur Concurrently Without any inconsistency in the database state.


