데이터베이스 정규화

찌니·2021년 3월 8일
0

Database Normalization Basics by Mike Chapple 스크랩 번역임을 밝힙니다.

  • 데이터베이스 정규화(Database Nomalization)
    : 데이터베이스에서 조직화된 데이터를 효율적으로 구성하는 프로세스

  • 정규화의 2가지 목표

  1. 중복 데이터 제거
  2. 데이터 종속성 확인
    : 이 두가지 목표는 모두 데이터베이스가 사용하는 공간을 줄이고 데이터가 논리적으로 저장되도록 보장함.
  • 정규 형식 지침
    : 첫번째 정규 형식(1NF) ~ 다섯번째 정규 형식(5NF, 잘 다루지 않음) 누적형식

    - 1NF (First normal form) 데이터베이스 기본 규칙 설정
    : 같은 테이블에서 중복된 컬럼 제거, 각 관련 데이터 그룹에 대해 별도 테이블 만들고 고유한 열 또는 열 집합(기본 키, Primary Key)으로 각 행 식별

    - 2NF (Second normal form) 중복데이터 제거 개녕 추가로 다루기
    : 1NF의 모든 요구 충족, 테이블의 여러 행에 적용되는 데이터의 하위 집합 제거 후 별도 테이블 배치, 외래키(Foreign keys)를 사용해 새 테이블들과 이전 테이블들 관계 형성

    - 3NF (Third normal form) 요구 하나 더 추가
    : 2NF 모든 요구 충족, 기본키에 종속되지 않는 컬럼들 제거

    - BCNF or 3.5NF (BOYCE-CODD Normal form) 요구 하나 더 추가
    : 3NF 요구 충족, 모든 결정자 후보키(Candidate Key)

    - 4NF (Fourth Normal form) 요구 하나 더 추가
    : 3NF 요구 충족, 다중 값 종속성이 없는 관계

  • 결론
    : 정규 형식 지침은 절대적인 것이 아님. 때때론 이 규칙을 지키지 않은 것이 좋을 때가 있다. 데이터베이스가 정규화 되었는지 확인하려면 1NF 부터 차례로 넣어보자.

profile
https://gggggeun.tistory.com/

0개의 댓글