DB/Oracle

[Oracle DB] 정규화(Normalization)

로아다 2023. 4. 27. 07:05
728x90
반응형
 정규화 (Normalization)

    - 비즈니스 운영에 필요한 데이터들을 관계형 데이터베이스에 적합한 구조로 변환하는 과정

    - 정규화가 되지 않은 데이터들은 이상현상을 일으킨다.

   

제 1정규형 (1NF)

    - 컬럼은 하나의 데이터만 가지고 있어야 한다.

    - 컬럼의 데이터들은 같은 타입을 가져야 한다.

    - 컬럼의 순서가 데이터에 영향을 미쳐서는 안된다.

   

  •  1NF를 만족시키지 못한 커피 테이블   
    커피이름         /         커피가격           / 커피사이즈 / 커피온도
    Americano        3000, 3500, 4000          T,G,V             H, I
    Peach Ice Tea       4000, 4500                T, V                 I

 

  • 1NF를 만족시킨 커피 테이블
    커피이름       /      커피가격       / 커피사이즈 / 커피온도
    Americano            3000                       T                H
    Americano            3000                       T                 I
    Americano            3500                      G                H
    Americano            3500                      G                 I
    Americano            4000                      V                H
    Americano            4000                      V                 I

   

  • 2NF ~ 3NF 정도는 일반적인 정규화로 본다.

- 정규화에 너무 집착하면 성능에 문제가 발생하기 때문에 오히려 정규화를 다시 되돌리는 역정규화를 하기도 한다.   

 - 정규화의 성능 저하에 지쳐서 NO-SQL 데이터베이스를 쓰기도 한다.

(정규화를 최소한으로 하여 물리 용량을 굉장히 낭비하고, 조회속도를 엄청나게 올린 방식의 데이터 베이스를 NO-SQL이라고 한다.)

728x90
반응형