# What is PJNF(Project-Join Normal Form)?

• Last Updated : 22 May, 2020

Fifth normal form (5NF), is also known as project-join normal form (PJNF). It is a level of database normalization designed to reduce redundancy in relational databases. A relation is said to be in 5NF if and only if it satisfies 4NF and no join dependency exists. A relation is said to have join dependency if it can be recreated by joining multiple sub relations and each of these sub relations has a subset of the attributes of the original relation.

Condition for join dependency:
If the join of R1 and R2 over Q is equal to relation R then we can say that a join dependency exists, where R1 and R2 are the decomposition R1 (P, Q) and R2 (Q, S) of a given relation R (P, Q, S). R1 and R2 are a lossless decomposition of R.

Properties of 5NF:
A relation R is in 5NF if and only if it satisfies following conditions:

• R should be in 4NF (no multi-valued dependency exists).
• It cannot undergo lossless decomposition (join dependency)

Example: Consider the relation R below having the schema R(supplier, product, consumer). The primary key is a combination of all three attributes of the relation.

Table 1
supplierproductconsumer
S1P1C1
S1P2C1
S2P1C1
S3P3C3
Table 2
supplierproduct
S1P1
S1P2
S2P1
S3P3
Table 3
consumerproduct
C1P1
C1P2
C3P3
Table 4
supplierconsumer
S1C1
S2C1
S3C3

Explanation:
Table 2, Table 3 and Table 4 when joined yield the original table (Table 1). Hence join dependency exists in Table 1, therefore Table 1 is not in 5NF or PJNF. However Table 2, Table 3 and Table 4 satisfy 5NF as it has no multivalued dependency and cannot be decomposed further (join dependency does not exists). But this might not be true in all cases i.e., when we combine the decomposed tables, the resultant table may not be equivalent to the original table, in that case the original table is said to be in 5NF provided it is already in 4NF. However, 5NF is not applied in practical scenarios and remains limited to theoretical concepts.

My Personal Notes arrow_drop_up