목록으로

정규화 개념과 1~3차 정규화 요약

설명

정규화는 데이터베이스 설계에서 입력·수정·삭제 시 발생하는 이상현상(아노말리)을 제거하여 데이터의 일관성(consistency)과 안정적 처리를 보장하는 절차이다. 핵심 목표는 중복성을 제거하여 예측 가능한 방식으로 데이터가 저장되고 관리되도록 만드는 것이다.

핵심 주제

정규화의 목적: 이상현상 제거, 중복성 축소, 데이터 일관성 및 안정성 확보.

설명

함수 종속성(functional dependency)은 어떤 속성 X가 주어지면 Y가 결정되는 관계(f(X) = Y)를 의미한다. X를 결정자(determinant), Y를 종속자(dependent)라 하며, 특히 기본키(primary key)는 다른 일반 속성들을 결정하는 결정자의 예이다.

핵심 주제

함수 종속성 이해: 결정자와 종속자 관계가 정규화 판단의 이론적 근거가 된다.

설명

정규화 이론은 Codd의 기초에서 발전하여 보이스-코드(Boyce-Codd) 등으로 확장되었으나, 실제 설계에서는 먼저 1차~3차 정규화를 주로 적용한다. 1차 정규화는 모든 속성이 원자적(atomic) 값을 갖고 반복 그룹(리피팅 밸류)을 별도 테이블로 분리하는 것을 의미한다.

핵심 주제

1차 정규화: 속성의 원자성 확보, 반복 값(리피팅 그룹) 분리로 테이블 구조 단순화 및 이상현상 완화.

설명

2차 정규화는 기본키가 복합키(두 개 이상)인 경우, 일부 구성 요소에만 함수적으로 종속된 속성(부분 종속성, partial dependency)을 별도의 엔터티로 분리하는 것이다. 이를 통해 중복 저장을 줄이고 입력·수정·삭제 시 발생하는 아노말리를 방지한다.

핵심 주제

2차 정규화: 복합키의 일부에 종속된 속성을 분리하여 중복 제거 및 데이터 무결성 유지.

설명

3차 정규화는 일반 속성들 중 다른 속성을 결정할 수 있는 항목(추이적 종속성, transitive dependency)을 별도의 테이블로 분리하는 것이다. 예를 들어 주문 테이블 내 고객번호로 고객의 추가 속성이 결정된다면 이를 고객 엔터티로 분리한다. 1~3차 정규화를 거치면 ERD가 안정화되고 데이터의 정확성과 처리 안정성이 향상된다.

핵심 주제

3차 정규화: 추이적 종속성 제거로 추가적인 중복성과 이상현상 해소, 정규화는 함수 종속성 이론에 기반한 중복 제거 과정임.

학습할 내용

정규화의 목적과 기본 개념

개요

정규화는 데이터 처리의 입력, 수정, 삭제 과정에서 발생하는 이상현상을 제거하고, 데이터 중복을 최소화하여 데이터의 일관성과 안정적인 처리를 보장하는 절차이며, 이를 통해 데이터가 예측 가능한 방식으로 저장되고 관리되도록 하는 것이 핵심이다.

학습 포인트

  • 정규화의 기본 목적은 이상현상 제거, 중복성 축소, 데이터 일관성 및 안정성 확보라는 세 가지를 달성하는 것이다.
  • 이상현상을 제거함으로써 입력, 수정, 삭제 시 데이터가 안정적으로 처리될 수 있도록 보장한다.
  • 데이터 중복이 없도록 하는 원칙이 정규화의 중요한 기준 중 하나이다.
  • 다양한 유형의 검사를 통해 데이터 모델을 더욱 구조화하고 개선시키는 절차임을 이해해야 한다.

퀴즈

1. 정규화의 기본 목적에 포함되지 않는 것은 무엇인가?

  1. 1.이상현상 제거
  2. 2.데이터 중복 감소
  3. 3.데이터 보안 강화
  4. 4.데이터 일관성과 안정성 확보

