SQL - 문제 미리보기
문제 1812
medium
다음 테이블 생성 코드에서 빈칸에 들어갈 적절한 데이터 타입은?
```sql
CREATE TABLE Products (
ProductID _______ AUTO_INCREMENT PRIMARY KEY,
ProductName VARCHAR(100) NOT NULL,
Price _______(10,2) NOT NULL,
InStock _______ DEFAULT TRUE,
CreatedDate _______ DEFAULT CURRENT_TIMESTAMP
);
```
정답: A
⦁ 각 컬럼의 적절한 데이터 타입 분석:
ProductID → INT:
⦁ AUTO_INCREMENT와 PRIMARY KEY 사용
⦁ 정수형 식별자로 1, 2, 3... 순차 증가
⦁ 고유하고 효율적인 인덱싱 지원
Price → DECIMAL(10,2):
⦁ (10,2) 형식에서 DECIMAL 타입 요구
⦁ 정확한 금액 계산: 부동소수점 오차 없음
⦁ 10자리 총 숫자, 소수점 이하 2자리
InStock → BOOLEAN:
⦁ DEFAULT TRUE 구문으로 불린 타입 확인
⦁ 재고 유무를 TRUE/FALSE로 표현
⦁ 효율적인 저장 공간 (1비트)
CreatedDate → DATETIME:
⦁ CURRENT_TIMESTAMP 기본값 사용
⦁ 날짜와 시간 정보 모두 필요
⦁ 상품 등록 시점의 정확한 기록
⦁ 실무에서의 선택 기준:
```sql
-- 가격 데이터 타입 비교
-- DECIMAL(10,2): 정확한 계산 (권장)
-- FLOAT: 근사값, 금융 데이터 부적합
-- DOUBLE: 더 정밀하지만 여전히 근사값
```
💡 학습 팁
이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.