[데이터베이스] 관계형 데이터 베이스 - 개요

윤후·2022년 3월 5일
0

Section 3

목록 보기
16/41

SQL소개


데이터를 저장하는 방법으로 파일에 데이터를 저장하거나 인메모리 형테로 데이터를 임시 저장하는 방법을 이용하였다. 이러한 방법으로 데이터를 저장할 수 있는데 왜 데이터 베이스를 사용할까? 데이터 베이스를 사용하지 않고 엑셀이나 CSV 파일등에 데이터를 저장해 사용하면 되지 않을까?

1. In-Memory

먼저 JS에서는 데이터를 다룰 때에는 프로그램이 실행될 때에만 존재하는 데이터가 있다. JS에서 변수를 만들어 저장한 경우, 프로그램이 종료될 때, 해당 프로그램이 사용하던 데이터도 사라진다. 이말은 변수등에 저장한 데이터가 프로그램의 실행에 의존하기 때문이다. 예기치 못한 상황으로 부터 데이터를 보호할 수 없고, 프로그램이 종료된 상태라면 데이터를 원하는 시간에 받아올 수 없으며, 데이터의 수명이 프로그램의 수명에 의존하게 된다.

2. File I/O

파일을 읽는 방식으로 작동하는 형태를 말한다. 엑셀 시트나 CSV같은 파일의 형태는 In-Memory에 비해 적정한 방법이다.

  • 데이터가 필요할 때마다 전체 파일을 매번 읽어야 한다. 파일의 크기가 커질수록 이 작업은 버겁고 비효율적이여서 File I/O방식의 큰 단점이다.
  • 파일의 손상되거나 여러개의 파일들을 동시에 다뤄야 하거나 하는 등 복잡하고 데이터량이 많아질수록 데이터를 불러들이는 작업이 점점 힘들어진다.

반면 관계형 데이터 베이스에서는 하나의 CSV파일이나 엑셀 시트를 한 개의 테이블로 저장할 수 있다. 한번에 여러개의 테이블을 가질 수 있기 때문에 SQL을 활용해 데이터를 불러오기 수월하다. 또한, 엑셀 시트와 CSV파일 등 처럼 특정형태의 파일은 대용량의 데이터를 저장하기 위한 목적이 아니다.

SQL 소개


하나의 언어인 Structured Query Language (SQL)은 데이터베이스 언어로 주로 관계형 데이터베이스에서 사용한다. 예를들어 MySQL, Oracle, SQLite, PostgreSQL 등 다양한 데이터베이스에서 SQL 구문을 사용할 수 있다.

SQL이란 데이터베이스용 프로그래밍 언어이다. 데이터베이스에 *쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있다. 그리고 이름에서 유추할 수 있듯이 SQL은 데이터가 구조화된 테이블을 사용하는 데이터베이스에서 활용할 수 있다.

SQL을 사용할 수 있는 데이터베이스와 달리 데이터의 구조가 고정되어 있지 않은 데이터 베이스를 NoSQL이라고 한다. 관계형 데이터베이스와는 달리 테이블을 사용하지 않고 데이터를 다른 형태로 저장한다. NoSQL의 대표적인 예시는 MongoDB와 같은 문서 지향 데이터베이스이다.

이처럼 데이터 베이스 세계에서 SQL은 데이터베이스 종류를 SQL이라는 언어 단위로 분류할 정도로 중요한 자리를 차지하고 있다. 그리고 SQL을 사용하기 위해서는 데이터 구조가 고정되어 있어야 한다.

*쿼리 : 쿼리(Query)란 무엇일까? 쿼리는 “질의문”이라는 뜻을 가지고 있다. 예를 들면 검색할 때, 입력하는 검색어가 일종의 쿼리이다. 검색을 할 때, 기존에 존재하는 데이터를 검색어로 필터링한다. 따라서 쿼리는 저장되어 있는 데이터를 필터하기 위한 질의문으로도 볼 수 있다.

profile
궁금한걸 찾아보고 공부해 정리해두는 블로그입니다.

0개의 댓글

관련 채용 정보