헷갈리는 데이터베이스, 테이블, DBMS, 쿼리, SQL을 간단하게 이해하기

oen·2021년 1월 17일
0

🗄️ Database

목록 보기
3/3

데이터베이스를 처음 공부할 때 데이터베이스, DBMS 등 데이터베이스와 관련한 용어들이 이름도 비슷하고 개념도 엄청 헷갈렸다. 그래서 책과 책장이라는 예시로 연상을 하니까 덜 헷갈렸었는데, 이 내용을 글로 정리해 보았다.

책장 + 책 = 관계형 데이터베이스

이 글의 핵심은

  • 책을 정리하는 틀인 책장은 테이블
  • 책장에 꽂아 넣는 책은 데이터
  • 그 두개를 합친 것이 관계형 데이터베이스

라고 생각하면 된다는 것이다. 자세한 내용은 아래에서 👇

데이터베이스

데이터베이스는 어떤 규칙이나 목적을 기초로 하여 관리되는 데이터 모음 이다.

예를 들어, 책들이 바닥에 마구 흩어져 있다고 상상해 보자.
그럼 내가 어떤 책이 필요할 때 책을 찾는데에 시간이 오래 걸릴 것이다. 따라서 우리는 책을 바로 빨리 찾기 위해 책을 책장에 차곡차곡 정리된 형태로 보관해 놓을 필요가 있다.

이처럼 우리는 데이터를 정리된 형태로 보관하는데, 이렇게 정리 정돈해서 사용하기 쉽게 만든 데이터의 모음을 데이터베이스라고 부른다.

데이터베이스 종류

데이터베이스의 종류에는 계층형, 네트워크형(망형), 관계형 등이 있다.
그중에서도 관계형 데이터베이스는 워낙 많이 사용되기 때문에 데이터베이스라고 하면 관계형 데이터베이스부터 떠올리는데, 관계형 데이터베이스는 수많은 데이터베이스의 종류 중 하나이니 헷갈리지 말자!

테이블

관계형 데이터베이스에서는 데이터를 테이블 형식으로 관리하기 때문에, 테이블은 데이터를 넣기 위한 과 같다.

데이터를 행과 열로 이루어진 테이블(표)로 관리하고, 테이블(표)끼리 자유롭게 조합해서 연결(릴레이션)도 할 수도 있다.

데이터베이스 관리 시스템(DBMS)

DBMS는 데이터베이스를 관리하는 소프트웨어이다. 데이터베이스는 DBMS라는 소프트웨어로 관리된다. 실제로 데이터를 저장하거나 가져오는 것은 DBMS의 작업이다.

도서관의 사서를 떠올려보자. 도서관에서는 사서가 책장에 책도 넣고 필요한 책도 꺼내준다. 이와 같이 필요한 데이터를 꺼내주고 저장도 해주는 무언가가 필요한데, 데이터베이스가 데이터베이스를 관리해줌으로써 책장을 관리하는 사서와 같은 역할을 해준다.

RDBMS

관계형 데이터베이스는 관계형 데이터베이스 관리 시스템(RDBMS: Relational Database Management System) 이라는 소프트웨어가 관리한다.

RDBMS는 DBMS의 한 종류로, 데이터베이스 중에서도 관계형 데이터베이스를 관리하는 소프트웨어이다.

대표적인 RDBMS로 SQL Server, Oracle, MySQL, PostgreSQL 등이 있다.

쿼리 (Query)

도서관의 사서에게 'ㅇㅇ라는 책을 찾아주세요' 'XX라는 책을 책장에 구비해 주세요' 라고 요청하듯이,
사용자는 데이터베이스 관리 시스템(DBMS)에게도 'ㅇㅇ라는 데이터를 주세요' 'XX라는 데이터를 새로 저장해 주세요' 등의 요청을 할 수 있고 대화를 할 수 있다.

이때 DBMS에게 보내는 요청을 쿼리(Query: 질의)라고 한다.
DBMS는 쿼리를 받으면 지정된 처리를 수행하고 결과를 반환한다.

데이터베이스 언어

관계형 데이터베이스 관리 시스템(RDBMS) 뿐만 아니라, 모든 데이터베이스 관리 시스템과 대화할 때 사용되는 언어를 통틀어 데이터베이스 언어라고 한다.

SQL(Structured Query Language)

SQL은 <관계형 데이터베이스>를 조작하기 위한 언어이다.

SQL 문

관계형 데이터베이스와 상호작용할 때 쿼리의 내용인 명령문을 SQL문이라고 부른다.
이때 SQL이라는 언어를 사용해서 요청한다.

UnQL(UnStructured Query Language)

관계형 데이터베이스는 테이블의 컬럼 구조와 테이블간의 관계에 맞춰 구조화된 쿼리 언어를 사용하기 때문에 'Structured' Query Language이고,
비관계형 데이터베이스의 경우에는 구조화 되지 않은 언어로도 데이터 요청이 가능하기 때문에 UnQL(UnStructured Query Language)이라고 말하기도 한다.

profile
🐾

2개의 댓글

comment-user-thumbnail
2022년 3월 25일

깔끔하게 잘 정리해주셔서 잘 봤습니다 감사해요!
그런데 Query는 DBMS에 요청하는 것을 의미한다고 하셨는데
데이터베이스 언어 설명 부분과 쿼리 설명 부분이 조금 상충되는 것 같아요~
밑에서 Query에 대해 쓰신 부분을 읽어보면 RDBMS에서만 쓰인다고 이해할 수도 있을 것 같아서 댓글 남깁니다~

1개의 답글