2. 이상현상을 제거함으로써 어떤 이점을 기대할 수 있는가?

  1. 1.안정적 처리 보장
  2. 2.저장 공간 증가
  3. 3.처리 속도 불안정성 증가
  4. 4.데이터 보안 강화

3. 정규화의 중요한 원칙 중 하나로 옮겨서는 안 되는 내용은 어느 것인가?

  1. 1.데이터 중복 없도록 함
  2. 2.데이터 완전성 증가
  3. 3.데이터 중복 허용
  4. 4.일관성 및 안정성 확보

4. “다양한 유형의 검사를 통해 데이터 모델을 더욱 구조화하고 개선시키는 절차”라는 설명은 무엇을 의미하는가?

  1. 1.이상현상의 자동화
  2. 2.검사 방법의 확장과 체계화
  3. 3.중복 제거만 집중
  4. 4.데이터 보안 강화

함수 종속성과 결정자의 역할

개요

본 주제는 함수 종속성의 정의와 결정자와 종속자의 역할을 이해하고, 이를 바탕으로 데이터 중복과 이상현상을 제거하기 위한 정규화의 이론적 근거를 파악하는 것을 목표로 한다.

학습 포인트

  • 함수 종속성은 어떤 속성 X가 주어지면 Y가 결정되는 관계를 뜻한다.
  • X를 결정자(determinant), Y를 종속자(dependent)라고 부르며, 기본키는 일반 속성을 결정하는 결정자의 예에 해당한다.
  • 정규화는 함수 종속성의 관계를 이용하여 데이터 중복을 제거하고 이상현상을 최소화하는 과정을 말한다.
  • 결정자와 종속자 간의 관계를 이해하는 것은 데이터의 중복을 배제하고 안정적인 데이터 처리를 보장하는 정규화의 이론적 기초가 된다.

퀴즈

1. 함수 종속성의 정의는 무엇인가?

  1. 1.어떤 속성 X가 주어지면 Y가 결정되는 관계
  2. 2.데이터의 중복이 항상 발생하는 관계
  3. 3.데이터베이스에서 모든 속성이 서로 독립적인 관계
  4. 4.하나의 속성만으로 모든 값을 예측하는 관계

2. X를 결정자(determinant), Y를 종속자(dependent)라고 할 때, 기본키의 역할은 무엇인가?

  1. 1.일반 속성을 결정하는 결정자의 예에 해당한다
  2. 2.종속자를 결정하는 결정자의 예에 해당한다
  3. 3.정규화를 방해하는 요소이다
  4. 4.데이터 중복을 증가시키는 요인이다

3. 정규화의 목적은 무엇인가?

  1. 1.함수 종속성을 이용해 데이터 중복을 제거하고 이상현상을 최소화하기 위함
  2. 2.모든 데이터를 하나의 테이블에 모아 처리 속도를 높이기 위함
  3. 3.데이터의 보안을 강화하기 위해 중복을 늘리기 위함
  4. 4.트랜잭션의 롤백을 방지하기 위함

4. 다음 중 결정자와 종속자 간의 관계를 이해하는 것이 왜 중요한가?

  1. 1.데이터의 중복을 배제하고 안정적인 데이터 처리를 보장하기 위함
  2. 2.데이터의 접근 권한을 관리하기 위함
  3. 3.데이터의 형식을 일관되게 유지하기 위함
  4. 4.네트워크 대역폭을 최적화하기 위함

정규화의 역사와 1차 정규화(원자성)

개요

정규화 이론의 발전 맥락에서 1차 정규화의 핵심은 속성의 원자성 확보와 반복 값(리피팅 밸류)의 분리를 통해 테이블 구조를 단순화하고 이상현상을 완화하는 데 있다.

학습 포인트

  • 1차 정규화는 모든 속성이 원자적 값을 갖고 반복 값을 별도 테이블로 분리하는 것을 의미한다.
  • 1차 정규화를 통해 프라이머리 키에 대한 원자적 값을 확보하는 것이 중요한 특징으로 제시된다.
  • 2차 정규화는 주 식별자 전체에 걸친 종속적이지 않는 속성을 분리하는 것을 목표로 한다.
  • 3차 정규화는 속성의 종속적이지 않은 속성들을 분리하고 트랜지티브 디펜던시를 제거하는 것을 강조한다.

