CODESTATES MYSQL MONGODB

종종2·2022년 8월 11일
0

codestates BEB

목록 보기
12/14

SQL

SQL이란 구조화된 QUERY 언어다.
데이터베이스용 프로그래밍 언어로 데이터베이스에 QUERY를 보내 원하는 데이터만 뽑을 수 있다.

데이터 베이스

  • 필요한 이유 : 기존의 파일로 저장하는 방식 혹은 브라우저에 저장하는 방식은 데이터가 끄면 없어진다. 데이터베이스를 사용한다면 원하는 데이터만 가져올 수 있고, 가져와서 서버에서 필터링을 할 수가 있다.

    트랜잭션

  • 데이터베이스의 상태를 변환시키는 논리적 기능을 수행하기 위해 행해지는 하나 이상의 쿼리를 모아 놓은 하나의 작업 단위.

    ACID

  • A(Atomicity) : 트랜잭션은 분해가 불가능한 최소의 단위인 하나의 원자처럼 동작한다.

  • C(Consistency) : 트랜잭션 작업이 시작되기 전이나 작업이 종료가 된 후에도 일관성 있는 데이터베이스 상태를 유지한다.

  • I(Isolation) : 트랜잭션 작업 수행 중에는 다른 트랜잭션에 영향을 주어서도 안되고, 다른 트랜잭션에 의한 영향을 받아서 안된다. 독립성을 가진다.

  • D(Durability) : 트랜잭션조작 완료 후 그 조작은 영구적인 것이 되어 결과를 잃지 않는다.

    스키마

  • 데이터베이스에서 데이터가 구성되는 방식과 서로 다른 엔티티 간의 관계

  • 엔티티는 고유한 정보 단위를 말한다.( 열에 해당된다.)

  • 레코드 테이블에 저장된 항목을 말한다 (행에 해당됨.)

    MYSQL

  • 관계형 데이터베이스 관리 시스템(RDBMS)

  • 관계형 데이터베이스에서 중요한 것은 여러 관계를 맺는 다는 것인데

    a. 1:1관계
    b. 1:N관계
    c. M:N관계(중간 테이블을 놓아서 외래키를 설정하는 것이 좋다.)

    Query


NOSQL

  • 관계형 데이터베이스와는 다르게 관계형 모델을 사용하지 않고 테이블 간 연결해서 조회하는 조인 기능이 없다.
  • 스키마와 속성들을 다양하게 수용하고 동적으로 정의한다.
  • 확장성 고가용성 고성능 특징을 가진다.

MONGODB

  • NOSQL의 DOCUMENT DB 중 한 종류 , JSON이나 XML과 같은 컬렉션 데이터 모델 구조를 채택함

  • Mongo에서 BSON을 사용하여 더 빠른 속도 , BSON,JSON 형태 둘다 exports import가 가능하다.


SPRINT를 진행하면서 mysql을 사용하여 관계형 데이터 베이스의 쿼리문을 파악했고, mongo shell을 사용하여 샘플 데이터를 사용하여, 쿼리문을 활용해보았다. mongoDB를 예전에 써본 적이 있었는데, 아직 모르는 query와 기능이 많았던 것 같다. 간단하게 sequelize나 mongoose를 편하게 썼던거 같은데, 기본적인 쿼리문은 파악해야할 것 같다.

profile
나 이현종

0개의 댓글