SQL - 문제 미리보기
문제 1813
medium
다음 상황에서 가장 적절한 데이터 타입 조합은?
요구사항:
⦁ 사용자 프로필 테이블 생성
⦁ 이름: 최대 50자, 필수 입력
⦁ 자기소개: 긴 텍스트 (최대 65,535자), 선택 입력
⦁ 나이: 0~150 범위의 정수
⦁ 성별: '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 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.