Here's the bare minimum for R(A,B,C,D,E,G,H):
{A->E,D->H,D->G,E->C,G->B,G->C,H->D}
Candidate identifiers:
{AH,AD}
What I have tried:
According to the BCNF definition given
here, none of the traits on the left side are SK or CK. As a result, it is not in BCNF. Is it safe to assume that all of the FDs are breaking the BCNF? If so, as the method suggests, take the FD that violates BCNF, for example: X->Y, and perform the R1(XY) and R2(XY) procedures (R-Y)
Apply I need to do that all across the FDs in our case? If I continue this, I will eventually obtain
R1(AE), R2(EC), R3(GB), R4(DH), R5(DG) and R6(AD)
But G->C and H->D are still missing, and R6 isn't in the FD from the start. So that doesn't work.