[이론] DB 모델링 - 논리적 모델링

조민수·2025년 3월 9일
0

개발 이론

목록 보기
15/18

논리적 모델링

  • ERD를 도출한 후, 삽입, 삭제, 갱신 이상을 핸들링하는 과정
  • 정규화를 통해 해결한다.

이상 현상

1. 삽입 이상

  • 불필요 정보를 함께 저장하지 않고 특정 데이터를 저장하는 것이 불가능한 경우

2. 갱신 이상

  • 반복된 데이터 중 일부만 수정 시, 데이터의 불일치가 발생하는 경우

3. 삭제 이상

  • 다른 데이터를 함께 삭제하지 않고는 특정 데이터 삭제가 불가능한 경우

정규화 : Nomalization

  • 데이터의 중복을 방지하고 보다 효율적으로 DB를 운영
  • 중복된 데이터를 허용하지 않음으로써 무결성을 유지하고 저장 용량을 감소
  • 이상 현상을 해소하는 과정

제 1 정규화

  • Entity에서 하나의 속성이 단일 값(원자 값)을 갖도록 하는 것.
  • 즉, 테이블의 COL이 하나의 값을 갖도록 테이블을 분해


정규화 진행 ↓

제 2 정규화

  • 제 1 정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것

  • 완전 함수 종속
    : PK의 부분집합이 결정자가 되어선 안된다는 것

  • 즉, 복합키를 PK로 가지는 테이블에서 각 복합키의 일부에 종속되는 COL이 테이블에 없도록 테이블을 구분짓는 것


정규화 진행 ↓

제 3 정규화

  • 제 2 정규화를 진행한 테이블에 대해 이행 함수 종속을 제거하는 것
  • 즉, 주식별자가 아닌 속성들 중에서 종속 관계 속성을 제거하는 것이다.
  • 이행 함수 종속
    : A → B, B → C가 성립할 때, A → C가 성립되는 것

    정규화 진행 ↓

BCNF 정규화

  • 제 3 정규화를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록 테이블을 분해 하는 것

해당 테이블에서 기본 키(학생번호, 특강이름)이며,
기본 키가 교수를 결정짓는다.
또한, 여기서 교수는 특강 이름을 결정짓는다.
(교수 → 특강이름)

따라서 이를 테이블을 분리하여 교수가 후보키가 되게끔 한다.


반정규화 : De-Nomalization

  • 정규화 작업이 완료된 후, 물리 모델링 과정에서 시스템의 성능 향상 및 개발 과정의 편의성, 운영 단순화를 위한 과정
  • 데이터의 중복을 일정 감수하면서 DB의 성능 향상을 목적으로 둠
  • 데이터 무결성 유지일정 성능 유지의 딜레마 사이에서 진행하는 것

[참고자료]

profile
멈춤에 두려움을 느끼는 것

0개의 댓글

관련 채용 정보