케네스로그

[SQL] 데이터베이스, SQL - 훑어보기 본문

Dev/SQL

[SQL] 데이터베이스, SQL - 훑어보기

kenasdev 2020. 8. 17. 23:02
반응형

DB, DBMS, SQL .. 이게 다 뭐지

데이터베이스(DB), SQL, DBMS, MySQL 등등 .. 개발쪽으로 일하지 않더라도 한 번 쯤은 들어보았을 법한 단어들 입니다. 최근 들어 IT교육 열풍과 데이터의 중요성이 부각되면서 자주 노출되는 단어들 입니다. 데이터와 관련된 단어 또는 프로그래밍 용어라고 생각하고 정확히 뭘 말하는지 모르는 사람이 많았을거라고 생각합니다. 저 또한 컴퓨터를 전공으로 했었지만, 어렴풋이 알고 있었고 명확히 설명하긴 어려웠습니다.

 

오늘은 이 단어들을 비전공자 뿐만 아니라 컴퓨터에 대해 잘 알지 못하는 사람을 위해 자주 언급되는 용어들의 개념을 알려드리겠습니다. 이해를 돕기 위해 사전적 의미의 명확한 전달 보다는 비유를 통해 설명 해보겠습니다.

 

Data 와 Database

데이터는 무엇을 말하는 것 일까요? 데이터(data)는 라틴어 datum의 복수형입니다. datum은 주어진 것이라는 뜻으로, 관찰이나 실험, 조사 등으로 얻은 사실이나 자료를 말합니다. 어떤 사람들은 데이터는 정보라고 합니다. 하지만, 엄연히 정보와 데이터는 다른 것 입니다.

정보(information)어떠한 목적을 위해 정제된 데이터입니다. 내일의 날씨를 알고 싶은데에 오늘의 주가 데이터는 아무런 쓸모가 없죠. 날씨 정보를 위해서는 기상 데이터가 필요한 것 입니다. 날씨라는 목적을 위해 정제된 기상 데이터를 필요로 하는 것 입니다.

 

그렇다면 이렇게 무수히 많은 데이터를 어떻게 보관할까요? 그 방법은 도서관에서 수 많은 책들을 관리하는 방법과 유사합니다. 도서관에서는 책의 종류별로, 제목별로, 또는 출간일 순으로 정리합니다. 그리고, 도서관 사서는 날짜순, 이름순, 장르순 등으로 정리하기 때문에 고객이 요청하는 책을 쉽게 찾을 수 있는 겁니다. 그럼 우리 주위에 존재하는 정보(데이터)들도 마찬가지입니다. 일련의 순서에 따라 정리되어 있는 장소가 데이터베이스(database)입니다. 위의 그림에서 데이터베이스는 온갖 자료가 저장되어 있는 창고로 비유하였습니다. 창고만 있다고 그 안의 물건을 가져가고 새로운 물건을 넣을 수 있는건 아니죠. 창고를 관리하는 직원이 있어야 하며, 새로운 물건을 적재하거나 기존의 물건을 가져오라는 명령을 내려야만 할 것입니다.

 

DBMS(Database Management System)

DBMS데이터베이스를 관리하는 소프트웨어를 이야기합니다. 위의 그림에서는 창고를 관리하며 사용자 또는 창고 주인과 소통하는 사람이라고 할 수 있습니다. 이러한 DBMS는 엑셀이나 워드, 한글과 같은 소프트웨어입니다. 즉, 다양한 회사에서 제공하는 다양한 종류의 소프트웨어가 존재한다는 것이죠. 대표적으로, Oracle, MySQL, MS-SQL, MariaDB 등이 있습니다. DBMS를 사용하는 목적과 규모에 따라서 어떤 회사의 소프트웨어를 사용하는지 정해집니다. 마치, 한국의 공공기관에선 '한글' 이라는 워드프로세서를 사용하지만, 다국적 기업에서는 대부분 마이크로소프트 사의 워드를 사용하죠.

 

SQL(Structured Query Language)

SQL은 직역하자면, 구조화된 질문 언어입니다. 보통 씨-퀄 또는 에스큐엘 이라고 발음합니다. 위의 그림에서는 DBMS와 개발자가 소통하는 수단입니다. 앞서 언급했듯이, 창고에서 물건을 가져오거나 새로운 물건을 적재하기 위해서 사용자는 창고관리인에게 명령을 전달 해야 합니다. 이 때 명령은 SQL이라는 언어를 이용해 쓰여진다는 것입니다. 즉, SQL데이터베이스에 접근하고 이용하기 위한 언어를 말합니다. DBMS에 따라 조금의 차이는 있지만, 대부분 유사한 문법을 따릅니다. 영국, 호주, 미국 모두 영어를 사용하지만, 이들이 사용하는 어휘가 조금씩 다르다는 것과 유사합니다.

 

 

반응형