• 삭제이상(deletion anomaly) 삽입이상(insertion anomaly) 갱신이상(update anomaly)를 해결 하기 위한 방법
  • 데이터의 중복을 줄여서 바람직한 테이블로 만드는 과정
  • 한가지 사실은 한 곳에서만 나타난다는 원리를 형시화한 것
  • 일반적으로 제3 정규형을 만족하면 그 이후의 정규형의 조건은 자연스럽게 만족 하게 된다.
  • 과정은 가역적이다 (2NF에서 3NF으로 바꾸었을 때 3NF에서 다시 2NF로 돌아갈 수 있는 과정)

함수 종속(FD: functional dependency)

  • X → Y: 어떤 릴레이션 R에서, 애트리뷰트 X의 값 각각에 대해 애트리뷰트 Y의 값이 하나만 연관 된 것
    • X는 Y의 결정자(determinant)

무손실 분해

  • 분해된 테이블을 자연조인 할 때 손실되는 데이터가 없는 분해 방법
  • 가역성: 분해된 테이블을 조인 했을때 원래대로 돌아오는 경우
  • 손실 판단 방법: 테이블 분해 후 함수적 종속성이 남아있는지 여부를 확인

정규화 과정

  • 제1 정규형(1NF): 모든 속성이 원자값을 가지는 테이블
  • 제2 정규형(2NF): 기본키가 아닌 모든 속성이 기본키에 완전히 종속되어야 한다. (목표: 부분적 함수 종속 제거)
    • ex: 학생ID와 과목코드로 이루어진 복합키가 있고, 이에 종속된 속성으로 성적이 있는 경우, 성적은 학생ID와 과목코드 모두에 종속되어야 한다. 만약 성적이 학생ID에만 종속되어 있다면, 이는 제2정규형을 만족하지 않는다.
  • 제3 정규형(3NF): 모든 속성이 좌변 최소성으로 종속되어있어야 하고 상호 독립적이어야 한다. (목표: 이행적 함수 종속 제거)
    • 기본키가 아닌 다른 속성에 종속되는 속성이 없어야 한다.
    • ex: 학생ID가 기본키이고, 학생ID에 종속된 속성으로 학과명이 있고, 학과명에 종속된 속성으로 학과위치가 있다면, 이는 제3정규형을 만족하지 않는다.
  • BCNF
  • 제 4 정규형(4NF)
  • 제 5 정규형(5NF)

FD(함수적 종속) 다이어그램

  • 결정자와 종속자의 관계를 화살표로 나타낸 것
  • 결장자가 기본키가 아니라면 중복이 존재하는 것
  • 모든 다른 속성을 함수적으로 결정한다 → 후보키(기본키)

'CS > DataBase' 카테고리의 다른 글

동시성 제어  (0) 2023.05.22
트랜잭션  (0) 2023.05.19
개체 관계  (0) 2023.05.10
데이터베이스 설계  (0) 2023.04.30
물리적 저장 구조와 인덱스  (0) 2023.04.26

+ Recent posts