SQLD CBT 기출문제 예상문제 406

다음 문제를 풀어보세요.

다음 중 아래 데이터 모델에 대한 설명으로 가장 거리가 먼 것을 고르시오.

[관계형 데이터베이스 설계]

다음은 고객의 주문 정보를 관리하기 위한 초기 데이터 모델의 일부입니다.

-- 고객 테이블
CREATE TABLE Customers (
    CustomerID INT PRIMARY KEY,
    CustomerName VARCHAR(255),
    Email VARCHAR(255),
    Address VARCHAR(255)
);

-- 주문 테이블
CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    CustomerID INT,
    OrderDate DATE,
    TotalAmount DECIMAL(10, 2),
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

-- 주문 상세 테이블
CREATE TABLE OrderDetails (
    OrderDetailID INT PRIMARY KEY,
    OrderID INT,
    ProductID INT,
    Quantity INT,
    UnitPrice DECIMAL(10, 2),
    FOREIGN KEY (OrderID) REFERENCES Orders(OrderID)
);

-- 상품 테이블
CREATE TABLE Products (
    ProductID INT PRIMARY KEY,
    ProductName VARCHAR(255),
    Category VARCHAR(255),
    Price DECIMAL(10, 2)
);

위 테이블 구조를 바탕으로 데이터 모델링을 진행하는 과정에서 다음과 같은 문제점이 발견되었습니다:

  1. Orders 테이블에서 CustomerID 외에 주문과 직접적인 관련이 없는 고객의 주소 정보가 중복되어 저장될 가능성이 있습니다.
  2. OrderDetails 테이블에서 ProductIDProductName이 함께 저장되어 상품 정보 변경 시 여러 레코드의 수정이 필요할 수 있습니다.
  3. Customers 테이블에는 고객의 기본 정보 외에 이메일 주소와 같은 여러 속성이 하나의 필드에 혼합되어 저장될 수 있습니다.
  4. Products 테이블에서 동일한 상품에 대해 여러 가격으로 기록될 가능성이 있으며, 이는 가격 정보의 일관성을 해칠 수 있습니다.

이러한 문제점을 해결하기 위해 정규화 프로세스를 적용하려고 합니다.