효습
4.2 ERD와 정규화 과정 본문
ERD(Entity Relationship Diagram) : 릴레이션 간의 관계들을 정의함
4.2.1 ERD의 중요성
관계형 구조로 표현할 수 있는 데이터를 구성하는데 유용하지만 비정현데이터를 충분히 표현할 수 없음
4.2.3 정규화 과정
릴레이션 간의 잘못된 종속 관계로 인해 데이터베이스 이상 현상을 해결하거나 저장공간을 효율적으로 사용하기 위해 분리하는 과정
정규형 원칙
- 정보 표현의 무손실 : 정보가 사라지지 않아야 한다, 같은 의미의 정보를 유지하면서 더 효율적인 구조로 변화해야한다
- 데이터 중복의 최소화 : 데이터 중복을 최소화하면서 , 데이터 관리의 편리성을 부여하고 자료 저장 공간을 효율적으로 사용
- 분리의 원칙 : 독립적인 관계는 별개의 릴레이션으로 표현 , 릴레이션 각각에 대해 독립적 처리가 가능
정규화된 정도는 정규현(NF :Normal Form)으로 표현
기본 정규형 : 제1정규형, 제2정규형, 제3정규형, 보이스/코드 정규형
고급 정규형 : 제4정규형, 제5정규형 (현업에서 거의 사용하지 않음)
제 1 정규형
- 모든 도메인이 더 이상 분해될 수 없는 원자값(atomic value)만으로 구성된 릴레이션.
- 릴레이션의 속성 값 중에서 한 개의 기본키에 대해 두 개 이상의 값을 가지는 반복 집합이 있어서는 안된다.
- 만약 반복 집합이 있다면 제거해야 한다
문제 발생 이유
- 기본키(primary key)가 아닌 속성들이 기본키에 완전 함수 종속되지 못하고 부분 함수 종속되어 있음
- 기본키는 (학번, 과목 번호)이고, 지도교수와 학과가 부분 함수 종속되어 있다.
제 2 정규형
- 릴레이션이 제1정규형이며 부분 함수의 종속성을 제거한 형태.
- 부분 함수의 종속성 제거로 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속적이게 됨
- 이행적 함수 종속 : 집합 C가 A에 이행적으로 함수 종속
- A -> B와 B -> C가 존재하면 논리적으로 A -> C가 성립
- 지도교수를 추가할 때 불필요하게 학번도 추가해야함
제 3정규형
- 제2정규형이고 기본키가 아닌 모든 속성이 이행적 함수 종속을 만족하지 않는 상태
보이스/코드 정규형(BNCF)
BCNF (Boyce and Codd Normal Form)은 제3 정규형을 조금 더 강화시킨 개념 강한 제3 정규형이라고도 함
- 결정자(Determinant)가 후보키(Alternative Key)로 취급되고 있지 않기 때문에 삽입 이상 , 삭제 이상 , 갱신 이상 발생
- 담당 교수만으로 후보키가 될 수 없으나 과목명을 결정할 수 있기때문에 담당 교수는 결정자에 속함
이를 해결하기 위해 모든 결정자는 항상 후보키가 되도록 릴레이션을 분해해주면 강한 제 3규형 , BCNF 만족
'CS' 카테고리의 다른 글
4.1 데이터베이스의 기본 (0) | 2024.09.26 |
---|---|
3.4 CPU 스케쥴링 알고리즘 (1) | 2024.09.26 |
2.3 네트워크 기기 (0) | 2024.09.04 |
2.2 TCP/IP 4계층 모델 (0) | 2024.08.27 |
2.1 네트워크 기초 (0) | 2024.08.27 |