1 minute read

📚 온라인 서점 도서 관리 테이블 생성 가이드

가상의 ‘온라인 서점’을 주제로 도서(Books) 테이블을 생성하고 데이터를 입력해보는 실습임.


1. 테이블 구조 설계

Books 테이블은 서점에서 판매하는 책의 기본적인 정보를 담도록 설계함.

컬럼명 데이터 타입 제약 조건 설명
BookID INT PRIMARY KEY, IDENTITY(1,1) 책의 고유 번호. 1부터 시작하여 자동으로 1씩 증가함.
Title NVARCHAR(100) NOT NULL 책 제목. 한글 등 다국어 지원을 위해 NVARCHAR 사용. 필수 입력.
Author NVARCHAR(50) NOT NULL 저자 이름. 필수 입력.
Price DECIMAL(10, 2) CHECK (Price > 0) 가격. 소수점 2자리까지 저장하며, 0보다 커야 한다는 조건을 검.
StockQuantity INT DEFAULT 0 재고 수량. 값을 입력하지 않으면 자동으로 0이 들어감.
PublishedDate DATE - 출판일. 날짜 형식.
Category NVARCHAR(30) - 카테고리 (예: 소설, 기술, 역사 등).

2. 주요 SQL 문법 설명

CREATE TABLE

  • 테이블을 새로 만드는 명령어임.
  • IDENTITY(1,1): 데이터를 넣을 때마다 ID 값을 사람이 일일이 입력하지 않아도 시스템이 알아서 1, 2, 3… 순서대로 부여해줌.
  • NVARCHAR: 영문뿐만 아니라 한글 같은 유니코드 문자를 저장할 때 사용함.
  • CHECK: 데이터가 입력될 때 특정 조건(예: 가격은 반드시 양수)을 만족하는지 검사함.
  • DEFAULT: 데이터를 입력하지 않았을 때 기본으로 들어갈 값을 지정함.

3. 실습 방법

  1. 아래의 SQL 코드를 복사하여 SSMS 쿼리 창에 붙여넣음.
  2. 실행(F5)하여 테이블을 생성하고 데이터를 입력함.
  3. 결과 창에 데이터가 조회되는지 확인함.

4. 전체 SQL 스크립트

-- 1. Books 테이블 생성
-- 책 정보를 저장하는 테이블로, 도서 ID, 제목, 저자, 가격, 재고, 출판일, 카테고리를 포함
CREATE TABLE Books (
    BookID INT IDENTITY(1,1) PRIMARY KEY,      -- 자동 증가하는 고유 ID
    Title NVARCHAR(100) NOT NULL,              -- 책 제목 (필수 입력, 유니코드 지원)
    Author NVARCHAR(50) NOT NULL,              -- 저자 (필수 입력)
    Price DECIMAL(10, 2) CHECK (Price > 0),    -- 가격 (0보다 커야 함, 소수점 2자리까지)
    StockQuantity INT DEFAULT 0,               -- 재고 수량 (기본값 0)
    PublishedDate DATE,                        -- 출판일
    Category NVARCHAR(30)                      -- 카테고리 (소설, 과학, 등)
);

-- 2. 샘플 데이터 입력 (INSERT)
INSERT INTO Books (Title, Author, Price, StockQuantity, PublishedDate, Category)
VALUES 
('The Great Gatsby', 'F. Scott Fitzgerald', 15.99, 10, '1925-04-10', 'Fiction'),
('Clean Code', 'Robert C. Martin', 45.00, 5, '2008-08-01', 'Technology'),
('Sapiens', 'Yuval Noah Harari', 22.50, 20, '2011-09-04', 'History'),
('Introduction to AI', 'John Doe', 30.00, 0, '2023-01-15', 'Education');

-- 3. 데이터 조회 (SELECT)
SELECT * FROM Books;

Comments