시스템 설계 · 기초
정규화 단계 중 1차 정규형(1NF), 2차 정규형(2NF), 3차 정규형(3NF)이 각각 무엇을 의미하는지 간략하게 설명해주세요.
힌트 · 1NF는 원자 값, 2NF는 부분 함수 종속 제거, 3NF는 이행 함수 종속 제거를 목표로 합니다.
원자성기본키부분적 종속이행적 종속함수적 종속
모범답안
면접관님, 데이터베이스 정규화는 데이터 중복을 최소화하고 데이터 무결성을 유지하기 위한 과정입니다. 1차, 2차, 3차 정규형은 이러한 정규화 과정을 단계별로 정의한 것입니다.
1차 정규형(1NF)은 테이블의 모든 컬럼이 원자 값을 갖도록 하는 것입니다. 즉, 하나의 컬럼에 여러 개의 값이 들어가지 않도록 분리하는 것이죠.
2차 정규형(2NF)은 1NF를 만족하면서, 기본키의 부분적인 컬럼에만 종속적인 컬럼이 없도록 하는 것입니다. 복합키를 사용할 때 발생할 수 있는 문제점을 해결하기 위해 부분 함수 종속을 제거합니다.
3차 정규형(3NF)은 2NF를 만족하면서, 기본키가 아닌 다른 컬럼에 이행적으로 종속적인 컬럼이 없도록 하는 것입니다. 예를 들어, A -> B, B -> C 관계가 있을 때, A -> C 가 성립하는 이행적 종속을 제거하여 데이터 중복을 줄입니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 데이터베이스 설계 면접 질문
- 데이터베이스 정규화(Normalization)의 목적은 무엇이며, 왜 중요한가요?
- 관계형 데이터베이스에서 기본 키(Primary Key)와 외래 키(Foreign Key)는 각각 어떤 역할을 하며, 두 키의 관계를 설명해주세요.
- 데이터베이스 설계 과정에서 ERD(Entity-Relationship Diagram)를 사용하는 주된 목적은 무엇인가요?
- 데이터베이스 테이블의 컬럼에 적절한 데이터 타입을 선택하는 것이 왜 중요한지, 그리고 어떤 점을 고려해야 하는지 설명해주세요.
- 데이터베이스 인덱스(Index)는 무엇이며, 어떤 상황에서 주로 사용하고 어떤 이점을 제공하나요?
- "한 명의 고객은 여러 개의 주문을 할 수 있다"는 비즈니스 요구사항을 관계형 데이터베이스로 설계할 때, 어떤 테이블과 컬럼을 사용하여 1:N(일대다) 관계를 표현할 수 있을까요?