3.4 주문관리 데이터베이스 실습

약 7분

본문 듣기
읽기 설정

글자 크기

줄 간격

글꼴

3.4 주문관리 데이터베이스 실습

이번 실습에서는 실제 주문관리 시스템을 개발하기 위해 필요한 데이터베이스를 설계하고 구축하는 과정을 학습하겠습니다. 데이터베이스를 처음 접하는 여러분에게 데이터 저장의 개념부터 시작하여, 데이터베이스가 왜 필요한지, 그리고 주문관리에 어떤 데이터가 사용되는지를 이해시켜 드리겠습니다.

데이터 저장의 개념

데이터베이스는 정보를 저장, 관리, 검색하는 시스템입니다. 예를 들어, 여러분이 쇼핑몰에서 상품을 구매할 때, 상품 정보, 고객 정보, 주문 정보 등을 데이터베이스에 저장하여 관리하게 됩니다. 이처럼 데이터베이스는 비즈니스의 핵심 데이터를 체계적으로 관리하기 위해 필요합니다.

예제

주문관리 데이터베이스를 설계하기 위해 아래의 테이블을 구성할 것입니다:

  • 상품 테이블 (Products)
  • 고객 테이블 (Customers)
  • 주문 테이블 (Orders)

각 테이블의 필드와 관계를 이해하기 위해 ERD를 설계해보겠습니다.

코드 sql
CREATE DATABASE orders_db;
USE orders_db;

CREATE TABLE Products (
    product_id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(255) NOT NULL,
    price DECIMAL(10, 2) NOT NULL
);

CREATE TABLE Customers (
    customer_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL UNIQUE
);

CREATE TABLE Orders (
    order_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    order_date DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
);

위의 SQL 문을 실행하면 주문관리 데이터베이스와 세 개의 테이블이 생성됩니다. 각 테이블의 관계는 고객이 여러 주문을 할 수 있고, 각 주문은 여러 상품을 포함할 수 있는 관계입니다.

실습

이제 간단한 데이터를 삽입해 보겠습니다. 3개의 제품과 2명의 고객을 추가해 보겠습니다. 이후 각 주문을 추가하겠습니다.

코드 sql
INSERT INTO Products (product_name, price) VALUES 
('스마트폰', 699.99), 
('노트북', 1199.99), 
('태블릿', 399.99);

INSERT INTO Customers (customer_name, email) VALUES 
('김철수', 'cs.kim@example.com'), 
('이영희', 'yh.lee@example.com');

INSERT INTO Orders (customer_id) VALUES 
(1), 
(2);

위 SQL 문을 실행하면 각 테이블에 데이터가 삽입되며, 실행 결과는 다음과 같습니다:

Products Customers Orders
product_id product_name price
-------- ----------------- ---------
1 스마트폰 699.99
2 노트북 1199.99
3 태블릿 399.99

이제 주문을 관리하는 데이터베이스가 구성되었습니다.

프로젝트

이제 여러분의 차례입니다. 아래의 요구사항을 바탕으로 SQL을 작성해 보세요:

  1. 새로운 제품을 추가하세요.
  2. 특정 고객의 주문 내역을 조회하세요.
  3. 주문 가격을 업데이트하세요.
  4. 고객 정보를 삭제하세요.

정리

이번 실습을 통해 주문관리 데이터베이스를 구축하고, 고객과 제품 정보를 저장하는 방법을 학습했습니다. 데이터베이스 설계, CRUD 작업을 통해 실습을 진행하며 SQL의 기본 개념을 익혔습니다. 다음 시간에는 데이터 정규화의 개념을 배우고, 더 복잡한 쿼리를 작성해 보겠습니다.

댓글 0

댓글을 남기려면 로그인하세요.

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.