SQL - 문제 미리보기

문제 1813

medium
다음 상황에서 가장 적절한 데이터 타입 조합은? 요구사항: ⦁ 사용자 프로필 테이블 생성 ⦁ 이름: 최대 50자, 필수 입력 ⦁ 자기소개: 긴 텍스트 (최대 65,535자), 선택 입력 ⦁ 나이: 0~150 범위의 정수 ⦁ 성별: 'M', 'F', 'O' 중 하나
A. `Name CHAR(50), Bio LONGTEXT, Age BIGINT, Gender VARCHAR(10)`
B. `Name VARCHAR(50), Bio TEXT, Age TINYINT, Gender ENUM('M','F','O')`
C. `Name TEXT, Bio VARCHAR(65535), Age INT, Gender BOOLEAN`
D. `Name BLOB, Bio MEMO, Age FLOAT, Gender SET('M','F','O')`

정답: B

⦁ 각 컬럼별 최적 데이터 타입 분석: Name → VARCHAR(50): ⦁ 가변 길이: 짧은 이름은 적은 공간 사용 ⦁ 적절한 크기: 대부분의 이름을 수용하는 합리적 크기 ⦁ CHAR(50)은 항상 50바이트 사용으로 비효율적 Bio → TEXT: ⦁ 최대 65,535바이트: 요구사항과 정확히 일치 ⦁ 대용량 텍스트: 자기소개와 같은 긴 내용에 적합 ⦁ LONGTEXT는 과도한 용량 (4GB) Age → TINYINT: ⦁ 범위 0~255: 나이 0~150 범위를 완벽 커버 ⦁ 최소 저장공간: 1바이트로 효율적 ⦁ INT(4바이트)는 불필요하게 큰 용량 Gender → ENUM('M','F','O'): ⦁ 제한된 선택지: 정확히 3개 값만 허용 ⦁ 데이터 무결성: 잘못된 값 입력 방지 ⦁ 효율적 저장: 내부적으로 숫자로 저장 ⦁ 다른 선택지의 문제점: 1번의 문제: ⦁ CHAR(50): 고정 길이로 공간 낭비 ⦁ BIGINT: 나이에 과도한 8바이트 ⦁ VARCHAR(10): 성별에 불필요한 가변 길이 3번의 문제: ⦁ TEXT: 이름에 과도한 크기 ⦁ BOOLEAN: 3개 성별 옵션 표현 불가

💡 학습 팁

이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.