안녕하세요 !
숙명여자대학교 비즈니스 애널리틱스 동아리 Ball 입니다.
오늘은 SQL을 입문하는 분들을 위해
‘데이터베이스’ 개념을 소개해드리고자 하는데요.
SQL에 대해 제대로 이해하기 위해서는
데이터베이스에 대한 지식이 선행적으로 요구됩니다.
특히나 데이터베이스는 IT 분야뿐만 아니라
다른 분야에서도 보편적으로 사용하는 용어입니다.
우리의 삶이 데이터베이스와 직/간접적으로 연관되어 있다고 생각해도 무방할 정도인데요 !
이번 포스팅을 통해 데이터베이스 개념과
SQL의 관계에 대해 알아보겠습니다.
1. 데이터베이스란 ? (Database, DB)
데이터베이스를 한 마디로 정의한다면 ‘데이터의 집합’ 입니다.
우리 일상생활 대부분의 정보가 저장되고 관리되는데요.
예시로, 오늘 인스타그램에 업로드한 사진,
여러분이 보내거나 받으신 카카오톡 메시지,
지하철에서 찍은 교통카드,
카페에서 구매한 커피 등의 정보가 모두 데이터베이스에 기록됩니다.
2. DBMS (Database Management System)
데이터베이스를 ‘데이터의 집합’ 이라고 정의한다면,
이러한 데이터베이스를 관리하고 운영하는 소프트웨어를 DBMS 라고 합니다.
다양한 데이터가 저장되어 있는 데이터베이스는
여러 명의 사용자나 응용 프로그램과 공유하고
동시에 접근이 가능해야 합니다.
3. DBMS의 종류
DBMS와 같은 소프트웨어는 특정 목적을 처리하기 위한 프로그램입니다.
데이터베이스를 사용하기 위해서는 소프트웨어, DBMS를 설치해야 하는데
대표적으로 MySQL, 오라클, SQL 서버, MariaDB 가 있습니다.
다음의 표를 통해 DBMS의 특징에 대해 살펴보겠습니다 !
4. DBMS의 발전 과정
앞서 살펴본 DBMS의 발전 과정에 대해 알아보겠습니다.
1) 종이에 펜으로 기록
아주 오래 전부터 정보는 관리되어 왔는데요.
컴퓨터가 없던 시기에도 판매와 구매가 발생했을 것이고,
그것을 종이와 펜으로 기록했을 것입니다.
2) 컴퓨터에 파일로 저장
컴퓨터가 등장하고 일반 사람들도 컴퓨터를 사용하게 되면서
종이에 기록하던 내용을 컴퓨터 파일에 기록하고 저장하게 되었습니다.
컴퓨터를 어느 정도 활용하게 되면서
엑셀과 같은 스프레드시트 프로그램을 사용해
표 형태로 내용을 기록하고 자동으로 계산하는 등
한층 더 효율적으로 정보를 관리하게 되었습니다.
기록된 내용은 파일이라는 형태로 저장해
필요할 때마다 열어서 사용할 수 있습니다.
그러나 파일은 데이터의 양이 많을 경우
한 명의 사용자가 모두 처리할 수 없기 때문에
여러 사용자가 각자의 파일을 만들어서 작업할 수 밖에 없습니다.
따라서 ‘불일치’ 라는 문제점이 파일의 큰 문제점 중 하나입니다.
3) DBMS의 대두와 보급
앞에서 언급한 파일의 단점을 보완하면서
대량의 데이터를 효율적으로 관리하고 운영하기 위해 등장한 것이 DBMS 입니다.
MySQL과 같은 DBMS의 개념은
1973년에 최초로 에드거 프랭크 커드 라는 학자가 이론을 정립했습니다.
그 이후로 많은 DBMS 제품이 만들어졌고,
지금과 같이 안정적인 소프트웨어로 자리 잡게 되었습니다.
DBMS는 데이터의 집합인 데이터베이스를 잘 관리하고 운영하기 위한
시스템 또는 소프트웨어를 말합니다.
DBMS에 데이터를 구축, 관리하고 활용하기 위해서 사용되는 언어가
바로, ‘SQL (Structured Query Language)’ 입니다.
*SQL은 구조화된 질의 언어라고 표현합니다.
이 SQL을 사용하면 DBMS를 통해 중요한 정보들을
입력, 관리하고 추출할 수 있습니다.
즉, SQL 문을 잘 이해하고 사용해야만
DBMS를 원활하게 활용할 수 있겠죠 ?
마치, 한국 문화(DBMS)를 완전히 이해하고 싶다면
우리나라의 언어인 한글(SQL)을 먼저 배워야 하는 것과 비슷한 개념입니다 !
5. DBMS의 분류
DBMS의 유형은 계층형, 망형, 관계형, 객체지향형, 객체관계형 등으로 분류되는데요.
현재 사용되는 DBMS 중에서는
관계형 DBMS가 가장 많은 부분을 차지하며,
MySQL 역시 관계형 DBMS에 포함됩니다.
관계형 DBMS
관계형 DBMS에 대해 자세히 알아볼까요?
관계형 DBMS는 줄여서 RDBMS라고 부릅니다.
RDBMS의 데이터베이스는 테이블 이라는 최소 단위로 구성되며,
이 테이블은 하나 이상의 열과 행으로 이루어져 있습니다.
RDBMS에서는 모든 데이터가 테이블에 저장됩니다.
이 구조가 가장 기본적이고 중요한 구성이기 때문에
테이블만 제대로 파악한다면, RDBMS를 어느 정도 이해한 것입니다 !
테이블은 열과 행으로 이루어진 2차원 구조를 갖습니다.
세로는 열이라고 하고, 가로는 행이라고 합니다.
6. DBMS에서 사용되는 언어 : SQL
가장 궁금하셨을 SQL에 대해 소개해드리겠습니다.
SQL은 앞서 살펴본 관계형 데이터베이스에서 사용되는 언어로,
‘에스큐엘’ 또는 ‘시퀄’로 읽습니다.
관계형 DBMS를 배우려면 SQL을 필수로 익혀야 합니다.
SQL이 데이터베이스를 조작하는 ‘언어’이긴 하지만
일반적인 프로그래밍 언어 (C, 자바, 파이썬 등) 와는 조금 다른 특성을 갖습니다.
SQL은 특정 회사에서 만드는 것이 아니라
국제표준화기구에서 SQL에 대한 표준을 정해서 발표하고 있는데요.
이를 '표준 SQL' 이라고 합니다.
그런데 문제는 SQL을 사용하는 DBMS를 만드는 회사가 여러 곳이기 때문에
표준 SQL이 각 회사 제품의 특성을 모두 포용하지는 못한다는 점입니다.
그래서 DBMS를 만드는 회사에서는 되도록 표준 SQL을 준수하되,
각 제품의 특성을 반영한 SQL을 사용합니다.
예시로 다음 그림은 3가지 DBMS 제품(오라클, SQL 서버, MySQL)이
모두 표준 SQL을 포함하고 있지만, 추가로 자신만의 기능을 가지기도 합니다.
이렇게 변경된 SQL을
오라클은 PL/SQL, SQL서버는 T-SQL, MySQL은 SQL로 부릅니다.
지금까지 데이터베이스의 개념과,
구축 과정을 살펴보면서 SQL에 대해 알아보았습니다 !
SQL을 잘 활용하기 위해서는
이번 포스팅에서 다룬 데이터베이스를 탄탄하게 이해하는 것이 핵심입니다.
다음 포스팅에서 더 유익한 내용으로 찾아뵙겠습니다 :)
감사합니다.
*본 포스팅은 [혼자 공부하는 SQL] 저서를 기반으로 기획하였습니다.
'데이터 분석 공부' 카테고리의 다른 글
Git과 Github, VS Code로 편하게 관리하자! (0) | 2023.11.10 |
---|---|
태블로의 기초 용어, 아직도 헷갈리시나요? (0) | 2023.10.20 |
맵박스(Mapbox)를 활용해 나만의 태블로 커스텀 맵 만드는 법 (0) | 2023.08.20 |
머신러닝 알고리즘 회귀분석 , 예시로 쉽게 알아보기 (0) | 2023.07.20 |
태블로 프렙(Tableau Prep), 간단히 마스터하기 (0) | 2023.06.20 |