ERD와 정규화 과정

xyzw·2024년 9월 26일
0

CS

목록 보기
13/18

ERD(Entity Relationship Diagram): 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 하며, 릴레이션 간의 관계를 정의함

ERD의 중요성

ERD는 시스템의 요구 사항을 기반으로 작성되며, 이 ERD를 기반으로 데이터베이스를 구축함
데이터베이스를 구축한 후 디버깅 또는 비즈니스 프로세스 재설계가 필요한 경우에 설계도 역할을 담당하기도 함

ERD는 관계형 구조로 표현할 수 있는 데이터를 구성하는 데 유용하나, 비정형 데이터를 충분히 표현할 수 없음

정규화 과정

데이터베이스 이상 현상을 해결하거나, 저장 공간을 효율적으로 사용하기 위해 릴레이션을 여러 개로 분리하는 과정

  • 정규형 원칙: 같은 의미를 표현하는 릴레이션이지만 더 좋은 구조로 만들어야 하고, 자료의 중복성은 감소해야 하고, 독립적인 관계는 별개의 릴레이션으로 표현해야 하고, 각각의 릴레이션은 독립적인 표현이 가능해야 하는 것

제1정규형

릴레이션의 모든 도메인이 더 이상 분해될 수 없는 원자값만으로 구성되어야 함

제2정규형

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

*부분 함수의 종속성 제거: 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속적인 것

제3정규형

릴레이션이 제2정규형을 만족하며, 기본키가 아닌 모든 속성이 이행적 함수 종속을 만족하지 않는 상태

*이행적 함수 종속: A→B이고 B→C이면 A→C가 성립하는데, 이때 C가 A에 이행적으로 함수 종속되었다고 함

BCNF (보이스/코드 정규형)

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

비정규화

정규형 과정을 거쳐 테이블을 나눈다고 해서 꼭 성능이 좋아지는 것은 아님
→ 서비스에 따라 정규화 또는 비정규화 과정을 진행해야 함

0개의 댓글