dh_0e

[특강] 관계형 데이터베이스 정규화 본문

내일배움캠프/특강

[특강] 관계형 데이터베이스 정규화

dh_0e 2024. 5. 23. 02:11
  • 관계형 베이스에선 snake_case가 표준임
  • 일반적으로 sql은 대소문자를 구분하지 않음 (case-insensitive)
  • ERD 설계를올바르게 하기 위해선 정규화 기본 개념을 잘 숙지해야 함

 

정규화 - 1NF (제 1 정규화)

  • 1NF의 기본 원칙은 '테이블의 모든 컬럼은 원자값만을 가진다'임
  • 원자값이란 더 이상 나눌 수 없는 단순한 값을 의미

1NF 예시

 

정규화 - 2NF (제 2 정규화)

  • 2NF의 기본 원칙은 '모든 비주요 속성이 테이블의 기본 키에 대해 완전 함수적 종속이어야 한다'임
비주요 속성이란?
- 테이블의 기본 키를 구성하는 컬럼이 아닌 나머지 컬럼들을 의미함
- 위 테이블에선 학생_이름, 수강_과목 컬럼이 해당됨

 

함수적 종속

  • y=f(x) 하나의 컬럼 값이 다른 컬럼 값에 의해 결정되는 관계
  • 위 테이블에선 학생_이름이 학생_ID에 종속된 상황, 수강_과목은 어디에도 종속되어있지 않음

2NF 예시