퀴즈

1. 1차 정규화의 핵심 목표는 무엇인가?

  1. 1.모든 속성을 다중 값으로 허용하는 것
  2. 2.프라이머리 키를 제거하는 것
  3. 3.속성을 원자적 값으로 만들고 반복 값을 분리하는 것
  4. 4.트랜지티브 디펜던시를 추가하는 것

2. 2차 정규화에서 중점적으로 분리하는 것은 무엇인가?

  1. 1.속성의 원자성 보장
  2. 2.주 식별자 전체에 걸친 부분적 종속성 제거
  3. 3.멀티밸류 디펜던트의 분리
  4. 4.릴레이션 간의 조인 제거

3. 3차 정규화에서 다루는 주된 개념은 무엇인가?

  1. 1.프라이머리 키의 원자성 확보
  2. 2.반복 값을 별도 테이블로 분리하는 것
  3. 3.속성의 종속적이지 않은 속성의 분리와 트랜지티브 디펜던시 제거
  4. 4.보이스-코드의 도입

4. 영상에서 4차/5차 정규화의 등장 맥락은 무엇과 관련이 있는가?

  1. 1.프라이머리 키 제거를 목표로 함
  2. 2.멀티밸류 디펜던트 및 조인 디펜던트의 확장과 관련
  3. 3.1차 정규화의 반대 개념을 제시
  4. 4.트랜지티브 디펜던시를 처음으로 인정하는 것

2차 정규화(부분 종속성 분리)

개요

2차 정규화는 기본키가 복합키일 때 일부 속성이 부분적으로만 함수적으로 종속될 경우 이를 별도의 엔터티로 분리하여 중복을 줄이고 데이터 무결성을 유지하는 방법이다. 이 과정을 통해 입력·수정·삭제 시 발생할 수 있는 아노말리를 방지한다.

학습 포인트

  • 2차 정규화는 기본키가 두 개 이상일 때 그 중 일부 속성에만 함수적으로 종속되는 경우를 다룬다.
  • 중복 저장을 제거하고 데이터 무결성을 유지하기 위해 부분 종속 속성을 별도의 엔터티로 분리한다.
  • 예시로 제품명과 재고 수량이 주문번호 없이도 제품 번호로 결정되는 경우를 따로 분리하여 2차 정규화를 적용한다.
  • 2차 정규화의 핵심은 PK의 구성 요소 중 일부에만 종속된 속성을 분리하는 것임을 이해한다.
  • 이 과정을 통해 입력, 수정, 삭제 시 발생할 수 있는 아노말리를 방지할 수 있다.
  • 2차 정규화의 다음 단계로 3차 정규

퀴즈

1. 2차 정규화의 주된 목적은 무엇인가요?

  1. 1.기본키가 단일 속성일 때만 적용된다.
  2. 2.기본키가 복합키일 때 일부 속성이 부분적으로만 함수적으로 종속될 경우 이를 분리하여 중복과 이상을 방지한다.
  3. 3.모든 속성을 하나의 테이블에 모아 데이터 중복을 늘리는 것을 목표로 한다.
  4. 4.1차 정규화에서 제거된 제약을 다시 도입하는 것이다.

2. 아래 상황에 2차 정규화를 적용해야 하는 이유는 무엇인가요?

  1. 1.주문번호가 없어도 제품 정보를 결정할 수 있는데도 하나의 테이블에 모여 중복이 발생하기 때문이다.
  2. 2.주문번호가 반드시 필요하기 때문에 중복을 늘리려는 목적이다.
  3. 3.기본키가 단일 속성일 때만 부분 종속이 발생하기 때문이다.
  4. 4.데이터 무결성을 해치려는 의도가 있을 때이다.

