상품 카탈로그 테이블 생성

MySQLBeginner
지금 연습하기

소개

한 지역 서점에서 상품 카탈로그 데이터베이스 구축을 위한 도움을 요청했습니다. 여러분은 데이터베이스 관리자로서 도서 정보를 저장할 테이블을 생성해야 합니다. 이번 챌린지에서는 적절한 데이터 타입과 제약 조건을 사용하여 MySQL 테이블을 생성하는 능력을 테스트합니다.

이 콘텐츠는 챌린지 과제입니다. 가이드가 제공되는 일반 실습과 달리, 학습 단계를 따라가는 것이 아니라 스스로의 힘으로 과제를 해결해야 합니다. 챌린지는 다소 난이도가 있을 수 있습니다. 해결이 어렵다면 Labby 와 상담하거나 모범 답안을 확인해 보세요. 통계에 따르면 이 과제는 초급 수준이며, 통과율은 95%, 학습자 만족도는 97%를 기록하고 있습니다.

도서 테이블 생성

서점의 재고 정보를 저장할 테이블을 생성하는 것이 이번 과제입니다. 각 도서에 대한 다양한 유형의 데이터를 효과적으로 저장할 수 있도록 테이블을 설계해야 합니다.

과제 내용

  • root 사용자로 MySQL 에 접속합니다.
  • bookstore 데이터베이스를 사용합니다.
  • 다음 정보를 저장할 수 있도록 적절한 컬럼과 데이터 타입을 갖춘 books 테이블을 생성합니다:
    • 도서 ID (자동 증가 설정)
    • 도서 제목 (최대 200 자, 필수 입력)
    • 가격 (최대 $999.99 까지 소수점 포함 가능)
    • 출판일
    • 페이지 수 (정수만 허용)
    • 상세 설명 (긴 텍스트)
    • 재고 수량 (0 또는 양수여야 함)

요구 사항

  • 모든 작업은 ~/project 디렉토리에서 수행해야 합니다.
  • 테이블 이름은 반드시 books여야 합니다.
  • 모든 컬럼 이름은 소문자로 작성해야 합니다.
  • 기본 키 (Primary Key) 의 이름은 id로 지정합니다.
  • 도서 제목은 NULL을 허용하지 않습니다.
  • 가격은 소수점 둘째 자리까지 표시되어야 합니다.
  • quantity_in_stock 컬럼에는 음수 값이 입력될 수 없습니다.

예시

테이블을 올바르게 생성한 후 구조를 확인하면 다음과 유사한 결과가 출력되어야 합니다:

DESCRIBE books;
+-------------------+--------------+------+-----+---------+----------------+
| Field             | Type         | Null | Key | Default | Extra          |
+-------------------+--------------+------+-----+---------+----------------+
| id                | int(11)      | NO   | PRI | NULL    | auto_increment |
| title             | varchar(200) | NO   |     | NULL    |                |
| price             | decimal(5,2) | YES  |     | NULL    |                |
| publication_date  | date         | YES  |     | NULL    |                |
| page_count        | int(11)      | YES  |     | NULL    |                |
| description       | text         | YES  |     | NULL    |                |
| quantity_in_stock | int(11)      | YES  |     | NULL    |                |
+-------------------+--------------+------+-----+---------+----------------+
✨ 솔루션 확인 및 연습

요약

이번 챌린지에서는 적절한 데이터 타입과 제약 조건을 사용하여 MySQL 테이블을 생성하는 실습을 진행했습니다. 다양한 정보 유형에 맞는 데이터 타입을 선택하고, 자동 증가 기본 키를 구현하며, NOT NULL 제약 조건을 설정하고, CHECK 제약 조건을 통해 데이터를 검증하는 기술을 익혔습니다. 이러한 기초 지식은 데이터베이스 설계의 핵심이며, MySQL 데이터베이스를 다룰 때 매우 빈번하게 사용됩니다.