Learn SQL & NoSQL

Junghan Lee·2023년 4월 4일
0

Learnd in Camp

목록 보기
23/48

DataBase

개념 : 데이터를 담아두는 저장소
담아두는 방식 : SQL, NoSQL

axios나 apollo-client처럼 백엔드에도 데이터베이스와 통신을 돕는 툴이 있고 이 툴은 담아두는 방식(SQL, NoSQL) 에 따라 달라짐 -> 툴 역시 ORM(object document mapping; sequalize, typeORM, prisma), ODM(object relation mapping;mongoose) 2가지가 존재

SQL

데이터를 엑셀과 비슷한 표(table)에 정리해두는 방식
NoSQL 방식과 달리 각각의 표 사이에 관계성을 부여할 수 있다 -> mapping해주는 툴 ORM 사용
관계성을 부여하는 데이터베이스 = 관계형 데이터베이스(relational database: RDB)
대표적으로 Oracle, MySQL, Postgres 가 있다.
행(row) : ID,Data(key,value) 형식
열(column) : 각각 key 등
행렬구조(table)

select 제목, 내용 from Board where 작성자 = U01(ID) // 원래 이렇게 요청해야 게시글의 제목, 내용 정보 등을 DB에서 보내주지만 ORM 의 도움을 받으면.. Board.find() 하면 끝남

NoSQL

NO SQL, NOT ONLY SQL 등으로 읽을 수 있으며 SQL이 엑셀이라면 NoSQL은 서류 봉투에 documents 를 모아두는 방식이다. 그 서류 봉투는 컬렉션이라고 부르며 ORM을 사용하는 SQL과는 달리 ODM을 사용한다.

대표적으로 MongoDB, FireBase, Redis 가 있다.
document : id, Data(key,value...)//field
서류봉투(collection)구조

ODM을 통해 Board.find() 하면 끝남(mongooes; db.board.find()) 자동 변환된다)

profile
Strive for greatness

0개의 댓글