멘토링 내용 정리 database (4회차 정리)

2025. 4. 2. 22:39·멘토링
목차
  1. 🚩 1. 데이터베이스 테이블 설계와 데이터 타입
  2. 🚩 2. 정규화와 데이터 구조의 중요성
  3. 🚩 3. 주문 시스템 데이터 구조
  4. 🚩 4. AWS 클라우드 서비스 개요
  5. 🚩 5. 클라우드와 온프레미스(On-premise)의 차이
  6. 🚩 6. 서버 위치와 글로벌 서비스의 중요성
  7. 🚩 7. 터미널과 원격 서버 접속의 중요성
  8. 🚩 8. 서버 보안과 비용 관리
  9. 🚩 9. 백엔드 개발자의 역할과 책임

📌 데이터베이스 설계와 AWS 클라우드 서비스 멘토링 정리


🚩 1. 데이터베이스 테이블 설계와 데이터 타입

  • 테이블명은 기본적으로 복수형으로 작성합니다.
  • VARCHAR: 커피 이름 등 문자열 데이터 저장 시 사용합니다.
  • DECIMAL: 가격 정보를 소수점까지 정확히 저장 (예: 총 10자리 중 소수점 2자리)
  • 모든 테이블은 id 컬럼을 가지며, 이는 기본 키(PK)로 설정됩니다.
  • 카테고리와 사이즈는 별도의 테이블로 분리하고, 외래키(FK)로 연결하여 명확한 관계를 유지합니다.
  • 하위 카테고리는 상위 카테고리를 참조하는 방식으로 데이터 구조를 구성합니다.

🚩 2. 정규화와 데이터 구조의 중요성

  • 정규화는 효율적 데이터 관리를 돕지만, 과도하면 복잡성이 증가할 수 있습니다.
  • 데이터 구조 설계 시 이름, ID, 단위를 사용하며, 수량은 제품별로 상이할 수 있습니다.
  • 동일 재료라도 메뉴별로 사용량이 다를 수 있으며, 이를 용량(volume)으로 관리합니다.
  • 사용자(User) 테이블은 일반적으로 ID, 이메일, 비밀번호, 닉네임을 포함합니다.

🚩 3. 주문 시스템 데이터 구조

  • 주문번호(orderNumber)는 유니크한 문자열(uuid) 형태로 설정하여 보안을 높입니다.
  • 주문 데이터는 userId, order date, total price 등을 포함하며, 주문 상세 내역은 별도의 옵션 테이블과 연결할 수 있습니다.
  • 데이터 크기 관리 측면에서 BigInt와 Int 타입의 차이를 이해하고, 용도에 맞게 선택합니다.

🚩 4. AWS 클라우드 서비스 개요

  • AWS는 개발 과정에서 필수적인 클라우드 서비스입니다.
  • 주요 서비스:
    • EC2: 서버 컴퓨터를 빌려 사용할 수 있습니다.
    • RDS: 관계형 데이터베이스 관리 서비스입니다.
    • S3: 파일 저장 및 공유를 위한 저장소입니다.
    • Route 53: 도메인 관리 및 서버 연결 서비스를 제공합니다.

🚩 5. 클라우드와 온프레미스(On-premise)의 차이

  • 온프레미스는 기업이 직접 물리적인 서버를 운영하는 방식으로, 비용과 관리적 부담이 큽니다.
  • 클라우드 컴퓨팅은 인터넷을 통해 필요한 만큼의 IT 리소스를 임대하여 비용 효율적으로 운영 가능합니다.
  • AWS 같은 서비스는 클릭 몇 번으로 서버 자원 및 사양을 쉽게 조정할 수 있으며, 글로벌 서비스 제공에도 용이합니다.

🚩 6. 서버 위치와 글로벌 서비스의 중요성

  • 서비스 이용자와 서버 위치가 멀수록 통신 시간이 증가합니다.
  • AWS는 서버의 물리적 위치(리전)를 선택할 수 있어 글로벌 서비스에 적합하지만, 지역별로 요금 차이가 있습니다.
  • 예시로, 서버가 영국에 위치한 경우 한국에서 접속할 때 속도가 느릴 수 있습니다.

