시스템 설계 · 기초
데이터베이스 테이블의 컬럼에 적절한 데이터 타입을 선택하는 것이 왜 중요한지, 그리고 어떤 점을 고려해야 하는지 설명해주세요.
힌트 · 저장 공간 효율성, 데이터 정확성, 그리고 쿼리 성능에 영향을 미치므로, 데이터의 특성과 사용 목적에 맞춰 신중하게 선택해야 합니다.
데이터 무결성저장 공간 효율성쿼리 성능데이터 타입 제약확장성
모범답안
데이터베이스 테이블 컬럼에 적절한 데이터 타입을 선택하는 것은 매우 중요합니다. 첫째, 저장 공간 효율성에 직접적인 영향을 미칩니다. 예를 들어, 작은 정수 값에 INT 대신 TINYINT를 사용하면 훨씬 적은 공간을 차지합니다. 둘째, 데이터 정확성을 보장합니다. 각 데이터 타입은 특정 범위와 형식의 데이터만 허용하므로, 의도하지 않은 잘못된 데이터 입력이나 형식을 방지하여 데이터 무결성을 높입니다. 셋째, 쿼리 성능에 큰 영향을 줍니다. 데이터 타입에 따라 인덱싱 방식이나 검색 속도가 달라지기 때문에, 올바른 타입 선택은 쿼리 실행 시간을 단축시킵니다. 따라서 데이터의 특성, 예상되는 값의 범위, 그리고 해당 컬럼의 사용 목적을 종합적으로 고려하여 신중하게 선택해야 합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 데이터베이스 설계 면접 질문
- 관계형 데이터베이스에서 기본 키(Primary Key)와 외래 키(Foreign Key)는 각각 어떤 역할을 하며, 두 키의 관계를 설명해주세요.
- 데이터베이스 설계 과정에서 ERD(Entity-Relationship Diagram)를 사용하는 주된 목적은 무엇인가요?
- 정규화 단계 중 1차 정규형(1NF), 2차 정규형(2NF), 3차 정규형(3NF)이 각각 무엇을 의미하는지 간략하게 설명해주세요.
- 데이터베이스 인덱스(Index)는 무엇이며, 어떤 상황에서 주로 사용하고 어떤 이점을 제공하나요?
- "한 명의 고객은 여러 개의 주문을 할 수 있다"는 비즈니스 요구사항을 관계형 데이터베이스로 설계할 때, 어떤 테이블과 컬럼을 사용하여 1:N(일대다) 관계를 표현할 수 있을까요?
- 실무에서 데이터베이스를 설계할 때, 정규화(Normalization)와 비정규화(Denormalization)를 어떤 기준으로 적용해야 하며, 성능상의 이유로 비정규화를 고려해야 하는 상황과 그 단점은 무엇인가요?