JSCODE Logo
JSCODE 박재성JSCODE 제이온JSCODE 시니
온라인 강의프로그래밍 과외책/전자책무료 강의
유튜브블로그
후기
완강 후기 이벤트블로그 리뷰 이벤트AWS SAA 합격 후기 이벤트
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2026 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침

비전공자도 이해할 수 있는 DB 설계 입문/실전

DB 설계 전 필수로 알아야 하는 개념

데이터베이스 모델링(Datbase Modeling)이란?
관계형 데이터베이스(RDBMS)의 기본 구성
PK(기본키), FK(외래키)
데이터베이스 네이밍 규칙

DB 설계의 핵심 원칙 및 전체 과정

DB 설계할 때 이런 개념들 몰라도 아무 문제 없습니다!
DB 설계 시 꼭 기억해야 할 핵심 원칙 1가지
DB 설계 전체 과정
저장할 데이터 파악하기 /

복잡한 개념을 몰라도 누구나 따라할 수 있는, 마법의 DB 설계 규칙 6가지

[규칙 1] 한 칸에는 한 가지 정보만 들어가도록 만들어라 - 1
[규칙 1] 한 칸에는 한 가지 정보만 들어가도록 만들어라 - 2
[규칙 2] 어떤 테이블에 FK를 넣어도 ‘규칙 1’을 못 지킬 때는 중간 테이블을 하나 더 만들어라
[규칙 3] 헷갈릴 땐 관계(1:1, 1:N, N:M)를 파악해봐라 - 1
[규칙 3] 헷갈릴 땐 관계(1:1, 1:N, N:M)를 파악해봐라 - 2
[규칙 3] 헷갈릴 땐 관계(1:1, 1:N, N:M)를 파악해봐라 - 3
[규칙 3] 헷갈릴 땐 관계(1:1, 1:N, N:M)를 파악해봐라 - 4
[규칙 3] 헷갈릴 땐 관계(1:1, 1:N, N:M)를 파악해봐라 - 5
[규칙 3] 헷갈릴 땐 관계(1:1, 1:N, N:M)를 파악해봐라 - 6
[규칙 4] 데이터 중복이 발생하는 컬럼이 있는 지 확인해라
[규칙 5] 가짜 중복과 진짜 중복을 구별해라
[규칙 6] 숨어있는 중복을 찾아라

실전처럼 DB 설계 해보기

[실습] 요구사항을 보고 DB 설계해보기 - JSCODE 커뮤니티
[실습] 요구사항을 보고 DB 설계해보기 - JSCODE 쇼핑몰
[실습] 화면 UI 디자인을 보고 DB 설계해보기 - JSCODE 게시판
[실습] 화면 UI 디자인을 보고 DB 설계해보기 - JSCODE 투두리스트
[보충 강의] ERD란 ? / ERD 해석하기

설계한 모델을 실제 DB에 반영하기

설계한 모델을 실제 DB에는 어떻게 반영하나요?
데이터 타입 (Data Type) 실전 활용 지침

DB 설계 Q&A

정규화를 하면 성능이 떨어진다던데요 ?
역정규화는 언제하나요 ?
← 블로그 목록으로 돌아가기

[실습] 요구사항을 보고 DB 설계해보기 - JSCODE 쇼핑몰

JSCODE 박재성
JSCODE 박재성
2026. 03. 29.
author
JSCODE 박재성
category
DB 설계
createdAt
Dec 6, 2025 03:33 AM
isPublic
isPublic
series
비전공자도 이해할 수 있는 DB 설계 입문/실전
slug
practice-db-design-jscode-shoppingmall
type
post
updatedAt
Mar 29, 2026 09:00

✅ 요구 사항

🧑🏻
현업에서 아래와 같이 글로만 된 요구 사항만 가지고 DB 설계를 하는 일은 잘 없다. UI(화면) 디자인이 나왔을 때 UI 디자인을 보면서 DB 설계에 들어가는 편이다. 하지만 지금은 연습을 하기 위함이니까 아래 요구사항만 가지고 설계를 해보자.
  • 회원가입 기능
    • 회원가입 시 이메일, 비밀번호, 이름, 주소, 전화번호의 정보를 받는다.
  • 로그인 기능
    • 로그인할 때 이메일과 비밀번호를 활용해서 로그인한다.
  • 상품 등록 기능
    • 로그인한 사용자만 상품을 등록할 수 있다.
    • 상품에는 상품명, 설명, 가격, 재고량, 카테고리(의류, 신발, 가전제품 등)의 정보가 포함된다.
  • 상품 조회 기능
    • 상품명, 설명, 가격, 재고량, 등록 시간을 조회할 수 있다.
    • 특정 카테고리의 상품만 조회할 수 있다.
  • 주문 기능
    • 한 번 주문할 때 여러 개의 상품을 주문할 수 있다.
    • 각 상품의 수량을 정해서 주문할 수 있다.
    • 주문한 여러개의 상품의 가격과 수량을 기록한다.
    • 주문했을 때 상품의 총 가격을 계산할 수 있다.
    • 로그인한 사용자만 주문할 수 있다.
    • 주문 시 배송 정보(이름, 주소, 전화번호)를 입력해야 한다.
    • 주문한 날짜를 조회할 수 있어야 한다.
  • 리뷰 작성 기능
    • 로그인한 사용자만 리뷰를 작성할 수 있다.
    • 상품에 대한 리뷰를 작성하고, 평점(1~5점)을 매길 수 있다.
    • 다른 사용자들이 작성한 리뷰를 조회할 수 있다.
  • 관리자 기능
    • 관리자 페이지에 접근하려면 관리자용 이메일과 비밀번호를 입력해야 한다.
 

✅ DB 설계 과정

  1. 저장할 데이터 파악하기
      • 이메일, 비밀번호, 이름, 주소, 전화번호
      • 상품명, 상품 설명, 가격, 재고량, 카테고리(의류, 신발, 가전제품 등), 상품 등록 시간, 누가 상품을 등록했는 지
      • 특정 장바구니에 포함된 상품들, 장바구니에 포함된 상품의 각 개수, 장바구니의 주인이 누군 지
      • 주문 시 배송 정보 (이름, 주소, 전화번호), 주문한 상품 및 수량, 누가 주문했는 지
      • 어떤 상품에 리뷰를 달았는 지, 리뷰 내용, 평점, 누가 리뷰를 달았는 지
      • 관리자용 이메일, 비밀번호
       
  1. 그룹핑해서 분류하기
    1. 위의 요구사항을 봤을 때 여러 데이터를 묶어서 표현할 수 있는 상위 개념은 아래와 같다.
      • 이메일, 비밀번호, 이름, 주소, 전화번호 → 사용자
      • 상품명, 상품 설명, 가격, 재고량, 카테고리(의류, 신발, 가전제품 등), 상품 등록 시간, 누가 상품을 등록했는 지 → 상품
      • 특정 장바구니에 포함된 상품들, 장바구니에 포함된 상품의 각 개수, 장바구니의 주인이 누군 지 → 장바구니
      • 주문 시 배송 정보 (이름, 주소, 전화번호), 주문한 상품 및 수량, 누가 주문했는 지 → 주문
      • 어떤 상품에 리뷰를 달았는 지, 리뷰 내용, 평점, 누가 리뷰를 달았는 지 → 리뷰
      • 관리자용 이메일, 비밀번호 → 관리자
 
  1. 6가지 규칙 적용시키면서 테이블 분리해나가기
    1. (강의 참고)
 
📎
이 글은 비전공자도 이해할 수 있는 DB 설계 입문/실전 강의의 수업 자료 중 일부입니다.