반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

오늘부터 공부한다

데이터베이스 BCNF란? 본문

데이터베이스

데이터베이스 BCNF란?

1000hg 2019. 11. 8. 11:15
반응형

BCNF는 제 3 정규화 + 모든 결정자(X)가 후보키인 정규형이다.

 

제 3 정규형에는 후보키가 여러 개 존재하고, 후보키들이 서로 중첩되는 경우에만 사용할 수 있다.

 

 

기본키는 (학번, 과목명)이다.

따라서 이는 담당교수의 결정자가 된다.

 

결정자를 결정하는 다른 경우를 살펴본다.

 

1. 학번일 경우,

 

171749은 데이터베이스, 네트워크를 가졌으며,

=담당 교수도 홍길동, 유관순으로 X에 따라 Y가 결정되지 않는다.

 

따라서 학번은 결정자가 아니다.

 

 

2. 과목명일 경우,

 

데이터베이스가 홍길동과 이순신을 가르킨다.

따라서 담당교수를 결정하지 않는다.

 

과멱명 또한 학번이 다르기에 과목명은 결정자가 아니다.

 

 

3. 담당교수의 경우,

 

홍길동 -> 데이터베이스, 이순신 -> 데이터베이스, 유관순 ->

네트워크로 담당교수는 과목을 결정한다. 따라서 담당교슈 -> 과목명이다.

 

 

요약

 

(학번, 과목명) -> 담당교수.

(학번, 담당교수) -> 과목명

(담당교수) -> 과목명

 

BCNF는 모든 결정자가 후보키여야한다.

그러나 담당교수는 (수강_교수)테이블에서 후보키가 아니다.

 

따라서 아래의 그림처럼 후보키가 아닌 속성을 분리하여 BCNF를 만족하게 만들어야한다.

 

 

반응형

'데이터베이스' 카테고리의 다른 글

ORM이란?  (0) 2021.06.24
데이터베이스 이상 현상(Anomaly)  (0) 2019.10.15
데이터베이스 정규화  (0) 2019.10.15
무결성 제약조건  (0) 2019.10.11
트랜잭션(Transaction) 내용 추가 및 기타  (0) 2019.10.08