원서로 올림
Database system concepts 5th edition
7.5.1.1 Testing for BCNF
Testing of a relation to see if it satisfies BCNF can be simplified in some cases:
- To check if a nontrivial dependency α->β causes a violation of BCNF, compute α+(the attribute closure of α), and verify that it includes all attributes of R; that is, it is a superkey of R.
- To check if a relation schema R is in BCNF, it suffices to check only the dependencies in the given set F for violation of BCNF, rather than check all dependencies in F+.
We can show that if none of the dependencies in F causes a violation of BCNF, then none of the dependencies in F+ will cause a violation of BCNF either.
Unfortunately, the latter procedure does not work when a relation is decomposed. That is, it does not suffice to use F when we test a relation Ri, in a decomposition of R, for violation of BCNF. For example, consider relation schema R(A,B,C,D,E), with functional dependencies F containing A->B and BC->D. Suppose this were decomposed into R1(A,B) and R2(A,C,D,E). Now, neither of the dependencies in F contains only attributes from (A,C,D,E) so we might be misled into thinking R2 satisfies BCNF. In fact, there is a dependency AC->D in F+(which can be inferred using the pseudotransitivity rule from the two dependencies in F) that shows that R2 is not in BCNF. Thus, we may need a dependecy that is in F+, but is not in F, to show that a decomposed relation is not in BCNF.
영어를 못해서 이해가 안되는게 아니고요 이게 뭔 말이냐고요 ㅋㅋㅋ 애초에
BCNF는 아세요?
F중에 R2의 속성을 포함하는 함수 종속이 없으므로 R2는 BCNF를 만족한다고 오인할 수 있다? 이게 뭔 말이냐고요
BCNF가 당근 이 책에도 설명이 나오는데 알죠
1.α->β가 자명한 종속이다.(즉, β⊃α) 2.α->β에서 α가 R의 슈퍼키이다. 1,2 중에 적어도 한개를 만족할 때 R은 F+와 연관된 BCNF에 있다 고 한다 고 나와있어요
애당초 F중에 R2의 속성을 포함하는 함수 종속이 없으므로 R2는 BCNF를 만족한다고 오인할 수 있다? R2의 속성이 있는거하고 없는거하고 BCNF하고 상관이 있는지 대체