티스토리 뷰

1. 잘못된 데이터베이스 모델링

  • 데이터 중복
    • 일관성 유지의 어려움
    • 저장 공간 낭비
  • 갱신 이상
    • 삽입 이상
      • 레코드 추가 시 불필요한 컬럼값 없이는 추가하지 못하는 경우
    • 삭제 이상
      • 삭제 시 의도하지 않았던 다른 데이터가 삭제되는 경우
    • 수정 이상
      • 일부 레코드 수정 시 데이터의 일관성이 훼손되는 경우

2. 좋은 릴레이션의 개념

  • 컴퓨터 프로그래머적 관점에서의 모델
    • 어떻게 데이터를 저장해야 하는가?
  • 릴레이션의 스키마가 얼마나 효율적으로 실세계를 반영하고 있는지 평가
  • 고려사항
    • 릴레이션 내의 컬럼 간의 관계 분석
    • 불필요한 데이터의 종속과 중복제거
    • 새로운 컬럼들이 데이터베이스에 추가될 때, 기존 컬럼과의 관계 수정을 최소화

3. 함수적 종속성의 개념

  • FD ( Functional Dependency )
  • 릴레이션 인스턴스를 분석하여 속성들 간의 연관관계를 표현하는 것
  • 릴레이션의 효율성을 향상시켜 좋은 릴레이션으로 변환하는데 이용되는 중요한 개념
  • 형식적 정의
    • 임의의 릴레이션 스키마 R의 인스턴스r(R)에 포함되는 서로 다른 두 레코드 r1, r2가 컬럼 집합 X와 Y에 대해, r1[X] = r2[X]일때, r1[Y] = r2[Y]이면 함수적 종속성 X→Y가 성립한다.
  • 예시
    • {등급} → {할인율}
    • 등급은 결정자, 할인율은 종속자에 해당

4. 함수적 종속성의 확장

  • 함수적 종속성은 릴레이션의 효울성 여부에 중요한 판단기준
    • 그러나 릴레이션의 인스턴스만으로 내재된 모든 함수적 종속성을 찾아내기 어려움
  • 판별되지 않은 모든 함수적 종속성을 도출하기 위해 추론 규칙 등을 사용하여 함수적 종속성을 확장
  • 클로저( Closure )
    • 판별된 함수적 종속성 집합으로부터 유추할 수 있는 모든 함수적 종속성 집합
    • 표기 : F⁺

5. 함수적 종속성 추론 규칙

  • 암스트롱 공리 ( Armstrong’s axiom )
    • 재귀성 규칙 : X ⊇ Y이면, X → Y이다
    • 부가성 규칙 : X → Y이면, XZ → YZ이다
    • 이행성 규칙 : X → Y이고, Y → Z이면, X → Z이다
    • 분해 규칙 : X → YZ이면, X → Y이다
    • 합집합 규칙 : X → Y이고, X → Z이면, X → YZ이다
    • 의사 이행성 규칙 : X → Y이고, WY → Z이면, WX → Z이다

6. 카노니컬 커버

  • 미니멀 커버 혹은 최소 커버로도 부른다.
  • 함수적 종속성 추론 규칙으로 확장된 클로저에는 자명한 종속성중복된 종속성을 포함
    • 자명한 종속성 : A → A.와 같이 당연한 의미를 지닌 종속성
    • 중복된 종속성 : X → AB, X → B와 같이 의미가 여러 번 존재
  • 불필요한 함수적 종속성을 제거한 표준형으로 변환 후 정규화를 수행
    • 표준형에 대한 집합이 카노니컬 커버
  • 표준형 조건
    • 𝑭의 모든 함수적 종속성의 종속자의 속성은 반드시 1개
    • 𝑭에서 𝑿 → 𝑨를 𝑿의 진부분집합 𝒀에 대하여 𝒀 → 𝑨로 교체했을 때, 그 집합이 𝑭와 동일한 집합이 불가능
      • 가장 최소화 되어있는지를 확인하는 조건
    • 𝑭에서 어떤 함수적 종속성을 제거했을 때, 그 집합이 𝑭와 동일한 집합이 불가능
      • 위 집합은 표준형에 해당하므로 반드시 필요함

7. 정규형

  • 이상 현상을 최소화하도록 특정 조건을 갖춘 릴레이션의 형식
  • 정규형의 분류
    • 제1정규형
    • 제2정규형
    • 제3정규형
    • BC 정규형
    • 제4정규형
    • 제5정규형
  • 정규형이 높아질수록 점점 더 까다로운 조건 만족

8. 정규화의 목적

  • 정규화의 정의
    • 특정 정규형의 조건을 만족하도록 릴레이션과 속성을 재구성하는 과정
  • 정규화의 기능
    • 데이터베이스 내에 모든 릴레이션을 효율적으로 표현
    • 바람직하지 않은 삽입, 수정, 삭제 등의 이상 발생 방지
    • 보다 간단한 관계 연산에 기초하여 검색 알고리즘을 효율적으로 작성할 수 있도록 지원
    • 새로운 형태의 데이터가 삽입될 때, 릴레이션 재구성의 필요성을 축소

