데이터 베이스 정규화
데이터 베이스 정규화란 무엇일까?
- 데이터 중복을 최소화 하고 없애기 위한 작업을 의미한다.
정규화의 단계는 1NF,2NF,3NF,BCNF,4NF,5NF 단계로 이루어 진다.
나는 이제 이 단계들에 대해서 알아볼겁니당.
1NF
- 원자값으로 구성 -> 각 열의 데이터가 하나의 값만 가지고 있는 경우를 의미한다.

2NF
- 부분 함수 종속 제거 (완전 함수적 종속 관계) -> 중복되는 데이터에 대해 다른 테이블로 분리되어 있을 때를 의미한다.

3NF
- 이행함수 종속 제거 -> PK컬럼이 아닌 컬럼들이 서로 종속되지 않을 때를 의미한다
아래 DB에서 보면 코인 거래 가능 여부가 사용자 고유 식별번호가 아닌 코인명에 종속되어진걸 볼수있다.
이 부분을 제거하는게 3NF이다. 보통 3NF까지 진행한다고 한다.

BCNF
- 결정자 함수이면서 후보 키가 아닌 것 제거

4NF
5NF
두음쌤 법칙 = 원부이 결다조
원자화(1)/ 부분함수 종속 제거(2)/ 이행함수 종속 제거(3)/ 결정자 함수 종속 제거(BCNF)/ 다치 종속성 제거(4)/ 조인 종속성 제거(5)
4,5NF 과정은 이해가 잘안간다. 그냥 키워드만 외우고 넘어갈래잉
데이터 흐름도(DFD)의 구성요소
우선 데이터 흐름도란 말 그대로 데이터가 흘러가는 흐름을 나타낸다.
데이터 흐름도의 구성요소는 처리기(Process), 데이터 흐름(Data Flow), 데이터 저장소(Data Store), 단말(Terminator) 로 구성된다. 자, 이제 하나하나 알아가보자
- 처리기(Process)란 입력된 데이터를 원하는 형태로 변환하려 출력하기 위한 과정 주로 원(ㅇ) 으로 표시한당
- 데이터 흐름(Data Flow)란 DFD 구성요소 간의 데이터 흐름을 표시한다 주로 화살표(->)
- 데이터 저장소(Data Store)란 데이터가 저장된 장소이다 주로 (=)
- 단말(Terminator) 데이터가 발생하는 시작과 종료를 나타낸다 주로 사각형(ㅁ)
데이터 베이스 모델링 절차
- 모델링 절차는 요구사항 분석 -> 개념 모델링 -> 논리 모델링 -> 물리 모델링 순 이다.
절차 | 설명 |
---|
요구사항 분석 | 현행 데이터의 문제점과 개선해야 할 점을 확인하고 향후 개선점을 도출하는 행동 |
개념 모델링 | 업무 중심의 포괄적인 모델링으로 추상화하는 활동으로 주제 영역과 핵심데이터 간 관계 정의 |
논리 모델링 | 관계(Relationship),속성(Attribute),키(Key) 등을 도출하는 활동 |
물리 모델링 | 사용 DBMS 특성에 맞게 물리적 스키마를 만드는 활동 |
요기 베라의 다른 명언을 끝으로 이 글을 마무리 짓겠다.
다음 글에는 소프트웨어 품질 특성에 대해 알아보겠다.
