首先引入定義
無損分解指的是對關系模式分解時,原關系模型下任一合法的關系值在分解之后應能通過自然聯接運算恢復起來。反之,則稱為有損分解。
保持函數依賴的分解指的是對關系分解時,原關系的閉包與分解后關系閉包的並集相等。
從定義來看,可以得到不嚴格但好理解的——
保持無損連接的模式分解,每個Ui必須包含作為連接的屬性。故無損連接的關鍵是作為橋梁的屬性,決定其是否可以通過自然連接恢復。而保持函數依賴的模式分解,是從函數依賴而不是關鍵屬性這個角度入手,產生關聯的屬性要分到一起(一個Ui中。具體的,可按最小函數依賴集相同左部划分。
當然了這兩種分解都是模式分解,必然符合模式分解的大前提,見定義6.16。
具體一點,引入幾個分解算法比較一下: