ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Database] ERD와 정규화 과정
    Computer Science/Database 2024. 5. 28. 14:50

    ERD

    ERD(Entity Relationship Diagram)는 릴레이션 간의 관계들을 정의한 것으로, 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 한다.

     

     

    ERD의 중요성

    ERD는 시스템 요구 사항을 기반으로 작성되며 이 ERD를 기반으로 데이터베이스를 구축한다. 데이터베이스를 구축한 이후에도 디버깅 또는 프로세스 재설계가 필요한 경우에 설계도 역할을 한다. 때문에 서비스를 구축한다면 가장 먼저 신경 써야 할 부분으로, 이 부분을 신경쓰지 않고 서비스를 구축한다면 단단하지 않은 골조로 건물을 짓는 것과 같다.

     

     

    예시

     

     

     

    정규화 과정

    정규화 과정은 릴레이션을 여러 개로 분리하는 과정이다. 릴레이션 간의 잘못된 종속 관계로 인해 데이터베이스에 이상 현상이 일어나서 이를 해결하거나, 저장 공간을 효율적으로 사용하기 위해 진행한다.

     

     

    정규형 원칙

    제1정규형

     

    • 릴레이션의 모든 도메인이 더 이상 분해될 수 없는 원자 값만으로 구성되어야 한다.
    • 릴레이션의 속성 값 중에서 한 개의 기본키에 대해 두 개 이상의 값을 가지는 반복 집합이 있어서는 안된다. 만약 반복 집합이 있다면 제거해야 한다. 

     

     

     

    제2정규형

    • 릴레이션이 제1정규형이며 부분 함수의 종속성을 제거한 형태

     

     

     

    제3정규형

    • 제2정규형이고 기본키가 아닌 모든 속성이 이행적 함수 종속을 만족하지 않는 상태 
    • 이행적 함수 종속 : A->B와 B->C가 존재하면 논리적으로 A->C가 성립하는데, 이때 집합C가 집합A에 이행적으로 함수 종속 되었다고 함.

     

     

     

    BCNF 정규형

    • 제3정규형이고, 결정자가 후보키가 아닌 함수 종속 관계를 제거하여 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키인 상태 

     

     

    'Computer Science > Database' 카테고리의 다른 글

    [Database] 인덱스  (1) 2024.08.12
    [Database] 데이터베이스의 종류  (0) 2024.06.03
    [Database] 트랜잭션과 무결성  (1) 2024.05.30
    [DataBase] 데이터베이스의 기본  (0) 2024.05.21
Designed by Tistory.