35

실습: 테이블 정규화하기

Day 1: 같은 주소가 100군데 있어요 - 정규화

학습 목표

비정규화 테이블을 정규화할 수 있다 정규화 후 데이터 조회 쿼리를 작성할 수 있다

정규화 실습

비정규화된 테이블을 1NF → 2NF → 3NF로 정규화해보세요.

시나리오

학원 수강 시스템의 테이블입니다. 여러 문제가 있어요. 찾아서 고쳐보세요.

문제 1: 1NF 위반 수정

students_bad 테이블의 courses 컬럼에 여러 과목이 콤마로 저장되어 있습니다. 1NF를 적용하여 분리하세요.

문제 2: 2NF 위반 수정

enrollments_bad 테이블은 복합키인데, 강좌명이 강좌ID에만 종속됩니다. 2NF를 적용하여 분리하세요.

문제 3: 3NF 위반 수정

instructors_bad 테이블에서 부서 정보가 이행 종속입니다. 3NF를 적용하여 분리하세요.

문제 4: 정규화된 테이블에서 조회

정규화된 테이블들을 JOIN하여 원래 데이터를 조회하세요.

에디터 로딩 중...
힌트 보기
  • PostgreSQL: string_to_array(column, delimiter)로 문자열을 배열로 변환
  • unnest(array)로 배열을 행으로 변환
  • TRIM()으로 앞뒤 공백 제거
  • DISTINCT로 중복 제거 후 삽입
정답 보기
에디터 로딩 중...