Normalization is based on the functional dependency and primary key.
1NF- Attribute should be atomic value and there must be no composite attribute no multivalued attribute and no relation with in relation.
By default what ever relation we are creating in the oracle by default it will be in first normal form
2nf - There is no partial dependency. it is based on the full functional dependency. non key attribute should be fully dependent on the key attribute.
e.g
R {pno eno hours ename pname plocation}
given functional dependency
F {{pno eno}-> hours
eno->ename
pno->pname plocation}
in the above relation R ename is dependent on the eno and
pname and plocation are dependent on the pno
so the relation R can be splited in to
R1 {pno eno hours}
R2 {eno ename}
R3 {pno pname plocation}
now all the relations R1 R2 and R3 are in full functional dependency.
3NF - There is no Transitive dependency.
R {eno ename address dno dname}
functional dependency
F1 {eno->{ename address dno}
dno->dname}
if you have transitive dependency in the relation R then decompose the relation R in to R1 and R2
R1 {eno ename address dno}
R2 {dno dname}
def: x->A
x is a super key or A is a prime attribute
in the given dependency F1
dno is not a super key and dname is not a prime attribute.
so the relation R can be decompose into R1 and R2 and in relation R2 dno make it as a primary key.