오라클 DBMS 정리 17
13 Nov 2018
Reading time ~1 minute
오라클 DBMS 정리 17 - 정규화
Table = Entity = Relation
- Column = Field = Attribute
- Columns = Relation Schema
- 컬럼의 수 = Degree
- Record, Row = Tuple
- Records = Relation Instance
- 튜플의 수 = Cardinality
정규화 (Normalization)
- 테이블을 나눠 이상현상을 없애는 것
- 1NF-2NF-3NF-BCNF-4NF-5NF
- 도부이결다조..(시나공)
- 1NF - 도메인의 원자성이 된 상태
- 2NF - 부분 함수 종속 제거된 상태
- 3NF - 이행적 함수 종속 제거된 상태
- 보통 3정규형까지 정규화 진행
- BCNF - 후보키가 아닌 결정자가 제거된 상태
- 4NF - 다치 종속 제거
- 5NF - 조인 종속 제거
- 역정규화
- 진행된 정규화를 이전 상태로 되돌리는 것
- 결정자, 종속자
- 결정자는 키, 종속자는 키로 식별할 수 있는 값
- 완전함수종속
- 결정자로만 의미있는 데이터를 검색할 수 있는 것
- 부분함수종속
- 결정자가 여러컬럼으로 구성될 때 그 중 하나의 컬럼으로만 컬럼을 사용하여 의미있는 레코드를 검색할 수 있는 것
- 비정규 테이블
- 도메인이 원자값을 갖도록 만듦 -> 1NF
- 다가속성
- 컬럼에 여러개의 값을 가지게 되는 것
- 반복속성
- 여러 레코드에 동일한 값이 반복해서 나오는 것
- 1NF
- 부분함수 종속 제거 -> 2NF
- 결정자가 여러개인 경우 하나의 결정자로 조회
- 부분함수 종속 제거 -> 2NF
- 2NF
- 이행함수 종속 제거 -> 3NF
- 일반컬럼으로 의미있는 데이터를 조회할 수 없도록 분리하는 것
- 이행함수 종속 제거 -> 3NF