본문 바로가기

자격증/정보처리기사

[정보처리기사 실기] 이상현상, 정규화/비정규화, 개념&논리&물리 설계

 데이터베이스 개념,논리,물리설계

개념 설계 : ERD 그래프 / 엔티티와 엔티티의 관계들을 다이어그램(그림)으로 표현하는 것

논리 설계 : 목표 DBMS 에 맞는 트렌젝션, 인터페이스, 정규화를 진행한다.

물리 설계 : 성능을 고려한 파티션, 인덱스, 뷰 생성, 비정규화 등을 진행

 

 이상현상

  1. 삽입이상 : 어떠한 데이터를 삽입할 때 불필요한 것 까지 같이 삽입됨
  2. 삭제이상 : 삭제할 때 연쇄적으로 삽입되는 현상
  3. 갱신이상 : 어떠한 필드를 수정했을 때 무결성이 깨지는 것. 정보의 모순이 생기는 것

=> 이 3가지 이상 현상이 생김으로 인해 정규화를 하게된다.

 

 정규화 과정 (도부이결다조)

  • 1NF - 1차 정규형 (제1정규형) : 도메인이 원자값
    - 하나의 컬럼에 원자값을 갖도록 조정

  • 2NF - 2차 정규형 (제2정규형) : 부분적 함수 종속 제거
    기본키의 일부가 다른 컬럼과 종속

  • 3NF - 3차 정규형(제3정규형) : 이행적 함수 종속 제거
    - 릴레이션이 R이 2NF이고 , 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형
       [ A -> B 이고, B -> C 일때 A -> C를 만족하지 않음]

  • BCNF - BCNF 정규형 : 결정자이면서 후보키가 아닌것 제거
    - 릴레이션 R에서 결정자가 모든 후보키인 정규형
    - 모든 BCNF가 종송성을 보존하는 것은 아님

  • 4NF - 제4정규형 : 다치종속 제거
    - 릴레이션 R에 다치 종속 A -> B 가 성립하는 경우 , R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형

  • 5NF - 제5정규형 : 조인 종속
    - 릴레이션 R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 정규형

 

 비정규화(Denormalization, 반정규화, 역정규화)란?

데이터베이스 정규화 이후 성능향상과 개발편의성 등 정규화 기법에 위배되는 수행기법

물리설계 단계에서 진행됨

예를들어 회원테이블, 주문테이블이 있다라고 있고 회원테이블에 name과 HP가 있을 때 두 테이블의 데이터가 많이 없다면 단순 조인으로 해결가능하다. 다만, 시간이 지나 데이터가 많아졌을 때 서로를 조인하면 속도가 떨어지고 이 때 주문테이블에 name과 hp 를 넣어 조인을 하지 않고 select 가 가능하도록 수정한다. -> 중복을 일부러 허용한 것. 이것이 비정규화 => 성능향상

 

 

 

출처: https://whitestudy.tistory.com/40

https://sosoeasy.tistory.com/538