데이터베이스 설계(9)

이정훈·2024년 12월 10일

대학강의

목록 보기
9/19

데이터의 논리적 표현

관계 스킴의 설계

관계 모델을 이용하여 어떻게 실세계를 정확히 표현할 것인가?

  1. 애트리뷰트, 엔티티, 관계성을 파악

  2. 관련된 애트리뷰트들을 릴레이션으로 묶음
    데이터 종속성: 애트리뷰트들 간의 관계성
    효율적인 데이터 조작
    데이터의 중복성 감소

  3. 변칙적 성질인 이상예방

이상의 원인과 해결책

이상의 원인은?

애트리뷰들 간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현

이상의 해결 방법은

애트리뷰트들 간의 종속관계를 분석하여 여러 개의 릴레이션으로 분해
=> 정규화

함수 종속

함수 종속의 정의

어떤 릴레이션 R에서, 애트리뷰트 X의 값 각각에 대해 애트리뷰트 Y의 값이 하나만 연관
애트리뷰트는 Y는 애트리뷰트 X에 함수 종속: X -> Y
EX) 학번 -> 이름

애트리뷰트 X는 Y를 함수적으로 결정
X는 Y의 결정자
Y는 X의 종속자

X, Y는 복합 애트리뷰트일 수 있다.
EX)(학번, 과목) -> 성적

알아둘 점

릴레이션 R에서 애트리뷰트 X가 후보키이면, R의 모든 애트리뷰트 Y에 대해 X->Y가 성립한다.

함수종속 X->Y의 경우
애트리뷰트 X가 반드시 키라는 것을 요건으로는 하지 않는다.

함수 종속 다이어그램

수강 릴레이션(학번, 학년, 과목번호, 성적)에서 기본 키는?

(학번, 과목번호)가 기본키이다. 기본키는 유일하며 다른 값들의 결정자여야 한다.

함수 종속은?
(학번, 과목번호) -> 성적
학번 -> 학년

함수 종속에서의 추론

Armstrong's Axioms

  • 반사성: Y가 X의 부분집합이라면 X -> Y이다.

  • 확장성: X->Y라면 XZ->YZ도 성립한다.
    참고로 XZ->YZ가 X->Y인 것은 성립하지 않는다.

  • 추이성: X->Y이고 Y->Z이면 X->Z이다.

  • 합집합: X->Y이고 X->Z이면 X->YZ이다.

  • 분해: X->YZ이면 X->Y이고 X->Z이다.

  • F의 페포는 F에 의해 추론되는 FD(함수 종속)s의 모든 집합이다.

이산 수학 안 배워서 모르는 내용

그래프 R에 대하여 R^2은 R의 한 점 X에 대해서 두 번에 걸쳐 갈 수 있는 점 Z를 가리킨다.

기본 정규형

정규형

어떤 일련의 제약 조건을 만족하는 릴레이션

정규화의 과정

  1. 애트리뷰트들과 이들의 제약 조건 (종속성)들을 수집
  2. 수집된 결과를 명시된 제약 조건에 따라 여러 개의 릴레이션으로 분할 => 스키마 변환

정규화의 원칙

  1. 무손실 표현
    같은 의미의 정보 유지하면서 그러나 더 바람직한 구조
  2. 데이터의 중복성 감소
  3. 분리의 원칙
    독립적인 관계는 별개의 릴레이션으로 표현
    릴레이션 각각에 대해 독릭접 조작이 가능

제 1정규형

정의

모든 도메인이 원자 값만으로 된 릴레이션

해결되지 않는 이상

  1. 삽입이상
  2. 삭제이상
  3. 갱신이상

이상이 발생하는 이유

완전 함수 종속이 아니여서.

제 2정규형

정의

제 1정규형을 만족하고 키에 속하지 않는 모든 애트리뷰트들이 기본키에 완전 함수 종속이다.
무손실 분해를 하는 것이다.

해결되지 않는 이상

  1. 삽입이상
  2. 삭제이상
  3. 갱신이상

이상이 발생하는 이유

이행적 함수 종속이 존재해서

제 3정규형

정의

제 1정규형과 제 2정규형을 만족하고 모든 애트리뷰트들이 후보 키에 이행적 함수 종속이 되지 않음

해결되지 않는 이상

  1. 삽입이상
  2. 삭제이상
  3. 갱신이상

이상이 발생하는 이유

결정자인데 후보키가 아닌 애트리뷰트가 존재

보이스/코드 정규형(BCNF)

정의

제 1정규형, 제 2정규형, 제 3정규형을 마족하면서 릴레이션 R의 모든 결정자가 후보키이면 릴레이션 R은 BCNF에 속한다.
강한 3 정규형이라고도 부른다.

제 4정규형

정의

BNDF이고 릴레이션에서 다치 종속 되지 않는다.
다치 종속: A ->-> B 라고 표시한다.
다치 종속은 A의 속성값이 B 속성 값의 집합을 결정하게 되는 경우이다.

제 5정규형

정의

제 4정규형이고 조인 종속이 후보 키를 통해서만 성립이 되도록 한다.
조인 종속은 원래의 릴레이션을 분해한 뒤 자연 조인한 결과가 원래의 릴레이션과 같은 결과가 나오는 종속성

참고

  • 실제로는 BCNF까지가 쓰인다. 왜냐하면 4NF이상의 정규화를 진행하면 테이블수가 너무 많아져 부담되기 때문이다.

정규화의 단점

테이블 수가 많아질수록 조건결합, 즉 join의 부담으로 인해 답은 더 늦게 나올 수 있다.
역정규화: 정규화된 릴레이션을 물리적 데이터 모델링 과정에서 성능을 향상시키기 위해 중복을 허용하고라도 다시 통합하거나 분할하여 구조를 재조정하는 것
정규화와 테이블 수 최적화라는 두 마리의 토끼를 한꺼번에 잡기는 어려움

profile
기록으로 흔적을 남깁니다.

0개의 댓글