앞서 데이터를 저장하는 방법으로 파일에 데이터를 저장하거나, 인메모리 형태로 데이터를 임시 저장하는 방법을 이용했다. 이 방법으로도 데이터를 저장할 수 있는데 굳이 데이터베이스를 사용할 필요가 있을까?
JavaScript에서 데이터를 다룰 때에는 프로그램이 실행될 때에만 존재하는 데이터가 있다.
JavaScript에서 변수를 만들어 저장하는 경우, 프로그램이 종료될 때 해당 프로그램이 사용하던 데이터도 사라진다. 이 말은 변수 등에 저장한 데이터가 프로그램의 실행에 의존한다는 말이다. 예기치 못한 상황으로부터 데이터를 보호할 수 없고, 프로그램이 종료된 상태라면 데이터를 원하는 시간에 받아올 수 없으며, 데이터의 수명이 프로그램의 수명에 의존하게 된다.
파일을 읽는 방식으로 작동하는 형태를 말한다.
-한계
반면에 관계형 데이터베이스에서는 하나의 CSV파일이나 엑셀 시트를 한 개의 테이블로 저장할 수 있다. 한 번에 여러 개의 테이블을 가질 수 있기 때문에 SQL을 활용해 데이터를 불러오기 수월하다. 또한 CSV파일 등처럼 특정 형태의 파일은 대용량의 데이터를 저장하기 위한 목적이 아니다.
데이터베이스용 프로그래밍 언어로, 주로 관계형 데이터베이스에서 사용한다.
ex) MySQL, Oracle, SQLite, PostgreSQL등 다양한 데이터베이스에서 SQL구문을 사용할 수 있다.
데이터베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있다.
SQL은 구조화된 쿼리 언어이다.
<-> NoSQL : 데이터의 구조가 고정되어 있지 않은 데이터베이스를 NoSQL이라고 한다. 관계형 데이터배이스와는 달리, 테이블을 사용하지 않고 데이터를 다른 형태로 저장한다. 대표적인 예) MongoDB
쿼리는 '질의문'이라는 뜻을 가지고 있다. 예를 들면 검색할 때 입력하는 검색어가 일종의 쿼리이다. 검색을 할 때, 기존에 존재하는 데이터를 검색어로 필터링한다. 따라서 쿼리는 저장되어있는 데이터를 필터하기 위한 질의문으로 볼 수 있다.
참고자료
코드스테이츠