-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7d2a631
commit c6735cc
Showing
2 changed files
with
64 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
## 정규화란? | ||
|
||
관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화 하는 프로세스. 데이터의 중복성을 제거, 사입/삭제/갱신 이상을 제거하는 것이 핵심 | ||
|
||
## 데이터베이스 정규화의 목적 | ||
|
||
- 중복 데이터를 최소화하여 데이터 불일치 위험 최소화 | ||
- 수정, 삭제 시 이상현상을 최소화하여 데이터 구조의 안정성을 최대화 | ||
- 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다 | ||
- 데이터 삽입시 릴레이션 재구성에 대한 필요성을 줄인다 | ||
- 효과적인 검색 알고리즘을 생성할 수 있다 | ||
|
||
## 이상 현상 | ||
|
||
정규화 되지 않는 경우 발생하는 현상 | ||
|
||
- 데이터 중복성으로 릴레이션을 조작할 때 발생하는 비합리적 현상 | ||
- 삽입, 삭제, 갱신 이상 | ||
|
||
## 데이터베이스 정규화 단계 | ||
|
||
- 1정규형 : 원자 값으로 구성 | ||
- 2정규형 : 부분 함수 종속 제거 | ||
- 3정규형 : 이행 함수 종속 제거 | ||
- 보이스-코드 정규형 : 결정자 함수 종속 | ||
- 4정규형 : 다치(다중 값) 종속성 제거 | ||
- 5정규형 : 조인 종속성 제거 | ||
|
||
## 1정규화 | ||
|
||
1. 모든 Domain 이 원자값 만으로 되어 있다 | ||
2. 반복되는 그룹이 나타나지 않는다 | ||
3. 기본키를 이용하여 관련 데이터의 집합을 고유하게 식별할 수 있다. | ||
- 테이블 내의 속성 값은 원자값위반 | ||
|
||
![image](https://user-images.githubusercontent.com/63634505/133640725-58d9ccc4-bad3-4593-8d74-f74aee911a86.png) | ||
|
||
- 반복되는 그룹 (2 위반) | ||
|
||
![image](https://user-images.githubusercontent.com/63634505/133640824-eb3f6e51-2b2a-4d35-985c-0c21c46524ab.png) | ||
|
||
- 기본키를 이용하여 데이터 집합 고유 식별 불가 | ||
|
||
![image](https://user-images.githubusercontent.com/63634505/133640902-0be09a31-1990-4c3c-9279-97f6a3bd2b33.png) | ||
|
||
## 2정규화 | ||
|
||
제2 정규화를 수행하면 테이블의 모든 컬럼이 완전 함수적 종속을 만족한다 | ||
|
||
- 함수적 종속 : X의 값에 따라 Y 값이 결정될 때 | ||
|
||
![image](https://user-images.githubusercontent.com/63634505/133640290-52848acc-88f5-4a44-8bcb-f756dc42430e.png) | ||
|
||
![image](https://user-images.githubusercontent.com/63634505/133640398-0a27f1be-14be-4c32-9c44-bfa24b935023.png) | ||
|
||
![image](https://user-images.githubusercontent.com/63634505/133640512-4998e563-5c48-4ea5-92fb-b4c67ca134ad.png) | ||
|
||
## 3정규화 | ||
|
||
1. Relation 이 2정규화 되었다. | ||
2. 기본키가 아닌 속성들은 기본키에만 의존해야한다. | ||
- 2번째 조건 위반 | ||
|
||
![image](https://user-images.githubusercontent.com/63634505/133640064-55aa6101-2513-428c-9e81-cc65dde8e2c9.png) |
Empty file.