데이터베이스 정규화

H802·2024년 9월 10일

프로그래밍 개념

목록 보기
2/6

📘 데이터베이스 정규화

데이터베이스 정규화는 데이터를 효율적으로 저장하고, 중복을 줄이며, 데이터 무결성을 유지하기 위한 과정
즉, 데이터베이스의 구조를 정리하는 과정

📘 데이터베이스 정규화

  • 제1정규형 (1NF): 테이블의 모든 열이 원자값, 즉 하나의 값만을 가지도록 하는 거예요. 예를 들어, 한 열에 여러 개의 값을 저장하지 않고, 각각의 값을 개별적인 행으로 나누는 것이죠.

    예를 들어, 학생 정보를 담은 테이블에서 "전화번호" 열에 여러 개의 전화번호가 저장되면, 이를 각기 다른 행으로 나누는 것이 1NF입니다.

  • 제2정규형 (2NF): 제1정규형을 만족하면서, 기본 키가 아닌 다른 모든 열이 기본 키에 완전 함수 종속되어야 한다는 거예요. 즉, 부분적인 종속성을 제거하는 것입니다.

    예를 들어, 학생의 성적 정보를 담은 테이블에서 "과목"과 "성적"이 학생 ID에 의존하는 경우, 학생 ID가 기본 키라고 하면 과목과 성적이 학생 ID에만 의존하도록 정리하는 것이죠.

  • 제3정규형 (3NF): 제2정규형을 만족하면서, 비주요 열이 기본 키 외의 다른 비주요 열에 의존하지 않도록 하는 거예요. 즉, 전이적 종속성을 제거하는 것입니다.

    예를 들어, 학생 테이블에서 학생의 주소가 저장되어 있고, 주소에서 시/도/구/동 같은 정보가 추가로 저장되는 경우, 이들 정보를 별도의 테이블로 나누어 관리하는 것이 3NF입니다.

📚 정규화를 통해 데이터베이스의 구조를 잘 정리하면, 데이터 중복을 줄이고, 데이터의 무결성을 유지할 수 있습니다.

profile
배운 내용 정리하기 위해 쓰는 블로그

0개의 댓글