데이터베이스가 왜 필요한가?

  • In-memory : 끄면 데이터가 없어짐
  • File I/O : 원하는 데이터만 가져올 수 없고 항상 모든 데이터를 가져온 뒤 서버에서 필터링 필요
  • Database : 필터링 외에도 File I/O 로 구현이 힘든 관리를 위한 여러 기능들을 가지고있는 데이터에 특화된 서버

 

 

엑셀을 사용하지 않고 굳이 데이터베이스를 쓰는 이유는 무엇일까?

  • In - Memory

자바스크립트에서 데이터를 다룰 때에는 프로그램이 실행될 때에만 존재하는 데이터가 있습니다.

자바스크립트에서 변수를 만들어 저장한 경우, 그 프로그램이 종료될 때 해당 프로그램이 사용하던 데이터도 사라집니다.

이 말인 즉, 변수 등에 저장한 데이터가 프로그램의 실행에 의존한다는 말입니다.

예기치 못한 상황으로부터 데이터를 보호할 수 없고, 프로그램이 종료된 상태라면 원할 때 받아올 수 없으며,

데이터의 수명이 프로그램의 수명에 의존하게 됩니다.

  • File I/O

엑셀 시트, CSV 같은 파일 형태는 한계가 존재합니다.

  • 데이터가 필요할 때마다 매번 전체 파일을 읽어야 합니다. 그래서 파일이 커질수록 작업은 버거움
  • 파일이 손상되거나 여러 파일을 동시에 다뤄야하는 등 복잡한 데이터량이 많을 수록 데이터 불러들이는 작업이 힘들어짐

반면, RDBMS 에서는 하나의 CSV 파일이나 하나의 엑셀 시트를 한 개의 테이블로 저장할 수 있습니다.

한번에 여러 개의 테이블을 가질 수 있기 때문에 SQL 을 활용해 데이터를 불러오기 수월합니다.

 

 

SQL

Structured Query Language 의 줄임말로, 주로 관계형 데이터베이스에서 사용합니다.

SQL 을 사용하기 위해선 데이터의 구조가 고정되어 있어야합니다.

MySQL, Oracle, PostgreSQL 등 다양한 데이터베이스에서 SQL 구문 사용 가능합니다.

 

NoSQL 은 데이터베이스와 달리 데이터의 구조가 고정되어 있지 않은 데이터베이스 입니다.

관계형 데이터베이스와 달리 테이블을 사용하지 않고, 다른 형태로 저장하며, MongoDB 와 같은 문서 지향 데이터베이스입니다.

 

 

쿼리란 ?

검색을 할 때 입력하는 검색어가 일종의 쿼리입니다.

기존에 존재하는 데이터를 검색어로 필터링합니다. 따라서 쿼리는 저장되어 있는 데이터를 필터하기 위한 질의문으로 볼 수 있습니다.

 

 

주로 사용하는 데이터베이스 언어

1. 데이터베이스 생성

 

 CREATE DATABASE 데이터베이스 명;

 

2. 데이터베이스 사용

 

USE 데이터베이스 명; 

 

3. 테이블 정보 확인

 

 DESCRIBE user;

 

SQL 명령어 간략히 보기

1. SELECT : 데이터 셋에 포함될 특성을 특정

2. FROM : 뒤에 도출해낼 데이터베이스 테이블을 명시

3. WHERE : 필터 역할

4. ORDER BY : 데이터를 어떤 기준으로 정렬하여 출력할지 결정

5. LIMIT : 출력할 데이터의 개수

6. DISTINCT : 유니크한 값을 받고 싶은 경우 사용

7. INNER JOIN : 둘 이상의 테이블의 공통된 부분을 기준으로 연결

 

 

 

 

'스터디' 카테고리의 다른 글

스키마와 쿼리 디자인  (0) 2022.08.04
트랜잭션  (0) 2022.08.04
PostMan  (0) 2022.08.04
REST API  (0) 2022.08.03
SPA  (0) 2022.08.03

+ Recent posts