Multiple Granularity Locking Protocol

What
Multiple granularity locks allow us to lock at different granularities (database, tables, pages, tuples). This is useful because we can choose different granularities for different transactions.it is just alocking protocol like binary locking and two phase locking protocol.

Why
Specifying granularities is important because we often do not need to lock at the highest granularity and therefore, free up objects that would otherwise still be locked.

Strategy
We introduce a concept called? '''intention? '''locks which give the transaction the right to request locks at finer granularities
 * IS - intention to get an S lock at finer granularity
 * IX - intention to get an X lock at finer granularity
 * SIX mode - like a S and IX lock