본문 바로가기

정보처리기사/필기

과목3 - 데이터베이스 : 정규화

  • 정규화
    • 중복을 제거하기 위함 이상현상을 방지하기 위해서...
    • 중복을 최소화 하기 위해서 여러 릴레이션(테이블)로 쪼갠다.
    • 제 1정규형
      • 원자값(Atomic Value) - 더이상 분해 할 수 없다. 라는 뜻이다.
      • 모든 속성이 원자값이다.
      • 모든 도메인이 원자값이다.
    • 제 2정규형
      • 1 정규형 만족
      • 부분 함수 종속성 제거
      • 완전 함수적 종속 관계를 만족해야함 
        • 한 테이블 과목별 수강료에 대한 테이블과 수강생에 대한 테이블이 모두 모여있다면, ㄴ이 듣고 있는 500원 짜리 수강 과목을 삭제 함으로써, 관련 없는 D의 수강생까지 삭제 된다는 것. 그래서 삭제 이상이 발생함
          • 그래서 테이블을 쪼개서 수강생 테이블과 과목 테이블로 나누어 관리함으로써 삭제 이상을 예방함

위의 커리큘럼 테이블을 수강색 테이블과 과목 테이블로 나눔

  • 제 3정규형
    • 이행적 종속 제거
    • 제 2정규형 이행
  • 보이스코드 정규형
    • 모든 결정자가 후보키이며, 결정자이면서 후보키가 아닌 것 제거
    • 결정자가 후보키가 아닌, 함수 종속 제거
    • 이중 기본키을 둠으로써, 유니크 해짐.