본문 바로가기

Software 공부/Software Database Knowledge

[Database][정규화][데이터베이스 키]

반응형

정규화

      → 데이터 베이스 이상현상의 원인이 되는 데이터 중복성을 제거하여 데이터의 무결성을 보존하는 기법

 

  * 정규화 단계

    - 제1정규화(1NF)

      → 릴레이션 R의 모든 속성 값이 원자값을 가지는 릴레이션

    - 제2정규화(2NF)

      → 릴레이션 R이 제1정규형이고 기본키가 아닌 속성이 기본키에 완전함수 종속일때

    - 제3정규화(3NF)

      → 릴레이션R이 제2정규형이고 기본키가 아닌 속성이 기본키에 비이행적 nontransitive으로 종속할때 (직접종속)

    - 보이스/코드 정규화(BCNF)

      → 릴레이션 R에서 함수 종속성 X → Y가 성립할 때 모든 결정자 X가 후보키일 때

    - 제 4정규화(4NF)

      → 릴레이션 R에서 MVD A → B가 존재할 때 R의 모든 속성들이 A에 함수종속(FD)이면 R은 4NF(즉 R의 모든 속성X에 대해 A → X이고 A가 후보키)

    - 제 5정규화(5NF)

      → 릴레이션 R에 존재하는 모든 조인종속(Join Dependency)이 R의 후보키를 통해 성립되면 R은 5NF

 

  * 

    - 완전 함수 종속

      → 일반 속성이 식별자 전부에 종속

    - 부분 함수 종속

      → 일반 속성이 식별자 일부에 종속

      → 제2 정규화 필요

    - 이행 함수 종속

      → 일반속성 간 함수적 종석

      → 제 3정규화 필요

    - 결정자 함수종속

      → 결정자가 후보키가 아닌 경우 존재, 후보키에 종속자 존재

      → BCNF 정규화 필요

 

  * 정규화의 무손실 과정

    비정규 릴레이션

    → 원자값이 아닌 도메인을 분해 → 1NF 

    →부분함수 종속제거 → 2NF

    → 이행함수 종속제거 → 3NF

    → 결정자가 후보키가 아닌 함수종석(FD) 제거 → BCNF

    → 함수종속이 아닌 다치종속(MVD) 제거 → 4NF

    → 후보키를 통하지 않은 조인종속(JD) 제거 → 5NF 

 

  * 비정규화

    - 개념

      → 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 의도적으로 정규화 원칙을 위배하는 행위를 말함

 

        → 정규화된 엔티티,속성,관계를 시스템의 성능 향상, 개발과 운영을 단순화하기 위해 데이터 모델을 통합

        → 데이터 정합성과 데이터 무결성을 우선으로 할지 데이터 구성의 단순화와 성능을 우선으로 할지 결정

 

 

 


데이터베이스 키

2022.04.14 - [Software 공부/Software Web Knowledge] - [Software][Knowledge] ORM, Data Model, Data Modeling

반응형