ERD 및 정규화 프로세스

ERD(엔티티 관계 다이어그램)

– 데이터베이스를 구축할 때 관계 간의 관계를 정의하는 가장 기본적인 뼈대 역할을 합니다.

– 시스템 요구 사항에 따라 생성

관계형 구조로 나타낼 수 있는 데이터를 정리하는데 유용하지만, 구조화되지 않은 데이터완벽하게 표현할 수 없다

구조화되지 않은 데이터?

구조화되지 않은 데이터, 미리 정의된 데이터 모델이 없거나 미리 정의된 방식으로 구성되지 않은 정보


⊙ 정규화 과정

관계 간의 잘못된 종속성 또는 저장 공간의 효율적인 사용으로 인해 데이터베이스를 이해하는 오류를 해결하기 위해 관계를 부분으로 나누는 프로세스

*이상?

삽입 오류, 삭제 오류, 업데이트 오류

정규형(NF)

‘기본 패러다임 형태'(제1 패러다임 형태 → 제2 패러다임 형태 → 제3 패러다임 형태 → 음성/코드 패러다임 형태) → ‘고급 패러다임 형태'(제4 패러다임 형태 → 제5 패러다임 형태)

패러다임 규칙 : 더 나은 구조와 감소된 데이터 중복 및 독립적인 관계는 별도의 관계로 표현됨

첫 번째 패러다임

관계의 모든 필드는 더 이상 분해할 수 없는 원자 값으로만 ​​구성되어야 합니다.

관계의 속성 값 중 하나의 기본 키에 대해 두 개 이상의 중복 값 집합이 있을 수 없습니다.

사용자 아이디 사용자 아이디 코스명 성취
하나 크레용 {자바, C++} {90%, 10%}
사용자 아이디 사용자 아이디 코스명 성취
하나 크레용 자바 90%
하나 크레용 C++ 10%

두 번째 정규형

부분 함수의 독립적인 형태

기본이 아닌 모든 속성은 기능적으로 기본 키에 완전히 종속됩니다.

관계 분해시 대등한 관계로 분해해야 하며, 무손실 분해로 분해하여 정보 손실을 방지합니다

사용자 아이디 사용자 아이디 코스명 성취
하나 크레용 자바 90%
하나 크레용 C++ 10%
사용자 아이디 사용자 아이디
하나 크레용
사용자 아이디 코스명 성취
크레용 자바 90%
크레용 C++ 10%

세 번째 패러다임

기본이 아닌 모든 속성은 전이 기능 종속성 조건을 충족합니다.

* 전이적 함수 의존성?

A가 B에 속하고, B가 C에 속하고, A가 C에 속하면 C는 A에 전이 종속적이라고 합니다.

즉, A→B→C의 관계를 A→B와 B→C로 나눈다.

음성/화음 패러다임

결정자가 후보 키가 아닌 기능적 종속성을 제거함으로써 관계의 기능적 종속성에 있는 모든 결정자는 후보 키의 조건이 됩니다.

*미정질?

A→B에서 A는 행렬식이고 B는 종속변수입니다.


테이블을 분할할 때 일부 쿼리에는 조인이 필요할 수 있습니다.

대신 속도가 느릴 수 있으므로 서비스별로 정규화 및 비정규화 프로세스를 수행해야 합니다.