SQLD 기출문제 예상문제 364

다음 문제를 풀어보세요.

다음은 전자상거래 시스템의 제품(PRODUCT) 테이블 속성 정의에 대한 논의 내용이다. 현재의 설계 문제점을 해결하고, 확장성 및 데이터 무결성을 보장하기 위한 가장 적절한 속성 설계 방안을 고르시오.

[제품 테이블 속성 설계 문제 상황]

현재 전자상거래 시스템의 제품(PRODUCT) 테이블은 다음과 같이 정의되어 있습니다.

CREATE TABLE PRODUCT (
    PRODUCT_ID VARCHAR(10) PRIMARY KEY,
    PRODUCT_NAME VARCHAR(100) NOT NULL,
    PRODUCT_PRICE DECIMAL(10, 2) NOT NULL,
    PRODUCT_COLOR VARCHAR(255) -- 예: 'Red,Blue,Green' 또는 'Black'
);

새로운 요구사항으로 인해 PRODUCT_COLOR 속성 설계에 문제가 발생하고 있습니다.

  1. 하나의 제품은 여러 색상으로 출시될 수 있습니다.
  2. 각 색상별로 고유한 재고 수량(STOCK_QUANTITY) 및 출고 가능일(AVAILABLE_DATE)을 관리해야 합니다.
  3. 특정 색상의 제품을 찾는 쿼리(예: '빨간색' 제품 검색)가 자주 발생하며, 해당 색상의 재고와 출고 가능일을 함께 조회해야 합니다.

현재 PRODUCT_COLOR 필드는 콤마(,)로 구분된 문자열로 색상을 저장하고 있어, 위 요구사항을 만족시키기 어렵습니다. 다음 보기 중 데이터 무결성, 쿼리 성능, 확장성을 모두 고려했을 때, PRODUCT_COLOR 속성을 가장 적절하게 재설계하는 방안을 고르시오.