3. “PK의 구성 요소 중 일부에만 종속된 속성을 분리”한다는 설명은 2차 정규화의 어떤 측면을 나타내나요?

  1. 1.모든 속성이 후보키에 의해서만 결정되는 것을 보장한다.
  2. 2.PK의 두 개 이상인 경우, 그 중 일부에만 기능적으로 종속된 속성을 별도의 엔터티로 분리한다.
  3. 3.기본키를 제거하고 대체키로 대체하는 것을 의미한다.
  4. 4.종속성을 제거하기 위해 모든 속성을 하나의 테이블에 합치는 것을 의미한다.

4. 2차 정규화를 적용한 결과로 기대되는 효과는 무엇인가요?

  1. 1.입력·수정·삭제 시에 발생하는 아노말리를 증가시키는 효과
  2. 2.중복 저장을 제거하고 데이터 무결성을 유지하는 효과
  3. 3.데이터베이스의 저장 용량을 증가시키는 효과
  4. 4.모든 엔터티를 하나의 큰 테이블로 합치는 효과

3차 정규화(추이적 종속성 제거) 및 정리

개요

3차 정규화는 일반 속성들 중에서 다른 속성을 결정할 수 있는 항목인 추이적 종속성을 별도의 테이블로 분리하여 데이터 중복과 이상현상을 제거하고 ERD를 안정화시키는 과정이다. 이를 통해 입력, 수정, 삭제 시 발생할 수 있는 이상현상을 방지하고 데이터의 정확성과 처리 안정성을 향상시킬 수 있다.

학습 포인트

  • 3차 정규화는 추이적 종속성을 제거하기 위해 일반 속성 중에서도 PK로 될 만한 속성을 별도의 테이블로 분리하는 것을 의미한다.
  • 예시로 고객 번호가 다른 속성들을 결정하는 경우, 이를 고객 엔터티로 분리하여 정규화 과정을 수행한다.
  • 3차 정규화를 거치면 데이터의 중복성이 줄어들고 입력과 수정, 삭제 시 발생하는 이상현상이 감소한다.
  • 정규화의 핵심은 함수 종속성 이론에 기반한 중복 제거를 통해 데이터의 안정성과 정확성을 확보하는 데 있다.

퀴즈

1. 3차 정규화에서 제거하려는 주요 개념은 무엇인가?

  1. 1.기본키를 각 테이블에 하나만 두는 원칙
  2. 2.트랜지티브 디펜던시를 분리하여 독립된 테이블로 나누는 것
  3. 3.모든 속성을 한 테이블에 모으는 반정규화
  4. 4.외래키 제약을 제거하는 것

2. 아래 설명에서 옳은 것은?

  1. 1.3차 정규화는 일반 속성 중에서 PK로 될 만한 속성을 하나의 테이블에 남겨두는 과정이다
  2. 2.고객 번호가 다른 속성을 결정하는 경우, 이를 별도 테이블로 분리하여 정규화한다
  3. 3.3차 정규화는 중복성을 증가시켜 입력·수정 시 이상현상을 유발한다
  4. 4.정규화의 핵심은 데이터의 비정규화를 통해 처리 속도를 높이는 것이다

3. 트랜지티브 디펜던시가 해결되면 어떤 효과가 기대되는가?

  1. 1.데이터의 중복성이 늘어나고 입력이 빨라진다
  2. 2.데이터의 중복성이 줄고 입력/수정/삭제 시 이상현상이 감소한다
  3. 3.ERD의 복잡도가 증가하고 관리가 어려워진다
  4. 4.PK의 중요성이 약화되어 데이터 무결성이 저하된다

4. 3차 정규화를 이해하는 핵심은 무엇에 기반하는가?

  1. 1.함수 종속성 이론에 기반한 중복 제거를 통해 데이터의 안정성과 정확성을 확보하는 것
  2. 2.물리적 저장 공간을 최소화하기 위한 실무 중심의 규칙
  3. 3.전체 데이터 구조를 한 테이블에 몰아넣는 반정규화 전략
  4. 4.외래키 없이 독립적으로 모든 속성을 관리하는 설계
13. 정규화 | 논리 데이터 모델링 | ★SQL 뽀개기 | SQLD | 정보처리기사 | 정보처리기능사 | 데이터베이스 | SQL 무료강의 | EduYouTube