본문 바로가기
부트캠프/코드스테이츠 백엔드부트캠프 43기

코드스테이츠 백엔드 부트캠프 43기 (31일차-SQL)

by 고구마는호박고구마 2023. 1. 31.
SQL (Structured Query Language)

 

SQL = 구조화된 쿼리 언어.

쿼리 = 질의문 -> 데이터베이스에 쿼리를 보낸다. -> 원하는 데이터를 가져오거나 삽입한다.

 

SQL - ACID

ACID = 데이터베이스 트랜잭션이 발생할 때, 그 안정성을 보장할 수 있는 성질

+ 트랜잭션이란 여러 개의 작업을 하나로 묶은 실행 유닛.

   Ex) 송금 = 1.돈을 보낸다. 2.내 계좌에서 돈- 3.받는 사람 계좌에서 돈+  => 이 작업이 하나의 묶음으로 실행 되어야 한다.

이러한 작업의 안정설을 보장하기 위한 성질이 ACID

  • Atomicity (원자성) :  전부 성공하거나 전부 실패 
  • Consistency (일관성) : 하나의 트랜잭션 이전과 이후, 데이터베이스의 상태는 이전과 같이 유효해야 한다.
  • Isolation (고립성) : 모든 트랜잭션은 다른 트랜잭션으로부터 독립되어야 한다.
  • Durability (지속성) : 기록은 영구적으로 남아있어야 한다. 

SQL vs. NoSQL

 

SQL -  데이터를 집어 넣을 행과 열이 있는 테이블을 만든다.

         - 형식에 맞게 쿼리를 작성하여 테이블에 있는 데이터를 저장하고 가져온다.

NoSQL - key-value, document, wide-column 등의 방식으로 데이터를 저장.

+ NoSQL은 관계형 데이터베이스보다 동적으로 스키마의 형태를 관리할 수 있다. 행을 추가할 때 즉시 새로운 열을 추가할 수 있고, 개별 속성에 대해서 모든 열에 대한 데이터를 반드시 입력하지 않아도 됩니다.

+ NoSQL 기반의 비관계형 데이터베이스가 관계형 데이터베이스에 비해 확장성이나 속도면에서 더 뛰어납니다

 

 

 

 

댓글