일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 게시판
- 정처기필기
- 스프링
- 정처기
- 게시판만들기
- PYTHON
- 게시판프로젝트
- 이것이자바다
- 정보처리기사필기
- 정보처리기사
- CRUD
- 파이썬
- CRUD구현
- 소프트웨어설계
- 파이선
- 어노테이션
- 소프트웨어개발
- spring
- 정처기공부
- function
- 정처기설명
- 자바
- 정처기예상문제
- java
- springboot
- 코딩테스트
- 자바의정석
- 프로그래머스
- 자바의정석요약
- 스프링부트
- Today
- Total
Helmi
3. 데이터베이스 구축 - 정규화 자세한 설명 본문
정규화 개념
- 논리 데이터 모델링 상세화 하는 과정
- 함수적 종속성 이용해 이상 현상 발생하지 않도록 릴레이션 분해하는 과정
정규화 목적
- 구축된 데이터 베이스 품질 보장, 성능 향상
- 저장 공간 최소화, 데이터베이스 내부 자료 무결성 유지 극대화
- 데이터 구조 안정성 확대
① 개체 관계 정확성
② 데이터 일치성
③ 데이터 모델 단순성
④ 개체 내에 존재하는 속성 비중복성
각 정규화 과정 단계
단계 | 설명 |
제1정규형 | - 반복 속성 제거 - 개체에 존재하는 속성들 중 반복되는 속성들 하위 개체로 도출 |
제2정규형 | - 주 식별자 전체가 완전 기능 종속 되지 않는 속성 제거 - 주 식별자 속성 일부에만 함수적 종속 되는 속성들 상위 개체로 도출 |
제3정규형 | - 주 식별자에 이행 함수 종속 되는 속성 제거 - 주 식별자 제외한 일반 속성 중 함수적 종속 속성들 상위 개체로 도출 |
BCNF 정규형 | - Boyce-Codd Normal Form - 결정자(후보키 아닌) 속성 제거 - 제3정규형 만족하면서 추가로 해당 릴레이션의 모든 결정자는 후보키여야 |
제4정규형 | - 주 식별자에 종속(다중값 : Multi-Value)되는 속성을 두 가지 이상 두지 않도록 함 - 특정 조건 대해 제공되는 결과값 같은데, 데이터 값 두 번 이상 발생하는 속성 하위 개체로 도출 |
제5정규형 | 다시 조인해 중복 데이터 발생 경우 n개의 테이블로 분리 |
정규화 절차
제1정규형(1NF, First Normal Form)
- 어떤 릴레이션 R에 속한 모든 도메인 원자값만으로 되어 있다면 제1정규형(1NF)
- 릴레이션 내의 속성 원자값 가지고 있어야
제2정규형(2NF, Second Normal Form)
- 어떤 릴레이션 R이 1NF이고 기본키에 속하지 않은 모든 속성들이 기본 키에 완전 함수 종속이면 제2정규형에 속하는 규칙으로 특정 컬럼에만 종속되는 속성이(부분 함수 종속) 없어야
제3정규형(3NF, Third Normal Form)
- 어떤 릴레이션 R이 2NF이고 기본 키에 속하지 않은 모든 속성들이 기본 키에 이행적 함수 종속이 아닐 때
- 주 식별자에 이행종속 되는 속성 제거. 주 식별자 제외 일반 속성들 중에 함수적 종속 속성들을 상위 개체로 도출
BCNF정규형(Boyce-Code Normal Form)
- 릴레이션 R의 결정자가 모두 후보 키이면 보이스 크드 정규형에 속함
- 후보키 아니면서 결정자인 속성이 존재할 때 발생하는 이상 현상 방지 목적
제4정규형(4NF, Fourth Normal Form)
- 하나의 속성이 다른 속성 값 결정하는 것이 아니라 R의 모든 속성이 집합 결정
- 하나의 릴레이션에 두 개 이상 다치종속이 발생하고 이를 제거하는 과정
- 다치 종속은 Fagin에 의해 처음 소개되고 정의됨
제5정규형(5NF, Fifth Normal Form)
- 릴레이션 R에 존재하는 모든 조인 종속이 릴레이션 R의 후보키를 통해서만 만족된다면 릴레이션 R은 제5정규형
'정보처리기사 > 필기' 카테고리의 다른 글
5. 정보시스템 구축 관리 - 정보 보안 침해 공격 관련 용어 (0) | 2023.05.20 |
---|---|
5. 정보시스템 구축 관리 - 네트워크 침해 공격 관련 용어 (1) | 2023.05.20 |
4. 프로그래밍 언어 활용 - UNIX/LINUX 기본 명령어 (1) | 2023.05.17 |
4. 프로그래밍 언어 활용 - OSI 7계층 (1) | 2023.05.16 |
3. 데이터베이스 구축 - 관계대수, 관계해석 (1) | 2023.05.16 |