4장. 데이터 종속성과 정규화
이상현상과 정규화의 필요성에 대해 말할 수 있다. 학습목표 이상현상과 정규화의 필요성에 대해 말할 수 있다. 함수의 종속에 대해서 말할 수 있다. 정규화 방법을 습득한다.
목차 SECTION 01 정규화의 의미 SECTION 02 함수 종속 SECTION 03 정규화 과정 1-1 수정 이상 1-1 수정 이상 1-2 삽입 이상 1-3 삭제 이상 SECTION 02 함수 종속 SECTION 03 정규화 과정 제1정규형(1NF) 제2정규형(2NF) 제3정규형(3NF) 보이스/코드 정규형(BCNF)
정규화(normalization) 1 정규화의 의미 자료 저장 공간을 최소화하고 데이터베이스 내의 데이터가 불일치 되는 위험을 최소화하여 좋은 데이터베이스 스키마를 설계하는 것을 목적
데이터베이스 스키마가 잘못 설계된 경우 83 page 1 정규화의 의미 100번 학생이 전자계산기구조와 운영체제라는 두 과목을 신청하였기에 이 학생의 이름은 두 번 저장되는 문제점 발생 중복된 데이터의 저장으로 인해 저장 공간이 낭비된다는 문제점 이외에도 중복되어 저장된 데이터 때문에 릴레이션의 수정, 삽입, 삭제와 같은 조작을 할 때 여러 가지 곤란한 이상(anomaly) 현상이 생김 83 page
1 정규화의 의미 1-1 수정 이상 수정 이상 중복 데이터 중에서 일부만 갱신되어 정보의 모순이 발생하는 것 84 page
1-2 삽입 이상 삽입 이상 85 page 1 정규화의 의미 불필요한 정보를 함께 저장하지 않음 어떤 정보를 저장하는 것이 불가능하기에 원하지 않는 정보를 강제로 삽입해야 하는 것 85 page
1 정규화의 의미 1-3 삭제 이상 삭제 이상 유용한 정보를 함께 삭제하지 않고는 어떤 정보를 삭제하는 것이 불가능한 것 86 page
1-3 삭제 이상 정규화(normalization) 정규화의 목적 1 정규화의 의미 1-3 삭제 이상 정규화(normalization) 갱신 이상이 생기지 않도록 불필요한 데이터가 중복되어 저장되지 않게 방지하여 바람직한 릴레이션 스키마로 만들어 가는 과정 정규화의 목적 반복적인 자료를 제거하여 다음과 같은 상태를 만들기 위한 것 1. 어떤 관계라도 데이터베이스 내에서 표현이 가능하도록 만드는 것 2. 관계에서 바람직하지 않은 삽입, 삭제, 갱신 이상이 발생하지 않도록 함 3. 새로운 형태의 데이터가 삽입될 때 관계를 재구성할 필요성을 줄일 수 있음 4. 보다 간단한 관계 연산에 기초하여 검색을 보다 효율적으로 할 수 있음
함수적 종속 정의 결정자(determinant) 2 함수종속 X → Y 주어진 릴레이션에서 다른 속성(또는 속성들의 집합)을 고유하게 결정하는 하나 이상의 속성
2 함수종속 수강 릴레이션에서 결정자를 찾아보자 87 page 학번 → 이름 {학번, 과목명} → 성적 예 88 page
함수적 종속의 성질 함수 종속 다이어그램 88 page 2 함수종속 완전 함수 종속(FFD: Full Functional Dependency) 부분 함수 종속(PFD: Partial Functional Dependency) 함수 종속 다이어그램 릴레이션 내의 속성들의 종속 관계를 보다 쉽게 이해하기 위해서는 이를 도식적으로 표현 88 page
정규화(Normalization) 정규형(Normal Form) 3 정규화 과정 주어진 릴레이션 스키마를 함수적 종속성 등의 종속 이론을 이용하여 잘못된 릴레이션 스키마를 보다 더 작은 속성의 세트로 나누어서 갱신 이상이 발생하지 않는 바람직한 릴레이션 스키마로 만들어 가는 과정 정규형(Normal Form) 테이블의 정규화된 정도
3 정규화 과정 정규형들 간의 관계 89 page
3-1 제1정규형(1NF) 제1정규형에 만족하는 릴레이션 반복 집합이 있는 비정규 릴레이션 90 page 3 정규화 과정 어떤 릴레이션 R에 속한 모든 도메인이 원잣값(atomic value) 릴레이션의 속성값이 반복 집단이 없는 즉, 더 이상 분해될 수 없는 원잣값으로만 구성 반복 집합이 있는 비정규 릴레이션 반복 집합은 한 개의 기본키 값에 대해서 두 개 이상의 값을 가질 수 있는 속성 90 page
3 정규화 과정 3-1 제1정규형(1NF) 제1정규화 과정의 개념 제1정규화 과정 90 page
3-2 제2정규형(2NF) 제2정규형 91 page 3 정규화 과정 어떤 릴레이션 R이 제1정규형이고, 키에 속하지 않는 속성 모두가 키에 완전 함수 종속 91 page
3 정규화 과정 3-2 제2정규형(2NF) 제2정규화 과정의 개념 91 page
3 정규화 과정 3-2 제2정규형(2NF) 제2정규화 과정 92 page
3 정규화 과정 3-2 제2정규형(2NF) 제2정규화 과정의 함수 종속 다이어그램 93 page
3-2 제2정규형(2NF) 무손실 분해(nonloss decomposition) 3 정규화 과정
3-3 제3정규형(3NF) 제3정규형 이행적 함수 종속성 94 page 3 정규화 과정 어떤 릴레이션 R이 2NF이고, 모든 속성들이 기본키에 이행적 함수 종속(transitive FD)을 제외 이행적 함수 종속성 3개의 속성에 존재하는 함수의 종속성을 의미 94 page
3-3 제3정규형(3NF) 이행적 함수 종속하는 지도 릴레이션 94 page 예 학번→지도교수 ∧ 지도교수→학과 학번→학과 3 정규화 과정 3-3 제3정규형(3NF) 이행적 함수 종속하는 지도 릴레이션 94 page 학번→지도교수 ∧ 지도교수→학과 학번→학과 예
3 정규화 과정 3-3 제3정규형(3NF) 이행적 함수 종속으로 인한 갱신 이상 수정 이상 95 page
3 정규화 과정 3-3 제3정규형(3NF) 이행적 함수 종속으로 인한 갱신 이상 삽입 이상 96 page
3 정규화 과정 3-3 제3정규형(3NF) 이행적 함수 종속으로 인한 갱신 이상 삭제 이상 96 page
3 정규화 과정 3-3 제3정규형(3NF) 제3정규화 과정의 개념 97 page
3 정규화 과정 3-3 제3정규형(3NF) 제3정규화 과정 97 page
3 정규화 과정 3-3 제3정규형(3NF) 제3정규화 과정의 함수 종속 다이어그램 98 page
3-4 보이스/코드 정규형 보이스/코드 정규형 98 page 3 정규화 과정 복잡한 식별자 관계에 의해 발생하는 문제를 해결하기 위해서 제3정규형을 보완한 것 릴레이션 R이 제3정규형을 만족하고, 모든 결정자가 후보키 98 page
3 정규화 과정 3-4 보이스/코드 정규형 결정자가 후보키가 아닌 릴레이션에서의 갱신 이상 수정 이상 99 page
3 정규화 과정 3-4 보이스/코드 정규형 결정자가 후보키가 아닌 릴레이션에서의 갱신 이상 삽입 이상 100 page
3 정규화 과정 3-4 보이스/코드 정규형 결정자가 후보키가 아닌 릴레이션에서의 갱신 이상 삭제 이상 100 page
3 정규화 과정 3-4 보이스/코드 정규형 보이스/코드 정규화 과정 개념 100 page
3 정규화 과정 3-4 보이스/코드 정규형 보이스/코드 정규화 과정 101 page
3 정규화 과정 3-4 보이스/코드 정규형 보이스/코드 정규화 과정의 함수 종속 다이어그램 101 page
3 정규화 과정 3-4 보이스/코드 정규형 정규형의 특징과 정규화 과정 102 page
학습정리 이상(anomaly) 현상 정규화(normalization) 함수 종속 속성 간에 존재하는 여러 종속 관계를 하나의 릴레이션에 표현함으로써 데이터의 중복으로 인해 발생하는 여러 가지 현상 ① 삭제 이상 : 연쇄삭제에 의한 정보의 손실 ② 삽입 이상 : 원하지 않는 정보의 강제 삽입 ③ 갱신 이상 : 중복 데이터의 일부 갱신으로 정보의 모순성 발생 정규화(normalization) 이상 문제를 해결하기 위해 어트리뷰트 간의 종속 관계를 분석하여 여러 개의 릴레이션으로 분해하는 과정 함수 종속 어떤 릴레이션에서 속성들의 부분 집합을 X, Y라 할 때, 임의 튜플에서 X의 값이 Y의 값을 함수적으로 결정한다면, Y가 X에 함수적으로 종속되었다고 하고, 기호로는 X → Y 로 표기함.
학습정리 함수 종속 다이어그램 릴레이션 내의 속성들의 종속 관계를 보다 쉽게 이해하기 위해서는 이를 도식적으로 표현함.
학습정리 정규형 과정
4장. 데이터종속과 정규화 수고하셨습니다. 질문 있습니까?