안녕하세요.
다음과 같은 릴레이션 있다면
R(a, b, c, d)
FD = (a, b) -> (c, d) , (c -> b)
단연, 기본키는 ab 일 테고, c->b로 인해 bcnf를 위반하고 있는 거 같습니다.
그래서 c->b를 분리해야 하니까
R(c, b) : c는 기본키 릴레이션 하나와
R(a, c, d) 릴레이션 하나로 나눌 수 있을 거 같은데 여기서 기본키는 a만으로는 안되니
(a, b) -> (c, d)를 결정하고 (c) -> (b)를 결정하니 (a, c) -> (d)를 결정할 수 있다고 보고 기본키는 (a, c)로 외래키를 (c)로 볼 수 있나요?