2022. 5. 31. 14:20ㆍSQL
Intro.
SQL은 프로그래밍 언어가 아닌 하나의 데이터와의 소통 방법이다.
그때문인지 IT 부서가 아님에도 특히, 마케팅 부서에서도 많이 사용하고,
또 지원자에게 요하는 skill 중 하나이다. 요즘 많은 이들이 가고 싶어서는
회사 중 하나인 [우아한 형제들]의 마케팅 부서 역시 SQL을 사용한다.
정확히는 SQL'만' 사용한달까..
작년에 사전설명회 생중계 영상을 본 적이 있는데 누군가 자신은
Python도 활용할 줄 알고, GA도 능숙하게 다룬다.
허나 SQL은 아직 배우지 못했다. 지원이 전혀 불가능한가
라고 실무진께 질문을 한 적 있었는데 실무진 분께서 단호하게
Python, GA 전부 NO. SQL 스킬을 요한다라고 답하셨던 것이 생각난다.
말이 다소 길어졌는데 비단 배민뿐만 아니라
최근 다양한 기업에서 SQL은 기본적인 skill로
요하는 듯하여 나 역시 부랴부랴 공부해보고자 한다.
데이터베이스(Database, DB)
한 마디로 정의하자면 '데이터의 집합'을 뜻한다.
우리가 실생활의 대부분의(sns, 카드 사용내역, 메신저 등) 정보가
모두 데이터베이스에 기록된다고 보면 된다.
DBMS(Database Management System)
위에서 정의한 데이터베이스를 관리하고 운영하는
소프트웨어를 뜻하는 단어다. '관리'와 '운영'이 가능해야
하기 때문에 여러 명의 사용자나 응용 프로그램이 동시에
접근 가능해야 하는 것이 특징이다.
핵심 Keyword : 대용량, 다수 공유 가능
단순한 예를 들어보면 Excel은 DBMS일까, 아닐까.
답은 [아니다]다. 언뜻보면 Excel로 데이터의 집합을
정리 및 관리, 운영한다고 볼수는 있다. 하지만 그건
사용자 개인 혼자가 가능한 것이지, 여러 사용자가
동시 공유가 가능한 것이 아니며 대용량의 데이터베이스를
다루기에는 다소 무리가 있기 때문에 DBMS라고 할 수 없다.
DBMS의 종류
문서 작성을 할때엔 Word, 사진 편집은 포샵을 사용하듯
데이터베이스를 사용할 때에 사용하는 것이 MySQL이다.
사실 MySQL 외에도 MariaDB, Access, SQLite, Oracle 등
다양한 제작사에 따른 여러 DBMS가 존재한다. 각자 작동되는
운영체제도 다르고 특징도 있어 사용 목적에 맞는 것을 이용하겠지만
대중적으로 가장 많이 사용되는 것이 MySQL이다.
DBMS의 발전 과정
종이와 펜으로 기록 → 컴퓨터에 파일로 저장(초기) : 메모장
→ 컴퓨터에 파일로 저장 : 엑셀 → DBMS : (초)대용량, 다수, 공유
컴퓨터와 DBMS는 약간 편의점과 대형 마트 계산대를 생각하면 쉬울 듯
DBMS 개념은 1973년 에드거 프랭크 커드(E.F. Codd)라는
학자가 이론을 최초로 정립했다. 데이터베이스를
잘 관리하고 운영하기 위한 시스템 또는 소프트웨어를
DBMS라고 한다 했다. 이 DBMS에 데이터를 구축, 관리하고
활용하기 위해 사용되는 언어가 바로 SQL이다.
Structured Query Language = 구조화된 질의 언어
즉, 정보를 입출력, 관리할 수 있는 컴퓨터 언어다.
DBMS의 분류
실무에서는 별로 중요하진 않으나 자격증 시험에서는
한두문제씩 출제가 된다고 한다. 가볍게 훑는 정도만 알아두자.
계층형 DBMS : 1960년대 사용, 트리 형태, 현재는 사용X
망형 DBMS : 1970년대 등장, 현재 거의 사용 X, 보다 유연한 형태
트리형태의 하단에 서로 연결되어 있지 않는 부분을 보완.
관계형 DBMS : 요즘 대부분이 사용. 줄여서 RDBMS라고 부르나
대부분이 이 형태라 그냥 DBMS라고 하면 대게 RDBMS를 뜻한다.테이블 형태로 열과 행으로 이루어진 2차원 구조이다.
테이블은 데이터베이스의 최소단위로 하나 이상의 열과 행으로 구성.
DBMS에서 사용되는 언어 : SQL
국제표준화기구에서 SQL에 대한 표준을 정해서 발표하고 있으며
이를 표준 SQL라고 한다. 각 제작사에 따라 각 회사의 특징이 가미되어
있지만 기본적인 표준 SQL을 따른 것이기 때문에 처음보더라고
한가지를 마스터했다면 익숙하게 느껴질 것이다.
'SQL' 카테고리의 다른 글
[SQL 독학] SQL 기본 문법(SELECT ~ FROM ~ WHERE)&연산자 (0) | 2022.06.05 |
---|---|
[SQL 독학] MySQL 데이터베이스 개체(인덱스, 뷰, 스토어드 프로시저) (0) | 2022.06.02 |
[SQL 독학] 데이터베이스 만들기 (0) | 2022.06.02 |
[SQL 독학] 데이터베이스 모델링 (0) | 2022.06.02 |
[SQL 독학] MySQL 설치 (0) | 2022.06.01 |