Результат декомпозиции универсального отношения проверяют на свойство "соединение без потерь". Пусть универсальное отношение, имеющее схему R=(A1, A2, ...,An), разложено на k отношений со схемами (R1, R2, ... ,Rk), использующих множество F функциональных зависимостей. Алгоритм проверки на свойство "соединение без потерь" заключается в следующем.
Строится таблица с n столбцами и k строками, причем j-й столбец сопоставляется j-му атрибуту Aj , а i-я строка i-й схеме отношения Ri . На пересечении i-й строки и j-го столбца записывается символ aj , если атрибут Aj входит в схему отношения Ri ; в противном случае записывается символ bij . После составления таблицы перебираем поочередно функциональные зависимости X -> Y из множества F . В таблице выделяем столбцы с атрибутами из агрегата X и проходим по строкам. В случае обнаружения одинаковых в пределах агрегата X строк преобразуем столбцы из агрегата Y по следующему правилу: если в столбцах из агрегата Y один из символов aj , то и другие делаем равными aj; если же ни один из символов не равен aj , то другие символы делаем одинаковыми, а именно равными одному из bij .
Если после преобразований образуется хотя бы одна строка только из aj , то свойство соединения без потерь присутствует.
Пример. Пусть исходное отношение R=(A, B, C, D, E) было разложено на пять отношений
R1=(A, D) , R2=(A, B) , R3=(B, E) , R4=(C, D, E) , R5=(A, E)
и было создано множество функциональных зависимостей F:
A -> C , B -> C , C -> D , (D, E) -> C , (C, E) -> A.
Создаем исходную таблицу по схемам R:
| A | B | C | D | E |
1 | a1 | b12 | b13 | a4 | b15 |
2 | a1 | a2 | b23 | b24 | b25 |
3 | b31 | a2 | b33 | b34 | a5 |
4 | b41 | b42 | a3 | a4 | a5 |
5 | a1 | b52 | b53 | b54 | a5 |
Обрабатываем зависимости A -> C и B -> C:
| A | B | C | D | E |
| A | B | C | D | E |
1 | a1 | b12 | b13 | a4 | b15 |
| a1 | b12 | b13 | a4 | b15 |
2 | a1 | a2 | b13 | b24 | b25 |
| a1 | a2 | b13 | b24 | b25 |
3 | b31 | a2 | b33 | b34 | a5 |
| b31 | a2 | b13 | b34 | a5 |
4 | b41 | b42 | a3 | a4 | a5 |
| b41 | b42 | a3 | a4 | a5 |
5 | a1 | b52 | b13 | b54 | a5 |
| a1 | b52 | b13 | b54 | a5 |
Обрабатываем зависимости C -> D и (D, E) -> C:
| A | B | C | D | E |
| A | B | C | D | E |
1 | a1 | b12 | b13 | a4 | b15 |
| a1 | b12 | b13 | a4 | b15 |
2 | a1 | a2 | b13 | a4 | b25 |
| a1 | a2 | b13 | a4 | b25 |
3 | b31 | a2 | b13 | a4 | a5 |
| b31 | a2 | a3 | a4 | a5 |
4 | b41 | b42 | a3 | a4 | a5 |
| b41 | b42 | a3 | a4 | a5 |
5 | a1 | b52 | b13 | a4 | a5 |
| a1 | b52 | a3 | a4 | a5 |
Обрабатываем зависимость (C, E) -> A:
| A | B | C | D | E |
1 | a1 | b12 | b13 | a4 | b15 |
2 | a1 | a2 | b13 | a4 | b25 |
3 | a1 | a2 | a3 | a4 | a5 |
4 | a1 | b42 | a3 | a4 | a5 |
5 | a1 | b52 | a3 | a4 | a5 |
Строка 3 состоит только из символов aj, а это означает, что свойство соединения без потерь имеет место и, следовательно, декомпозиция отношения была выполнена без ошибок.