請設計一個程式findkeys.c,該程式需要找到使用者輸入的relation的keys及superkeys。其中程式的需求如下,使用者輸入一個relation(欄位≤20個),之後再輸入一個正整數n表示要輸入的FD(functional dependency)的數量,緊接著輸入所有的FD,最後輸出該relation中的keys及superkeys分別有哪些?此程式的輸入檔格式如下:
此程式的執行結果可參考如下:
[11:19 user@ws proj1] cat in1 R(ABCD) 2 B->C B->D [11:19 user@ws proj1] ./a.out < in1 keys: {AB} superkeys: {ABCD} {ABC} {ABD} [11:19 user@ws proj1] cat in4 R(ABCDEFGH) 6 A->C D->E AD->H BCF->H BCD->E BDFG->E [11:19 user@ws proj1] ./a.out < in4 keys: {ABDFG} superkeys: {ABCDEFGH} {ABCDEFG} {ABCDFGH} {ABDEFGH} {ABCDFG} {ABDEFG} {ABDFGH}