일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- sql
- 집합 연산
- JAVA JVM
- 트랜잭션의 특성
- 오라클
- java
- 기본 속성
- 발생시점에 따른 엔터티의 종류
- 자바JVM
- 속성의 종류
- 파생 속성
- alert경고창
- 자바스크립트경고창
- css 선택자
- 결합 연산
- 고립성
- 연속성
- 속성의 특징
- 관계 연산
- 제이쿼리text
- 유형과 무형에 따른 엔터티 종류
- Oracle
- 복합 속성
- 자바스크립트innerText
- 단일 속성
- SQL문의 실행 순서
- 다중값 속성
- SQL 종류
- 설계 속성
- 테이블의 구조
Archives
- Today
- Total
wms's Programming&Study
[SQLD - PART1] 2. 데이터 모델과 성능 - ① 정규화 본문
1) 정규화
- 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법이며 데이터를 분해하는 과정
- 데이터의 중복을 제거하고 데이터 모델의 독립성을 확보하기 위한 방법
정규화 절차 | 설명 |
제 1정규화 | - 속성의 원자성을 확보 - 기본키를 설정 |
제 2정규화 | - 기본키가 2개 이상의 속성으로 이루어진 경우, 부분 함수 종속성을 제거(분해) |
제 3정규화 | - 기본키를 제외한 칼럼 간에 종속성 제거 - 이행 함수 종속성을 제거 |
BCNF | - 기본키를 제외하고 후보키가 있는 경우, 후보키가 기본키를 종속시키면 분해 |
제 4정규화 | - 여러 칼럼들이 하나의 칼럼을 종속시키는 경우 분해하여 다중 값 종속성을 제거 |
제 5정규화 | - 조인에 위햐서 종속성이 발생되는 경우 분해 |
2) 함수적 종속성
- 함수적 종속성 : A가 변화할 때 B도 변화한다면 함수적으로 종속한다.
- 부분 함수 종속성 : 기본키가 2개 이상의 칼럼으로 이루어진 경우 발생, 새로운 테이블이 도출
- 이행 함수 종속성 : 기본키를 제외하고 칼럼간에 종속성이 발생
[1] 제 1정규화
- 속성을 보고 한 개의 속성으로 유일성을 만족할 수 있는지 확인
-> 안된다면 2개의 조합으로 유일성을 만족할 수 있는지 확인
- 엔터티의 유일성을 만족하는 식별자를 찾는 과정
[2] 제 2정규화
- 기본키가 2개 이상의 칼럼으로 이루어진 경우 대상이며 기본키가 1개의 칼럼으로 이루어진 경우 생략
- 부분 함수 종속성 제거
- 모든 속성이 식별자에 종속해야 하며 그렇지 않은 경우 분해
[3] 제 3정규화
- 이행 함수 종속성 제거
- 제 1정규화와 제 2 정규화를 수행한 다음에 수행
[4] BCNF
- 복수의 후보키가 있고 후보키들이 복합 속성이어야 하며 서로 중첩되어야 한다.
< 참고자료 >
'데이터베이스 > SQL Developer' 카테고리의 다른 글
[SQLD - PART2] 1. SQL 기본 - ② SQL 종류 (0) | 2019.10.13 |
---|---|
[SQLD - PART2] 1. SQL 기본 - ① 관계형 데이터베이스 (0) | 2019.10.12 |
[SQLD - PART1] 1. 데이터 모델링 - ⑤ 관계(Relationship) (0) | 2019.10.06 |
[SQLD - PART1] 1. 데이터 모델링 - ④ 속성(Attribute) (0) | 2019.10.05 |
[SQLD - PART1] 1. 데이터 모델링 - ③ 엔터티(Entity) (0) | 2019.10.04 |