1. p.141의 BCNF 예제 4에서 보면, 수강 릴레이션의 담당교수 속성은 정규화 이후 기본키가 아닙니다. 하지만 p.150의 문제 9번 BCNF 문제를 보면, 물류관리 릴레이션의 관리자 속성은 기본키가 되었습니다. 어느 것이 맞습니까?
2. P.141의 수강 릴레이션에서 학번은 튜플을 구분하는 유일한 속성이 될 수 없으므로 기본키가 될 수 없을 것 같습니다. 그렇다면 학번과 담당교수의 복합속성 기본키만으로 구성된 릴레이션이 되는데, 그게 가능한건가요?
안녕하세요.
1, 2)
초판 교재에 <수강> 테이블의 기본키가 학번으로만 표기되어 수정한 내용입니다.
<수강> 테이블의 기본키는 (학번, 담당교수) 입니다.
학습에 불편을 드려 죄송합니다.
아래의 내용을 참고하세요.
<수강_교수> 테이블의
(학번, 과목명), 담당교수
에서 (학번, 과목명)이 기본키 입니다.
이를 정규화하여
(학번, 담당교수)가 기본키인 수강 테이블과
(담당교수)가 기본키인 교수 테이블로 분해하였습니다.
<창고정보> 테이블의
(물류번호, 창고명), 관리자
에서 (물류번호, 창고명)이 기본키입니다.
이를 정규화하여
(물류번호, 관리자)가 기본키인 물류관리 테이블과
(관리자)가 기본키인 창고관리 테이블로 분해하였습니다.
위 둘의 과정은 동일한 과정입니다.
정규화 전 테이블에서 기본키가 아닌 키를 기본키로 하여 두 번째 테이블을 분리한 것입니다.
오늘도 즐거운 하루 되세요.
-
*2017-08-11 09:32:53
안녕하세요.
1, 2)
초판 교재에 <수강> 테이블의 기본키가 학번으로만 표기되어 수정한 내용입니다.
<수강> 테이블의 기본키는 (학번, 담당교수) 입니다.
학습에 불편을 드려 죄송합니다.
아래의 내용을 참고하세요.
<수강_교수> 테이블의
(학번, 과목명), 담당교수
에서 (학번, 과목명)이 기본키 입니다.
이를 정규화하여
(학번, 담당교수)가 기본키인 수강 테이블과
(담당교수)가 기본키인 교수 테이블로 분해하였습니다.
<창고정보> 테이블의
(물류번호, 창고명), 관리자
에서 (물류번호, 창고명)이 기본키입니다.
이를 정규화하여
(물류번호, 관리자)가 기본키인 물류관리 테이블과
(관리자)가 기본키인 창고관리 테이블로 분해하였습니다.
위 둘의 과정은 동일한 과정입니다.
정규화 전 테이블에서 기본키가 아닌 키를 기본키로 하여 두 번째 테이블을 분리한 것입니다.
오늘도 즐거운 하루 되세요.