아니 씨발 이게 뭔 말이냐고? 주변에 실력 좋은 사람들한테 물어봐도 다 모르겠다고 할 정돈데 아니 뭐 이따위로 써놨냐고 책 병신같애 버려야되나?


 내용은 이 밑에 --------------------


 

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 a->b causes a violation of BCNF, compute a+(the attribute closure of a), 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 violaton 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 decompositon 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 dependecies 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 dependency that is in F+, but is not in F, to show that a decomposed relation is not in BCNF


본문 한글 해석(번역서)

7.5.1.1 BCNF에 대한 검사


어떤 릴레이션이 BCNF를 만족하는가는 몇몇 경우에 있어서 다음과 같이 간략하게 검사할 수 있다.


- 자명하지 않은 종속 α->β가 BCNF를 침해하게 되는 경우, α+(α의 속성 폐포)를 구하고, 그것이 R의

모든 속성을 포함하는지 즉, R의 슈퍼키인지를 확인한다.

- 릴레이션 스키마 R이 BCNF에 속할 때, F+의 모든 함수 종속에 대해 확인하는 것이 아니라, 주어진

함수 종속 집합 F에서 BCNF를 침해하는 함수 종속만을 확인하는 것만으로도 충분하다.


만일 BCNF를 침해하는 F의 종속이 하나도 없는 경우에는 F+의 어떠한 종속들도 BCNF를 침해하지

않음을 보일 수 있다.


불행히도 후자의 프로시저는 릴레이션이 분해되었을 경우에는 동작하지 않는다. 즉 R의 분해 중

BCNF를 침해하는 Ri에 대해 검사할 때 F를 사용하는 것은 충분치 않음을 말한다. 예를 들어

A->B,BC->D를 포함하는 함수 종속 F를 가지는 릴레이션 스키마 R(A,B,C,D,E)를 보자. 이 스키마가

R1(A,B)와 R2(A,C,D,E)로 분해되었다고 가정하자. 그렇다면 F의 어떤 종속도 (A,C,D,E)의 속성을

포함하지 않으므로, R2가 BCNF를 만족한다고 생각할 것이다. 사실은 F+에 AC->D라는 종속이 있으며

(이는 F의 두 종속에서 가이행 규칙에 따라 유추할 수 있다)이는 R2가 BCNF가 아님을 보여준다.

따라서 분해된 릴레이션이 BCNF가 아님을 보이기 위해서는 F에는 없지만 F+에는 존재하는 종속이

필요한 것이다.


용어 설명 

F+ : 함수 종속 집합 F에서 추론될 수 있는 모든 함수종속 집합

a+ : a->b꼴의 함수 종속에서 함수 종속 집합 F로부터 a를 좌변으로 하는 모든 가능한 우변의 집합 


그러니까 릴레이션 스키마 R이 BCNF를 만족하는지 검사하는 간략화된 검사로써 릴레이션 스키마가 가지는 함수종속 F가 BCNF를 침해하는지만 검사하면 되는데 분해된 릴레이션의 경우에는 이 방법이 통하지 않는다

예를 들어 함수종속 F : A->B와 BC->D를 가지는 릴레이션 R(A,B,C,D,E)이 두 릴레이션 R1(A,B)와 R2(A,C,D,E)으로 분리되었을 때 함수종속 F의 어떠한 종속도 A,C,D,E의 속성만으로 이루어진게 없기 때문에 R2는 BCNF를 만족한다고 오인할 수 있다. 그러나 F+에 AC->D라는 종속이 있기 때문에(이는 F에서 가이행규칙에 의해 유도될 수 있음) R2는 BCNF를 만족하지 않는다.

이 말인데 이게 무슨 말인지 모르겠어 내가 이해가 안되는 부분은 "함수종속 F의 어떠한 종속도 A,C,D,E의 속성만으로 이루어진게 없기 때문에 R2는 BCNF를 만족한다고 오인할 수 있다." 이 부분이야