Calculating attribute closures: {A}+ = {A} {B}+ = {B, C} {C}+ = {C} {D}+ = {A, D} {A, B}+ = {A, B, C} {A, C}+ = {A, C} {B, C}+ = {B, C} {A, D}+ = {A, D} {B, D}+ = {A, B, C, D} <--- Composite minimum candidate key {C, D}+ = {A, C, D} {A, B, C}+ = {A, B, C} {A, B, D}+ = {A, B, C, D} <--- Superkey {A, C, D}+ = {A, C, D} {B, C, D}+ = {A, B, C, D} <--- Superkey {A, B, C, D}+ = {A, B, C, D} <--- Superkey {B, D} is candidate key Lets check for Highest normal form: FOR BCNF LEFT SIDE FUNCTION DEPENDENCY SHOULD BE A SUPER KEY B->C [ B IS SUPERKEY AS IT IS A PART OF CANDIDATE KEY BD] SO IT IS IN BCNF D-> [D IS SUPERKEY AS IT IS A PART OF CANDIDATE KEY BD] SO IT IS ALSO IN BCNF ALL CONDITION SATISFY FOR BCNF SO HIGHEST NORMAL FORM IS BCNF.