본문 바로가기
데이터 베이스/SQL

[SQL] What is the SQL? (+ 관계형 데이터 베이스)

by Bhinney 2022. 8. 5.

📋목차

1️⃣ SQL이란?

2️⃣ 관계형 데이터 베이스(Realational DataBase)란?

 


SQL이란?

SQL은 Structured Query Language의 약자입니다. 영어의 뜻을 하나 하나 풀어볼까요? 

 

Structured는 '구조화된, 구조적'이라는 뜻을 가지고 있습니다. Query는 '질문, 질의문'이라는 뜻을 가지고 있습니다. Language는 '언어'라는 뜻을 가지고 있습니다.

 

여기서 조금 더 설명해 볼 단어가 있습니다. 바로 Query 입니다. 조금은 생소할 수 도 있는 이 단어는, 우리와 생각보다 밀접하게 관련되어 있습니다. 누구나 한 번쯤은 검색창에 검색어를 입력해서 검색을 해 보았을 것 입니다. 검색을 안 해본 사람은 솔직히 없죠. 이 검색어도 일종의 query입니다. 저장되어 있는 것을 필터하기 위해서 사용하기도 하죠.  이렇게 생각하면, 이후의 개념이 조금 쉽게 다가 올 것입니다.(제가 그랬거든요.) 

 

그러면 이 세 단어를 합쳐볼까요? SQL은 구조적 질의 언어를 말합니다. 이 SQL은 관계형 데이터 베이스 시스템에서 자료를 관리하기 위해 설계된 언어입니다. 데이터 베이스에 Query(질문)을 보내 원하는 데이터를 가져오거나,  삽입을 하기도 합니다. 

 

그러면, 관계형 데이터 베이스는 또 무엇일까요?

 


관계형 데이터 베이스(Realational DataBase)

관계형 데이터 베이스는 현재 가장 많이 사용되고 있는 데이터 베이스 중에 하나 입니다. 이 관계형 데이터 베이스는 행과 열로 구성된 테이블로 저장되어 있습니다. 

 

각 열은 하나의 속성에 대한 정보를, 행에는 각 열은 데이터 형식에 맞는 데이터가 저장됩니다.

 

관계형 데이터 베이스는 테이블의 구조와 데이터 타입 등을 사전에 정의하고, 정의된 내용에 알맞은 형태의 데이터만 삽입 가능합니다. 특정한 형식을 지키기 때문에 데이터를 정확히 입력했다면 데이터를 사용할 때에는 매우 수월합니다. 또한 그렇기 때문에 테이블 간의 관계를 직관적으로 파악하기 쉽습니다.

 

이러한 관계형 데이터 베이스에 Query를 활용하여 원하는 정보를 얻을 수 있습니다. 아래는 예시로 우선 가져온 코드입니다. 이해가 안되도 그냥 이런식이구나 하고 보면 좋을 것 같습니다. 

 

select film_id, title,release_year,length
from film
limit 30;


+---------+----------------------+--------------+--------+
| film_id | title                | release_year | length |
+---------+----------------------+--------------+--------+
|       1 | ACADEMY DINOSAUR     |         2006 |     86 |
|       2 | ACE GOLDFINGER       |         2006 |     48 |
|       3 | ADAPTATION HOLES     |         2006 |     50 |
|       4 | AFFAIR PREJUDICE     |         2006 |    117 |
|       5 | AFRICAN EGG          |         2006 |    130 |
|       6 | AGENT TRUMAN         |         2006 |    169 |
|       7 | AIRPLANE SIERRA      |         2006 |     62 |
|       8 | AIRPORT POLLOCK      |         2006 |     54 |
|       9 | ALABAMA DEVIL        |         2006 |    114 |
|      10 | ALADDIN CALENDAR     |         2006 |     63 |
|      11 | ALAMO VIDEOTAPE      |         2006 |    126 |
|      12 | ALASKA PHANTOM       |         2006 |    136 |
|      13 | ALI FOREVER          |         2006 |    150 |
|      14 | ALICE FANTASIA       |         2006 |     94 |
|      15 | ALIEN CENTER         |         2006 |     46 |
|      16 | ALLEY EVOLUTION      |         2006 |    180 |
|      17 | ALONE TRIP           |         2006 |     82 |
|      18 | ALTER VICTORY        |         2006 |     57 |
|      19 | AMADEUS HOLY         |         2006 |    113 |
|      20 | AMELIE HELLFIGHTERS  |         2006 |     79 |
|      21 | AMERICAN CIRCUS      |         2006 |    129 |
|      22 | AMISTAD MIDSUMMER    |         2006 |     85 |
|      23 | ANACONDA CONFESSIONS |         2006 |     92 |
|      24 | ANALYZE HOOSIERS     |         2006 |    181 |
|      25 | ANGELS LIFE          |         2006 |     74 |
|      26 | ANNIE IDENTITY       |         2006 |     86 |
|      27 | ANONYMOUS HUMAN      |         2006 |    179 |
|      28 | ANTHEM LUKE          |         2006 |     91 |
|      29 | ANTITRUST TOMATOES   |         2006 |    168 |
|      30 | ANYTHING SAVANNAH    |         2006 |     82 |
+---------+----------------------+--------------+--------+

 

솔직히, 이렇게만 생각하면 잘 이해가 안 갈 수도 있습니다. 쉽게 이해하기 위해 예를 한 번 들어보겠습니다. 

이해를 위한 그림이니 가볍게 보고 넘어가주세요

여러 분은 어떤 쇼핑몰을 자주 이용하시나요? 여기 여러분이 자주 사용하는 쇼핑몰이 있다고 가정해보겠습니다. 그 쇼핑몰에는 제품 주문을 처리하는 데에 두 가지 테이블이 있다고 가정하겠습니다. 첫 번째 테이블은 고객 정보 테이블입니다. 고객 정보 테이블에는 고객의 이름, 주소, 전화번호 등의 정보가 저장되어 있습니다. 두 번째 테이블은 주문 정보입니다. 주문 정보에는 주문한 제품, 색상, 사이즈 가격 등의 정보가 저장되어 있습니다. 

이 두 테이블의 공통점은 ID 하나 입니다. 이 공통된 ID 덕분에 두 테이블은 관계를 형성할 수 있고, 고객의 주문 정보를 처리할 수 있습니다. 

(참고한 자료 : https://www.oracle.com/kr/database/what-is-a-relational-database/)

'데이터 베이스 > SQL' 카테고리의 다른 글

[SQL] JOIN (INNER JOIN, OUTER JOIN)  (0) 2023.01.05

댓글