9. 제1정규형

  • 가장 조건이 단순한 정규형
  • 가장 포괄적인 정규형
  • 형식적 정의
    • 릴레이션 스키마에서 정의된 모든 속성의 도메인이 원자값을 갖는 상태
  • 관계형 모델의 특성을 만족하는 경우, 자동 적용되는 정규형

10. 예제 릴레이션에 대한 부연설명 ( 도크 릴레이션 )

  • 선박이 항구에 정박하기 위해 정밀한 작업이 요구
    • 풍향과 풍속, 파도와 안개 상황 등을 고려
    • 단순히 수신호뿐만 아니라 소형 배들로 정박하려는 대형 배를 밀어 안전하게 위치시키는 작업을 고려
  • 도선사
    • 배를 도크에 안전하게 접안시키고 항로로 인도하는 일을 하는 사람
  • 도크
    • 선박의 건조, 수리, 계선, 하역 작업 등을 위해 축조된 설비 및 시설의 총칭

11. 제1정규화를 수행한 릴레이션

  • 원자적 상태의 속성값으로만 구성 (제1정규화)

12. 함수적 종속성 판별

  • 함수적 종속성의 형식적 정의
    • 임의의 릴레이션 스키마 R의 인스턴스 r(R)에 포함되는 서로 다른 두 레코드 r₁, r₂가 컬럼 집합 X와 Y에 대해, r₁[X] = r₂[X]일 때, r₁[Y] = r₂[Y]이면 함수적 종속성 X → Y가 성립한다

13. 함수적 종속성 다이어그램

  • FDD (Functional Dependency Diagram)
  • 릴레이션 내의 속성 간의 종속 관계를 직관적이고 이해하기 쉽게 도식화한 표현 방식
    • 직사각형 : 속성 또는 속성 집합
    • 화살표 : 함수적 종속성
    • ex. 목적(결정자) → 담당 도선사(종속자)

14. 제2정규형의 정의

  • 릴레이션이 제1정규형을 만족하고 기본키의 부분집합이 특정 속성을 종속하고 있지 않은 상태
  • 형식적 정의
    • 주어진 릴레이션의 인스턴스가 기본키가 아닌 속성(비주속성)이 기본키(주속성)에 완전히 종속되어 있는 상태
  • X → Y에 대한 함수 종속 관계
    • 부분 함수 종속 : Y가 X의 전체가 아닌 일부에 종속
    • 완전 함수 종속: Y가 X의 전체에 종속

15. 제2정규형의 적용

  • 기본키에 완전 종속되도록 릴레이션을 분해

16. 릴레이션의 무손실 분해

  • 무손실 분해 (lossless decomposition)
    • 정의
      • 스키마 R에 함수적 종속성 X → Y가 존재하고 X ∩ Y ≠ ∅(공집합)이면, R을 R−Y와 XY로 분해
  • 도크관리 릴레이션 무손실 분해
    • {도크번호} → {도크관리자}
    • {도크번호} ∩ {도크관리자} = ∅
    • → 도크관리 - {도크관리자}와 {도크번호, 도크관리자}로 분해

17. 제3정규형의 정의

  • 형식적 정의
    • 릴레이션이 제2정규형을 만족하고, 기본키가 아닌 속성들이 어떤 키에도 이행적으로 종속되지 않은 상태
  • 이행적 종속성
    • X → Y이고 Y → Z이면 X → Z이다

18. BC 정규형의 정의 (*)

  • 형식적 정의
    • 릴레이션이 제3정규형을 만족하고 릴레이션에 성립하는 X → Y 형태의 모든 함수적 종속성에 대하여 X가 수퍼키인 상태
  • 입출항관리 릴레이션의 함수적 종속성
    • {도크번호, 입항시간} → {목적}
    • {도크번호, 입항시간} → {출항시간}
    • {목적} → {도크번호}

19. 역정규화의 개념

  • 정규화
    • 릴레이션 분할을 통해 데이터의 중복성을 최소화하는 과정
    • 사용 과정에서 많은 조인 연산을 유발
  • 역정규화
    • 정규화의 반대 과정
    • 정규화를 통해 분리되었던 릴레이션을 통합하는 재조정을 수행하고 정보의 부분적 중복을 허용하는 기법
    • 데이터 접근 성능 개선 목적
      • 데이터 검색 결과가 빠르게 나타날 수 있도록
  • 정규화 되지 않은 스키마와 역정규화 스키마는 구별
728x90

'방송대 > 데이터베이스 시스템' 카테고리의 다른 글

10강. 데이터 저장과 파일  (0) 2025.04.23
9강. 저장 객체  (0) 2025.04.14
7강. SQL(4)  (0) 2025.04.04
6강. SQL (3)  (0) 2025.03.24
5강. SQL (2)  (0) 2025.03.17
댓글
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
최근에 올라온 글
Total
Today
Yesterday
공지사항