본문 바로가기
백엔드/SQLD

정규화

by 1005ptr 2020. 11. 26.
반응형
  • 1차 정규화
    • 속성이 여러개의 값을 가지면 안된다.
    • 예시) 규칙 셋 테이블
규칙 셋 ID 규칙 ID1 규칙 ID2 규칙 ID3 규칙 ID4 규칙 ID5
111 111_1 111_2 111_3 111_4 111_5

위 구조는

규칙 셋 >- 규칙

형태이다. 규칙 셋 별로 최대 5개의 규칙만 등록할 수 있다.

규칙 셋 -< 규칙 셋에 속한 룰(관계 테이블) >- 규칙

구조로 변경되어야 한다.

 

다른 예시)

보통 1차 정규화 예시에는 한 속성에 "111_1, 111_2, 111_3, 111_4, 111_5"

같이 저장된 경우가 많이 나온다.

위의 예시는 역정규화라고 해야되나? 1차 정규형 예시에 적합한지는 잘 모르겠다.

  • 2차 정규화
    • 모든 속성은 기본키에 종속되어야 한다.
    • 기본키가 복합키면 복합키 전체에 종속되어야 한다.
  • 3차 정규화
    • 기본키 아닌 속성끼리 종속관계가 있으면 안된다.
    • 그런 경우 부모만 남기고 종속관계는 별도 테이블로 분리
  • BCNF
  • 4NF
  • 5NF
  • 6NF

완전 함수 종속

부분 함수 종속

이행적 함수 종속

함수 종속성

삽입이상

갱신이상

삭제이상

 

반응형

'백엔드 > SQLD' 카테고리의 다른 글

서브쿼리  (0) 2020.11.27
외워야되는 명령어, 함수  (0) 2020.11.26
조인  (0) 2020.11.26
NULL과 관련된 규칙들  (0) 2020.11.25
외울거 정리  (0) 2020.11.25

댓글