반응형
제4 정규형
1 대 N 다치 종속의 제거이다.
하나의 결정자가 다른 속성에서 여러 종속자를 결정할 때 다치 종속한다고 한다.
한 릴레이션에서 1 대 N으로 관계가 나타나도 되지만, 문제가 되는 부분은 1 : N, 1: N 두 개 이상으로
다치 종속이 구성되어있을 때 이상현상이 발생하므로 중심이 되는 속성을 기준으로 릴레이션을 분리해주어야 한다.
이름 | 과목 | 동아리 |
홍길동 | 데이터베이스 | 농구 |
홍길동 | 보안 | 축구 |
홍길동 | 데이터베이스 | 야구 |
해당 테이블에서 과목을 추가하게 되면, 동아리도 추가를 해줘야 하는 문제가 발생한다.
그러므로 이름, 과목 / 이름, 동아리로 분리해줘야 한다.
제 5 정규형
조인 종속성이 존재하면 제5 정규형 대상이다.
조인 종속성이란 마치 조인을 한 것과 같은 릴레이션의 중복을 제거해주는 것을 말한다.
이름 | 과목 | 동아리 |
홍길동 | 데이터베이스 | 농구 |
홍길동 | 데이터베이스 | 야구 |
홍길동 | 보안 | 농구 |
홍길동 | 보안 | 야구 |
홍길동 | 자바 | 농구 |
홍길동 | 자바 | 야구 |
해당 테이블만 놓고 보면 이름과 과목은 연관성이 있고, 이름과 동아리 또한 연관성이 존재한다.
즉, 이름 속성을 기준으로 연관성을 가지므로 조인 종속성이 존재한다고 볼 수 있다.
조인 종속성을 제거하여 분리하면
이름, 과목 / 과목, 동아리 / 이름, 동아리 3개의 테이블이 나오게 된다.
이름, 과목
홍길동 | 데이터베이스 |
홍길동 | 보안 |
홍길동 | 자바 |
과목, 동아리
데이터베이스 | 농구 |
데이터베이스 | 야구 |
보안 | 농구 |
보안 | 야구 |
자바 | 농구 |
자바 | 야구 |
이름 동아리
홍길동 | 농구 |
홍길동 | 야구 |
2개의 테이블을 조인하면 본래의 릴레이션을 형성할 수 없다.
3개의 테이블을 전부 사용하여 조인해야 본래 테이블로 복구가 가능하다.
반응형
'CS > Database' 카테고리의 다른 글
[Mysql] rownum 활용 (0) | 2022.07.20 |
---|---|
[데이터베이스] 무결성 제약 조건 (0) | 2022.06.15 |
[Database] MYSQL SQL 총정리 (0) | 2022.05.03 |
[MYSQL] 각종 도구 사용 명령어 (0) | 2022.05.03 |
[데이터베이스] 자연 키 vs 대리 키 (0) | 2022.04.22 |