🚩 7. 터미널과 원격 서버 접속의 중요성

  • 터미널을 통한 원격 서버 접속(SSH)은 서버 관리의 필수적 요소입니다.
  • Linux 명령어 (CD, MKDIR, VI 등)와 Git 명령어 숙련이 요구됩니다.
  • 서버 접속 후 터미널에서 명령어를 실행하면, 이는 원격 서버에 바로 적용됩니다.

🚩 8. 서버 보안과 비용 관리

  • 서버 접근 키(key)는 절대 유출되지 않도록 주의해야 합니다.
  • AWS는 상대적으로 비용이 높으며, 프리티어 사용 시에도 일정 비용이 발생할 수 있습니다.
  • 프리티어 기간 이후에도 비용이 발생하므로 철저한 관리가 필요합니다.

🚩 9. 백엔드 개발자의 역할과 책임

  • DevOps 부재 시 백엔드 개발자는 AWS 서비스 관리 및 구축까지 책임져야 합니다.
  • 다양한 AWS 서비스 간 커넥션 구축 및 관리 역시 백엔드 개발자의 주요 업무입니다.

erDiagram
    users ||--o{ orders : places
    orders ||--o{ order_detail : contains
    order_detail ||--|| products : ordered
    products ||--o{ products_ingredients : has
    ingredients ||--o{ products_ingredients : included_in
    products ||--o{ products_size : has
    sizes ||--o{ products_size : available_in
    products ||--|| sub_categories : belongs_to
    sub_categories ||--|| categories : part_of

    users {
        int id PK
        varchar username
        varchar email
        varchar password
        varchar nickname
    }

    orders {
        int id PK
        uuid order_number "UUID 고유 식별자"
        int user_id FK
        datetime order_datetime
        decimal total_price
    }

    order_detail {
        int id PK
        int order_id FK
        int product_id FK
        int quantity
        varchar personal_option
    }

    products {
        int id PK
        varchar name
        decimal price
        int sub_category_id FK
    }

    products_ingredients {
        int id PK
        int product_id FK
        int ingredient_id FK
        int volume_or_quantity
    }

    ingredients {
        int id PK
        varchar name
        varchar unit
    }

    products_size {
        int id PK
        int product_id FK
        int size_id FK
    }

    sizes {
        int id PK
        varchar name
    }

    sub_categories {
        int id PK
        varchar name
        int category_id FK
    }

    categories {
        int id PK
        varchar name
    }

 

 

📌 이번 멘토링은 데이터베이스 설계 원칙과 AWS 클라우드 서비스에 대한 이해를 바탕으로 효율적인 시스템 구축 및 운영 능력을 높이는 데 목적을 두고 있습니다.

'멘토링' 카테고리의 다른 글

멘토링 질문(250508)  (0) 2025.05.08
멘토링 내용 정리 Flask & API (5회차 정리)  (0) 2025.04.25
멘토링 과제 database ERD 스타벅스(4회차)  (0) 2025.04.01
멘토링 내용 정리 database (3회차 정리-추가)  (0) 2025.03.28
멘토링 내용 정리 database (3회차 정리)  (0) 2025.03.27
  1. 🚩 1. 데이터베이스 테이블 설계와 데이터 타입
  2. 🚩 2. 정규화와 데이터 구조의 중요성
  3. 🚩 3. 주문 시스템 데이터 구조
  4. 🚩 4. AWS 클라우드 서비스 개요
  5. 🚩 5. 클라우드와 온프레미스(On-premise)의 차이
  6. 🚩 6. 서버 위치와 글로벌 서비스의 중요성
  7. 🚩 7. 터미널과 원격 서버 접속의 중요성
  8. 🚩 8. 서버 보안과 비용 관리
  9. 🚩 9. 백엔드 개발자의 역할과 책임
'멘토링' 카테고리의 다른 글
  • 멘토링 질문(250508)
  • 멘토링 내용 정리 Flask & API (5회차 정리)
  • 멘토링 과제 database ERD 스타벅스(4회차)
  • 멘토링 내용 정리 database (3회차 정리-추가)
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
찬스맨의 프로그래밍 스토리안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (702)
      • Python (32)
      • 프로젝트 (43)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (40)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (153)
      • 기술블로그-Flask편 (36)
      • AI 분석 (4)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
멘토링 내용 정리 database (4회차 정리)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.