반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- kubernetes
- 알고리즘정렬
- java
- 이펙티브 자바
- 카카오 면접
- effectivejava
- JavaScript
- Effective Java 3
- 엘라스틱서치
- 티스토리챌린지
- Sort
- 카카오
- 자바스크립트
- Spring
- 오블완
- 클린아키텍처
- 이차전지관련주
- 스프링 핵심원리
- k8s
- 스프링부트
- 예제로 배우는 스프링 입문
- 스프링핵심원리
- 스프링
- 이펙티브자바
- 코딩테스트
- 김영한
- ElasticSearch
- 자바
- Effective Java
- 알고리즘
Archives
- Today
- Total
Kim-Baek 개발자 이야기
RDB, NoSQL, CAP, PACELC, ACID, 정규화 본문
제 2정규화를 수행 했을 경우 테이블의 모든 컬럼이 완전 함수적 종속을 만족한다.(부분 함수적 종속을 모두 제거되었다.) 이를 이해하기 위해서는 부분 함수적 종속과 완전 함수적 종속이라는 용어를 알아야 한다.
- 함수적 종속: X의 값에 따라 Y값이 결정될 때 X -> Y로 표현하는데, 이를 Y는 X에 대해 함수적 종속 이라고 한다. 예를 들어 학번을 알면 이름을 알 수 있는데, 이 경우엔 학번이 X가 되고 이름이 Y가 된다. X를 결정자이라고 하고, Y는 종속자라고 한다. 다른 말로 X가 바뀌었을 경우 Y가 바뀌어야만 한다는 것을 의미한다.
- 함수적 종속에서 X의 값이 여러 요소일 경우, 즉, {X1, X2} -> Y일 경우, X1와 X2가 Y의 값을 결정할 때 이를 완전 함수적 종속이라고 하고, X1, X2 중 하나만 Y의 값을 결정할 때 이를 부분 함수적 종속 이라고 한다.
예시를 들어 살펴보자.
위에서 Model과 Manufacturer를 알면 Model Full Name 필드를 아예 유지하지 않거나 참조하지 않아도 결정되기 때문에, {Model, Manufacturer} -> Model Full Name 이라고 할 수 있다. 하지만 {Model, Manufacturer} -> Manufacturer Country에서 Model과 Manufacturer Country는 아무런 연관 관계가 없기 때문에, Manufacturer Country는 Manufacturer와만 종속관계에 있게 되고 이를 부분 함수 종속이라고 하게 되는 것이다. 아래의 그림을 보면 쉽게 이해할 수 있다.
위에서 부분 함수 종속을 제거 하게 되면, 아래와 같은 그림이 된다.
따라서, 부분 함수 종속을 제거한 이후의 테이블은 아래와 같고, 이는 제 2정규형을 만족한 테이블이다.
반응형
'컴퓨터 공학 > DB' 카테고리의 다른 글
MongoDB Audit (1) | 2024.12.10 |
---|
Comments