잘못된 내용이나 추가할 내용이 있다면 언제든지 댓글 남겨주시면 감사하겠습니다😊
이번 학기에 데이터 베이스 과목의 프로젝트 과제로 네이버 영화 사이트를 클론하였다. 나를 포함한 2명의 인원으로 프로젝트를 진행하였는데, 나는 팀원이 크롤링으로 얻은 데이터를 mysql
을 이용해 저장을 해두면, 그 데이터들을 읽어와 화면에 뿌려주는 기능을 담당하였다.
사실상 백엔드 일부와 프론트엔드를 같이 맡게 된 것이다. 그런데 백 부분은 처음 하는 부분이기도 하거니와, mysql
과 express
연동이 잘 안돼서 상당히 애를 먹었었다. 빠르게 구현을 해야 하는 상황이었어서 이해는 제쳐두고 내용들을 가져다 고쳐쓰기 바빴는데, 이해가 부족하니 별 것 아닌 문제로 오랜 시간동안 끙끙댔었다. 그래서! 종강도 했겠다, 개념이 부족했던 부분, 막혔던 부분에 대해 정리해보고자 한다.
우선 이번 포스트에서는 express
와 mysql
이 무엇인지! 알아보도록 하자.
놀랍게도 이게 뭔지도 모르고 썼다. 그래서 말로도 설명을 잘 못했었지... 무슨 서버를 열려면 express
를 설치해야한다는데 어디다 설치해야하는지도 모르겠고, 이게 node js
를 쓰는건지도 몰랐었다^^...
아 그래서 express
가 뭐라고?
express
는 node js로 서버를 쉽게 구성할 수 있게끔 도와주는 웹 프레임워크이다. express document 에 따르면, 많은 HTTP utility method들과 middleware를 원하는 대로 사용할 수 있고, 간단한 API들을 빠르고 쉽게 구축할 수 있다고 한다.
사실 node js
를 직접 써봤으면 얼마나 간편한지 알 수 있었을 텐데, 순수 node js는 써보지 않아 얼마나 편리한 지는 잘 체감되지 않는다. 프론트에서 바닐라 js로 구현하다가 처음 React를 배웠을 때의 기분이려나? 내실을 단단히 다지려면 순수 node js만 써보는 기회도 가져야겠다.
그래서 복습, express
가 뭐라고?
node js로 서버를 쉽게 구성할 수 있게끔 도와주는 웹 프레임워크!
그렇다면 mysql
은 무엇일까?
mysql은 세계에서 가장 많이 쓰이는 오픈 소스인 관계형 데이터베이스 관리 시스템(RDBMS) 이다.
"오픈 소스인 관계형 데이터 베이스 관리 시스템"이 뭔데...? 라는 분들을 위한 설명!
오픈 소스
는 소스 코드가 공개되어있어 누구나 제한없이 사용할 수 있는 소프트웨어를 말한다. mysql
은 오픈소스니까 누구나 자유롭게 사용하고 수정하고 배포할 수 있다! 정도로 생각하면 좋을 것 같다.
그럼 관계형 데이터 베이스 관리 시스템
은 뭔가요?
우선 데이터 베이스(Database, DB)
가 뭔지 부터 간단히 짚자. 데이터 베이스는 데이터들의 집합체를 의미한다. 여러 데이터들을 모아놓은 것! 이라고 생각하면 될 듯하다.
관계형 데이터 베이스 관리 시스템(RDBMS)
은 '데이터 베이스를 관리하는 시스템(DBMS)'인데, 데이터 베이스의 유형이 '관계형'인 것을 의미한다.
관계형 데이터 베이스
는 데이터를 "테이블 형태"로 저장하는, 데이터 베이스를 의미한다.
그럼 데이터 베이스 관리 시스템
은 무엇인가요?
데이터 베이스 관리 시스템(DBMS)
은 응용 프로그램(application)
과 데이터 베이스
사이에서, 모든 응용프로그램이 거대한 데이터 베이스를 공용할 수 있도록 관리하는 역할을 담당한다.
'데이터를 관리'한다 함은,
- 데이터 구조 등을 응용 프로그램이 원하는 대로 정의할 수 있고,
- 데이터를 검색, 갱신, 삽입, 삭제를 할 수 있으며,
- 데이터의 정확성과 보안성을 유지할 수 있도록 도와준다,
는 것을 의미한다.
이론은 이 정도로 설명하고, 지금까지 설명한 내용들을 가지고 다시 본론으로 돌아가보면~
MySQL
은 오픈 소스 관계형 데이터 베이스 관리 시스템
이니까,
관계형 데이터 베이스를 관리하는 시스템인데, 누구나 접근 가능한 오픈소스 소프트웨어인 것이다!
마지막으로 아래 문구를 읊조리면서 모든 단어들의 뜻이 이해되는지 확인해보자.
MySQL
은 오픈 소스인 관계형 데이터 베이스 관리 시스템(RDBMS)!
이렇게 express
와 mysql
을 연동하기 전에, 각각이 도대체 무엇인지!에 대해 알아보았다.
다음 글에서는 실질적으로 어떻게 연동하는지에 대해 알아보도록 하자.