처음부터 시작하는 Java
  • 데이터 정규화
    2024년 03월 22일 01시 53분 50초에 업로드 된 글입니다.
    작성자: 원2
    728x90
    반응형

    제 1정규화 : 한칸엔 하나의 데이터만!

    회원번호 회원이름 프로그램
    1 김민수 헬스
    2 강만수 테니스
    3 최민식 골프
    3 최민식 탁구

    제 1정규형 테이블

     

    제 2정규화 : 현재 테이블의 주제와 관련없는 컬럼을 다른 테이블로 빼는 작업

    * 현재 테이블은 수강등록현황 테이블

    * 정확한 명칭은 partial dependency 를 제거한 테이블 ex) 가격은 프로그램에 종속되어 있음 이걸 제거하면 됨

    * Composite primary key : 합하면 primary key 기능을 할 수 있는 컬럼.

    회원번호 회원이름 프로그램 가격 납부여부
    1 김민수 헬스 5000 0
    2 강만수 테니스 8000 1
    3 최민식 헬스 5000 1
    4 최민식 탁구 6000 0

     

    ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

    회원번호 회원이름 프로그램 납부여부
    1 김민수 헬스 0
    2 강만수 테니스 1
    3 최민식 헬스 1
    4 최민식 탁구 0

    제2정규형을 만족하는 테이블

    로그램 가격
    헬스 5000
    테니스 8000
    탁구 6000

    제2정규형을 만족하는 테이블

     

     

     

    제 3정규화 : 일반 컬럼에만 종속된 컬럼은 다른 테이블로 빼기

    로그램 가격 강사 출신대학
    헬스 5000 메시 대학1
    테니스 8000 호날두 대학2
    탁구 6000 오타니 대학3
    농구 7000 오타니 대학3
    축구 4000 김민수 대학4

    ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

    ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

    로그램 가격 강사
    헬스 5000 메시
    테니스 8000 호날두
    탁구 6000 오타니
    농구 7000 오타니
    축구 4000 김민수

     

     

    강사 출신대학
    메시 대학1
    호날두 대학2
    오타니 대학3
    김민수 대학4
    728x90
    반응형
    댓글