정규화

jiiiiiiiArchive.·2025년 1월 18일

✏자격증✏

목록 보기
4/7
post-thumbnail

정규화 (무조건 나옴 !!!)

1 2 3차 정규화 정리
  • 데이터를 이용하기 쉽게 만드는 과정

1차 정규화 -> 1차 정규형
2차 정규화 -> 2차 정규형
3차 정규화 -> 3차 정규형

2차 정규화 : 1차 정규형을 만족하는 테이블

  • 1차 정규형 : 한 속성에 한 속성값
  • 2차 정규형 : 주식별자에 의해 모든 속성이 종속
  • 3차 정규형 : 일반 속성 간 함수종속이 없는 상태

함수적 종속성 종류

  • 완전
    • 주식별자가 모든 속성 구분
  • 부분
    • 식별자가 속성 일부만 구분
  • 이행
    • 일반속성이 다른 일반속성을 구분

  • 결정자
    • 후보키 아닌 결정자 존재

1차 정규화 필요
2차 정규화 필요 = 부분 함수적 종속을 가진 상태
3차 정규화 필요 = 이행 함수적 종속을 가진 상태
BCNF(보이스코드) 정규화 필요 = 결정적 함수적 종속

정규화 주의사항

  • 정규화는 단계별로 ! 이전 정규화를 만족해야한다.
  • 정규화를 거치고 나면 테이블 숫자 늘어나겠네. => 한 테이블씩 조회 성능 올라감 => 조인 많이 써아하네. => 성능 저하
  • 일반적으로는 정규화하면 성능이 좋아진다.
  • 하지만 '무조건' 좋아지지는 않는다.
  • 정규화를 계속 진행하다보면 성능이 오히려 안좋아질 수 있다. => 반정규화(되돌리기)
    • '반정규화는 데이터 중복을 허용하는 것'

계층형 데이터 모델

  • 한 테이블(상사-부하) 계층이 모두 있는 모델

트랜잭션 TCL

  • ALL OR NOTHINIG 원칙 -> 분리될 수 없는 업무단위
  • 원자성 : ALL OR NOTHING
  • 일관성 : 실행 전 후 잘못됨이 없어야 함
  • 고립성 : 실행 도중에 다른 트랜잭션 접근 불가
  • 영속성 : 실행 후 데이터는 영구 저장

NULL 속성

  • 0이 아니다.
  • 공백 아니다.
  • IS NULL로 체크 가능
    _ NULL 포함 연산하면 NULL이 나온다.
  • NULL 포함 비교GKAUS FALSE, UKNOWN이 나온다.
  • 집계함수 NULL 제외
  • SUM ,COUNT(*). MAX, MIN

본질 / 인조식별자>

본질식별자 : 엄업무에 의해 발생

  • 인조식별자 : 본질식별자가 너무 복잡해서 인위적으로 생성

중복 데이터 발생

불필요한 인덱스 생성

profile
이것저것 다 적는 기록장📚

0개의 댓글