반응형
정규화
- 불필요한 데이터의 중복으로 인한 연산의 부작용이 발생하는 이상 현상을 제거하기 위한 과정
- 릴레이션을 관련 있는 속성들로만 구성하기 위해 릴레이션을 분해하는 과정
- 함수적 종속성을 판단하여 정규화 수행
이상 현상의 종류
- 삽입 이상 : 데이터를 삽입할 때, 불필요한 데이터도 함꼐 삽입되는 문제
- 갱신 이상 : 중복 데이터 중, 일부만 변경되어 데이터의 불일치 발생
- 삭제 이상 : 데이터를 삭제할 떄, 필요한 데이터까지 함께 삭제되는 문제
함수 종속
- X와 Y는 하나의 릴레이션을 구성하는 속성들의 부분 집합
- Y가 X에 함수적으로 종속되어 있다는 의미
- 표현식 : X → Y (X는 결정자, Y는 종속자)
완전 함수 종속
- X의 속성 집합 전체에 종속되는 것을 의미
- 가장 일반적인 함수 종속을 의미
부분 함수 종속
- X의 속성 집합 일부분에 종속되는 것을 의미

정규형
- 릴레이션이 정규화된 정도
- 정규형의 차수가 높아질수록 제약조건이 많아짐
제1정규형 (1NF)
- 릴레이션의 모든 속성의 도메인이 더는 분해되지 않는 원자 값만 가짐
- 데이터 중복을 가짐
- 기본키에 완전 함수 종속되지 못한 속성이 있을 수 있음 (EX. 이름 → 생일)
- 완전 함수 종속되지 못해 삽입 이상, 갱신 이상, 삭제 이상 발생
이름 | 과목번호 | 생일 | 과목 |
홍길동 | A1 | 870723 | 수학 |
홍길동 | A2 | 870723 | 영어 |
이순신 | A2 | 070610 | 영어 |
안중근 | A3 | 011223 | 과학 |
장보고 | A3 | 050624 | 과학 |
제2정규형 (2NF)
- 기본키에 완전 함수 종속이 만족하는 제1정규형
- 이행적 함수 종속으로 인해 삽입 이상, 갱신 이상, 삭제 이상 발생
- 이행적 함수 종속 : X → Y, Y → Z 일 떄, X → Z도 성립
이름 | 과목번호 | 과목 |
홍길동 | A1 | 수학 |
홍길동 | A2 | 영어 |
이순신 | A2 | 영어 |
안중근 | A3 | 과학 |
장보고 | A3 | 과학 |
이름 | 생일 |
홍길동 | 870723 |
홍길동 | 870723 |
이순신 | 070610 |
안중근 | 011223 |
장보고 | 050624 |
제3정규형 (3NF)
- 이행적 함수 종속이 만족하지 않는 제2정규형
이름 | 과목번호 |
홍길동 | A1 |
홍길동 | A2 |
이순신 | A2 |
안중근 | A3 |
장보고 | A3 |
과목번호 | 과목 |
A1 | 수학 |
A2 | 영어 |
A2 | 영어 |
A3 | 과학 |
A3 | 과학 |
보이스/코드 정규형 (BCNF)
- 릴레이션에 여러 개의 후보키가 존재할 때, 제3정규형에서도 이상 현상이 발생할 수 있음
- 후보키가 아닌 배달번호가 배달원의 속성을 결정함
가게 | 배달원 | 배달번호 |
조선짜장 | 이순신 | X1 |
고려짜장 | 장보고 | X2 |
신라짜장 | 이순신 | X1 |
NULL | 홍길동 | X3 |
문제의 테이블, 가게에 배정되지 않은 배달원이 있음
반응형
'IT Dictionary > Database' 카테고리의 다른 글
데이터베이스(Database) SQL ALTER TABLE 정리 (0) | 2024.12.04 |
---|---|
데이터베이스(Database) 설계하기 (0) | 2024.11.21 |
데이터베이스 SQL CREATE TABLE 정리 (0) | 2024.11.10 |
데이터베이스 SQL SELECT문 총정리 (1) | 2024.11.08 |
데이터베이스(Database) 관계 대수 정리 (1) | 2024.11.07 |