Choice of Decompositions
There are 2 ways to decompose CSJDPQV into BCNF:
- SDP and CSJDQV; lossless-join but not dep-preserving.
- SDP, CSJDQV and CJP; dep-preserving as well.
The difference between these is really the cost of enforcing the FD JP ? C.
- 2nd decomposition: Index on JP on relation CJP.
- 1st:
CREATE ASSERTION CheckDep
CHECK ( NOT EXISTS ( SELECT *
FROM PartInfo P, ContractInfo C
WHERE P.sid=C.sid AND P.did=C.did
HAVING COUNT (C.cid) > 1 ))