Skip to content


Two-Phase Locking Protocol

Two Phase Locking A transaction is said to follow Two Phase Locking protocol if Locking and Unlocking can be done in two phases. Growing Phase: New locks on data items may […]

Locks, Deadlock Condition

Lock Lock is acquired when any process accesses a piece of data where there is a chance that another concurrent process will need this piece of data as well at […]

Concurrency, ACID Properties

Concurrency Control deals with interleaved execution of more than one transaction. In the next article, we will see what serializability is and how to find whether a schedule is serializable or not. A […]

Join Dependencies and fifth Normal form

Joint dependency – Join decomposition is a further generalization of Multivalued dependencies. If the join of R1 and R2 over C is equal to relation R then we can say that […]

Boyce-Codd Normal Form (BCNF)

Rules for BCNF For a table to satisfy the Boyce-Codd Normal Form, it should satisfy the following two conditions: It should be in the Third Normal Form. And, for any dependency […]

Normal Forms NF3

Requirements for Third Normal Form For a table to be in the third normal form, It should be in the Second Normal form. And it should not have Transitive Dependency. […]

Normal Forms NF2

For a table to be in the Second Normal Form, it must satisfy two conditions: The table should be in the First Normal Form. There should be no Partial Dependency. […]

Normal Forms NF1

If tables in a database are not even in the 1st Normal Form, it is considered as bad database design. Rules for First Normal Form The first normal form expects you […]

Functional Dependencies

In relational database theory, a functional dependency is a constraint between two sets of attributes in a relation from a database. In other words, functional dependency is a constraint that […]

Relational Algebra

Relational algebra is a procedural query language, which takes instances of relations as input and yields instances of relations as output. It uses operators to perform queries. An operator can […]


Large Objects (LOBs) are a set of datatypes that are designed to hold large amounts of data. A LOB can hold up to a maximum size ranging from 8 terabytes to […]

PL/SQL: Cursors

Oracle creates a memory area, known as the context area, for processing an SQL statement, which contains all the information needed for processing the statement; for example, the number of […]

PL/SQL: Functions

A function is same as a procedure except that it returns a value. Therefore, all the discussions of the previous chapter are true for functions too. Creating a Function A […]

PL/SQL: Procedures

A subprogram is a program unit/module that performs a particular task. These subprograms are combined to form larger programs. This is basically called the ‘Modular design’. A subprogram can be invoked by […]

PL/SQL: Triggers

Triggers are stored programs, which are automatically executed or fired when some events occur. Triggers are, in fact, written to be executed in response to any of the following events […]