[ DB ] 데이터베이스 / MongoDB / Studio 3T / Mongoose

ay0530·2023년 11월 2일
0
post-thumbnail

01. 데이터베이스란?

  • DBMS(Database Management System)
  • 데이터 저장, 조회 등을 위해 만들어진 소프트웨어
  • DBMS가 설치된 서버를 데이터베이스 서버(DB 서버)라고 부름
    => DB에 저장한다 = DBMS가 설치된 서버에 데이터를 저장한다
  • DB 종류
    - 관계형 데이터베이스(Relational Database(RDB)) : 데이터 형식이 정해져 있고, 데이터 끼리 관계를 맺어 모순이 없는 데이터를 유지
    - 비관계형 데이터베이스(Non-relational Database(NoSQL)) : 데이터의 형식이 고정되어 있지 않아 유연한 확장이 가능하나 데이터를 제대로 관리하지 않으면 데이터의 신뢰성이 낮음 (최근 스타트업에서 유연한 설계를 위해 많이 채택됨)

02. MongoDB란?

  • 인기있는 비관계형 데이터베이스 중 하나
  • 모든 데이터가 JSON 형태로 저장됨
  • 복잡한 구조를 쉽게 저장할 수 있고 스케일을 쉽게 줄이고 늘일 수 있음

03. 웹 서버와 DB 서버의 관계

  • 웹 서버 : 웹 클라이언트가 원하는 데이터와 기능 제공
  • DB 서버 : 데이터를 성능 좋게 저장하고 DB 클라이언트가 원하는 데이터 제공
    - 웹 서버는 DB 서버를 이요하는 클라이언트가 될 수 있음
    - 브라우저 <-> 웹 서버 <-> DB 서버

04. MongoDB 설치하기

1. 데이터 저장할 폴더 생성

  • C드라이브 - data 폴더 생성 - data 폴더 내에 db 폴더 생성

2. MongoDB 다운로드 URL : https://www.mongodb.com/try/download/community

  • 다운로드 중 1번에서 생성한 폴더로 경로 설정해주기

3. 환경 변수 설정

  • 시스템 설정 - 고급 - 환경 변수 클릭
  • 시스템 변수의 Path 클릭 후 편집
  • 새로만들기 후 C:\data\db\bin 추가 (mongoDB경로bin)

4. MongoDB 설치 확인

  • 명령 프롬프트(CMD)에서 mongod --install --serviceName MongoDB --serviceDisplayName MongoDB --dbpath C:\data\db --logpath C:\data\db\log\mongoservice.log --logappend 입력
  • mongod 입력 시 아래 화면이 나타나면 설치 완료 !
    - 버전에 따라 mongo, mongod 명령어 입력

05. Studio 3T 란?

  • MongoDB의 데이터를 GUI 환경으로 쉽게 조회하는 MongoDB Client
    - DB의 데이터를 조회/관리 기능 제공

06. Studio 3T 설치하기

1. Studio 3T 다운로드 URL : https://robomongo.org/download

2. exe 파일 받고 실행

  • 설치 후 이메일 가입 시 South Korea 선택한 후 번호 입력하거나 바로 +82 10 @@@@ @@@@ 입력하기 !!

3. 설치 완료 ~

07. Studio 3T 사용하기

1. MongoDB와 연결하기(localhost)

2. 데이터베이스 추가하기

3. shell 열기

4. CRUD 해보기

  • Create - db.DB명.insertOne({key: "", value: ""}) - db.mongodb_prac.insertOne({ key: "value", key2: "값" })입력 후 화살표 또는F5`
  • Read - db.DB명.find({})

  • Delete / Update - 일단 마우스 우클릭으로 진행

08. mongoose란?

  • VS CODE와 MongoDB를 연결해주는 DB client
  • express와 같은 방식으로 설치

09. mongoose 구조

1. 문서(Document)

  • MongoDB에서 갖고있는 데이터 하나 하나를 문서라고 칭함
  • 1개 이상의 Key-Value로 구성

2. 컬렉션(Collection)

  • JSON 형식의 여러가지 문서를 보유
  • 관계형 데이터베이스의 Table과 동일한 역할

3. 스키마(Schema)

  • 컬렉션에 들어가는 문서에 어떤 종류의 값이 들어가는지 정의
  • 데이터 모델링 시 사용됨
  • 대표적인 스키마 타입
    - null, String, Number, Date, Buffer, Blooean, Object, Array 등

4. 모델(Model)

  • 데이터베이스에 데이터를 저장할 때 데이터의 구조를 담당
  • 스키마를 사용하여 만들고, MongoDB에서 실제 작업을 처리할 수 있는 함수들을 지님
  • 문서를 생성할 때 사용

10. mongoose 설치하기

  • npm i mongoose
profile
강아지 좋아

0개의 댓글