멘토링 내용 정리 database (3회차 정리-추가)

2025. 3. 28. 13:22·멘토링

📌 데이터베이스의 기본 개념과 RDBMS, NoSQL 차이점

이번 멘토링에서는 데이터베이스의 기본 개념과 RDBMS, NoSQL 데이터베이스의 차이점을 명확히 했습니다. RDBMS는 엑셀처럼 컬럼과 로우로 구성되어 있으며, NoSQL은 키-밸류형태로 몽고DB, 레디스, 일라스틱서치 등이 있습니다. 특히 레디스는 캐싱, 랭킹 데이터 저장, 실시간 통신 등 다양한 활용법이 있다는 것을 알게 되었습니다. 다대다 관계를 해결하기 위한 중간 테이블의 필요성과, 실제 서비스에서 데이터베이스를 설계하는 연습의 중요성을 강조하며 데이터 모델링 능력 향상을 목표로 합니다. 데이터베이스는 웹 서비스 개발의 핵심이며, 데이터 구조 이해는 효율적인 API 개발로 이어진다는 점을 기억해야 합니다.


📊 1. 데이터베이스의 종류와 역할

데이터베이스는 데이터를 저장하는 곳으로, 관계형 데이터베이스(RDBMS)와 NoSQL 데이터베이스로 크게 구분됩니다.

  • RDBMS: 엑셀처럼 행과 열로 데이터를 관리하며, CRUD 작업을 통해 데이터 생성, 조회, 수정, 삭제를 수행합니다.
  • NoSQL: 몽고DB, 레디스, 일라스틱 서치 등이 있으며, 키-값 쌍 형식으로 데이터를 관리하고, 캐싱, 검색 최적화 등의 기능을 제공합니다.

레디스는 빠른 읽기 속도 덕분에 주로 캐싱, 랭킹 데이터 저장, 실시간 통신 등에서 효율적으로 사용됩니다.


🗃️ 2. RDBMS와 인덱싱의 이해

  • 인덱싱: 데이터베이스에서 데이터를 빠르게 찾기 위해 데이터를 정렬하여 검색 효율성을 높이는 작업입니다.
    • **PK(프라이머리 키)**는 데이터를 특정할 수 있는 중요한 역할을 하며 대부분 아이디로 설정됩니다.
    • UUID: 고유한 문자열을 생성하여 데이터를 식별하는 방식이며, 자동 증가 아이디 대신 사용될 수 있습니다.

주의사항: 데이터 정렬 순서가 변경되면 재 인덱싱이 필요하기 때문에 인설트(삽입) 작업 시 주의해야 합니다.


🗂️ 3. 외래키(FK)와 관계형 데이터베이스

  • **외래키(FK)**는 다른 테이블의 데이터를 참조하여 두 테이블 간의 관계를 정의합니다.
  • 관계의 종류:
    • 원투원(1:1): 두 테이블이 1대 1로 연결되는 경우입니다.
    • 원투매니(1:N): 하나의 테이블이 여러 개의 데이터를 참조할 수 있는 관계입니다.
    • 매니투매니(N:M): 두 테이블 간에 다대다 관계가 성립하며, 중간 테이블을 사용해 해결합니다.

🗂️ 4. 데이터베이스 관계 구조 이해하기

다대다(N:M) 관계는 중간 테이블을 통해 해결할 수 있습니다.
예시: 좋아요 기능은 유저와 피드 간의 다대다 관계를 형성하는 중간 테이블 구조로 구현됩니다.
또한, 신발 사이즈와 같은 관계도 다대다 형태로 설명할 수 있습니다.


📊 5. 데이터베이스 및 사용 기술 소개

  • MySQL과 PostgreSQL은 가장 많이 사용되는 관계형 데이터베이스 기술로, 기본 기능은 유사하지만 각 기술이 제공하는 함수와 설치 방법에 차이가 있을 수 있습니다.
  • 데이터 구조 고민: 예를 들어 스타벅스 메뉴 데이터를 기반으로 음료와 푸드를 저장하는 방법을 고민합니다.
    • 프로덕트(음료와 푸드)는 하나의 상품으로 간주되어 데이터베이스에 저장됩니다.

🎯 마무리

이번 강의를 통해 RDBMS와 NoSQL의 차이점과 데이터베이스 설계의 기초를 다졌습니다.
다대다 관계나 속성 설정 등 실제 서비스에서 효율적인 데이터 모델링이 매우 중요하다는 점을 명심하세요.

앞으로 데이터베이스 설계를 위한 실습을 통해 더 많은 경험을 쌓아 보세요! 🌱🚀

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

멘토링 내용 정리 Flask & API (5회차 정리)  (0) 2025.04.25
멘토링 내용 정리 database (4회차 정리)  (0) 2025.04.02
멘토링 과제 database ERD 스타벅스(4회차)  (0) 2025.04.01
멘토링 내용 정리 database (3회차 정리)  (0) 2025.03.27
멘토링 내용 정리 (2회차 정리)  (0) 2025.03.18
'멘토링' 카테고리의 다른 글
  • 멘토링 내용 정리 database (4회차 정리)
  • 멘토링 과제 database ERD 스타벅스(4회차)
  • 멘토링 내용 정리 database (3회차 정리)
  • 멘토링 내용 정리 (2회차 정리)
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (472) N
      • Python (31)
      • 프로젝트 (43)
      • 과제 (21)
      • Database (40)
      • 멘토링 (7) N
      • 특강 (18)
      • 기술블로그 (126) N
      • AI 분석 (4)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (34) N
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
멘토링 내용 정리 database (3회차 정리-추가)
상단으로

티스토리툴바