以F={C→A,CG→BD,CE→A,ACD→B}为例
1.拆分右侧
CG→BD拆分为CG→B和CG→D
2.去除某依赖关系的左边自身能推出的右边,通过剩下的依赖关系是否能推出这个依赖关系的右边,不能则保留这个依赖关系,能则去除。
①去除C推出的A,C→C,保留C→A
②去除CG推出的B,CG→CGAD→CGADB,去除CG→B
③去除CG推出的D,CG→CGBA,保留CG→D
④去除CE推出的A,CE→CEA,去除CE→A
⑤去除ACD推出的B,ACD→ACD,保留ACD→B
3.将左侧最小化(例:左侧的ABC当中,A是否能通过BC推出,B是否能通过AC推出,C是否能通过AB推出,能则去掉,不能则留下)
经过第二步剩下的依赖集是{C→A,CG→D,ACD→B},由于在左边,C可以推出A,所以ACD减为CD
最终,最小依赖集{C→A,CG→D,CD→B}