데이터베이스 제1정규형

From CS Wiki
Revision as of 14:36, 13 November 2024 by 핵톤 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

제1정규형(First Normal Form, 1NF)은 데이터베이스 정규화의 첫 번째 단계로, 테이블의 모든 속성이 원자값(atomic value)을 가지도록 설계하는 것을 의미한다. 즉, 테이블 내의 각 열(속성)은 더 이상 나눌 수 없는 단일 값을 가져야 한다. 이를 통해 데이터의 중복을 줄이고 데이터 무결성을 강화할 수 있다.

제1정규형의 조건[edit | edit source]

제1정규형을 만족하기 위해서는 다음 조건을 충족해야 한다.

  • 모든 열이 단일 값을 가져야 한다. 여러 값이나 반복되는 그룹이 허용되지 않는다.
  • 테이블 내의 각 열은 한 개의 데이터 타입으로 구성되어야 한다.
  • 각 행의 데이터는 고유해야 하며, 중복된 데이터가 없어야 한다.

제1정규형의 예[edit | edit source]

  • 1NF에 맞지 않는 예시

학생 정보를 저장하는 테이블에서, 각 학생이 수강하는 여러 과목을 하나의 열에 콤마로 구분해 저장한다고 가정한다.

학생ID 이름 수강 과목
1 홍길동 수학, 영어
2 이영희 과학, 사회, 미술

위와 같은 구조는 1NF를 위반한다. 수강 과목 열에 여러 값이 포함되어 있으며, 이를 원자값으로 분리해야 한다.

  • 1NF에 맞게 변환된 예시

수강 과목 정보를 별도의 행으로 분리하여 원자값을 가지도록 변환한다.

학생ID 이름 수강 과목
1 홍길동 수학
1 홍길동 영어
2 이영희 과학
2 이영희 사회
2 이영희 미술

위와 같은 구조는 제1정규형을 충족하며, 각 열이 단일 값으로 구성되어 중복된 데이터 없이 데이터를 효율적으로 관리할 수 있다.

제1정규형의 장점[edit | edit source]

제1정규형을 적용하면 다음과 같은 장점을 얻을 수 있다.

  • 데이터 중복이 줄어들어 저장 공간을 효율적으로 사용할 수 있다.
  • 데이터의 무결성이 강화되어 불일치나 오류가 줄어든다.
  • 데이터 검색 및 수정이 용이해진다.

한계와 고려 사항[edit | edit source]

제1정규형은 데이터베이스 설계에서 중요한 첫 단계이지만, 데이터의 모든 중복을 제거하거나 비효율적인 구조를 해결하지는 않는다. 이를 위해 제2정규형(2NF), 제3정규형(3NF) 등의 정규화를 추가적으로 수행해야 할 수 있다.

같이 보기[edit | edit source]