SQL(Structured Query Language)은 관계형 데이터베이스를 관리하기 위한 관리체계이자 프로그램 언어로 전 세계 데이터베이스의 60% 이상이 SQL로 관리되며 그 비중은 점점 커 지고 있습니다. (나머지 40%는 No SQL 형태(예: Mongo DB, 등..) 으로 관리됩니다)
이번 강의에서는 SQL 의 기능을 깊게 살펴보는 대신, "엑셀↔SQL 연동" vs. "매크로 DB함수 사용" 의 차이점과 그 장단점을 하나씩 알아보겠습니다.
매크로 DB 함수를 사용하면 무엇이 좋나요?
일반 실무자에게 SQL 서버를 직접 구축하고 데이터를 관리하는 것은 쉬운 일이 아닐 것 입니다. 물론 요즘은 구글 클라우드 플랫폼(GCP), 아마존 웹 서비스(AWS), 애져(AZURE)등 SQL 서버를 손쉽게 구축할 수 있는 다양한 클라우드 플랫폼이 있지만, 매월 들어가는 유지비를 고려한다면 이러한 플랫폼을 사용하는 것 또한 일반 실무자에게는 부담이 될 수 밖에 없는데요.
요즘은 다양한 클라우드 플랫폼을 통해 서버를 손쉽게 구축할 수 있습니다.
보통의 IT부서가 없는 중소기업에서 흔히 겪는 문제는, 이런식으로 SQL 서버를 직접 관리하기 어려운 상황에서 데이터베이스를 관리 할 수 있는 프로그램을 직접 개발하는 단계에서 발생합니다. 비용이나 시간적으로 제한이 있다보니 대부분의 과정을 직접 개발해야 하는데, Back-End(서버단)과 Front-End(사용자단)을 모두 제어할 수 있는 프로그램을 구축하는데 어려움을 겪게되죠.
이런 상황에서 우리가 현실적으로 가장 먼저 고려할 수 있는 방법은 엑셀 매크로 DB 함수를 활용하는 것입니다. 특히 예상되는 데이터베이스 크기가 100만행 이하라면 이번 강의에서 소개해드린 매크로 DB 함수를 활용하면 누구나 엑셀만으로 관계형 데이터베이스를 구축하고 손쉽게 프로그램을 제작할 수 있습니다.
IT부서가 없는 중소기업에서 매월 수만행 정도가 누적되는 데이터를 관리중이면서 프로그램을 직접 개발하기엔 비용/시간적으로 제한되는 경우
ERP 프로그램에서 다운받은 정규화 된 엑셀 자료를 손쉽게 관리할 수 있는 프로그램을 개발해야 할 경우
프로그램을 동시에 사용하는 경우가 매우 드물며, 관리하는 데이터 크기가 100만행 이하로 예상되는 경우
하지만 쉽게 업무에 적용되는 만큼, 고려해야 할 부분도 몇가지 있는데요. 이를 요약하면 아래 표와 같습니다.
항목
매크로 DB 함수
엑셀↔SQL 연동
레코드 개수(행 개수)
1,048,576 행 이하
무제한
동시 편집
동시 편집 불가능
동시 편집 가능
처리 속도
보통 (100만행 처리시 1초 내외, 현업에서 사용시 지장 없을 정도의 처리속도)
매우 빠름(지연시간 거의 없음)
보안
취약 (파일 안에 데이터가 하드코딩되어 저장되므로 보안에 취약함)
우수 (서버 안에 데이터를 저장, IP 주소 별로 접근 권한 설정 가능)
개발 난이도
Back-End 와 Front-End 모두 쉽게 개발 가능
Back-End : ODBC 라이브러리를 통해 엑셀↔SQL 연동, SQL 쿼리문에 대한 이해 필요
Front-End : 쉽게 개발 가능
코드 안정성
엑셀 2010 이후 버전에서 안정하게 동작
SQL 및 윈도우 버전에 따라 오류가 발생할 수 있으며, 버전이 달라질 때 마다 코드 수정이 필요함
관리 수준
DB 개수가 10개 이상일 경우 관리에 어려움. 데이터 구조에 대한 전반적인 이해만 있으면 쉽게 관리 가능.
DB 개수에 상관없이 쉽게 관리 가능. SQL에 대한 기본 지식 필요.
명령문 사용 예제는 준비중입니다. 각 명령문의 상세설명 포스트가 작성 되는대로 업데이트 하겠습니다.