티스토리 뷰

 

 

 

 

1. SQL이란? 

(S)tructured (Q)uery (L)anguge, 말 그대로 구조적 쿼리 언어 또는 구조적 질의 언어의 줄임말이다.

우리가 주로 하는 회원가입, 개인정보, 주문정보 등을 할 때 입력되는 데이터는 관계형 데이터 베이스(RDBMS)에 저장되는데 이때 쓰는 언어가 SQL이라고 한다. 

질의라는 말이 나는 어려웠는데 그냥 쉽게 말하면 "데이터 베이스에 궁금한걸 물어본다?" 라고 이해하려고 한다.  물론 데이터를 조회하는것 이외에도 SQL문을 이용하여 정보를 저장, 업데이트, 제거등의 기능을 수행할 수있다.

 

 

1-1. 관계형 데이터베이스

 (R)elational (D)ata (b)ase, 행과 열로 구성된 테이블이 다른 테이블과 관계를 맺고 모여있는 집합체를 의미한다.

그림으로 보는게 이해가 가장 빠를거 같다.

 

구글에서 이미지를 검색해 왔는데...  우리가 흔히 엑셀에서 볼 수있는 피벗 테이블이나  학교 시간표등도 행과 열로 구성된 데이터 테이블 형태라고 볼 수 있다. 그리고 이렇게 만들어진 테이블들은 일련의 관계를 가지고 데이터베이스 안에 저장이 되어 우리에게 필요한 정보를 제공한다.

 

 

[관계형 데이터베이스 장/단점]

 

1. 장점

 ① 데이터 중복 최소화

 ② 다양한 운영 체제에 액세스

 ③ 일관성, 무결성, 보안성 유지

 ④ 데이터 표준화 가능

 ⑤ 데이터 저장공간 절약

 

2. 단점

① 정해진 규칙이 있어 덜 유연하다. 데이터 스키마(구조)를 사전에 계획하고 알려줘야한다.

 데이터들이 관계를 맺고 있어 JOIN문이 많은 복잡한 쿼리문이 만들어질 수 있다.

③ 가격이 비싸다.(오라클 DB의 경우..)

④ 다른 데이터베이스와 달리 하드웨서 사양이 요구된다.

 

★ 관계형 데이터베이스를 쓰는 가장 큰 이유? 가장 큰 장점은 " 직관적인 데이터 표현 방법을 제공하고 관련 데이터 포인트에 쉽게 액세스할 수 있다는 점 " 일 것이다. 그 외에도 이터의 분류, 정렬, 탐색 속도가 빠르고 오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장해 준다. (속도같은 경우는 Nosql보다는 느리지만 준수한 속도이다)

 

 

2. SQL의 특징

 

① 배우기 쉽게 만들어져 있어 사용하기 쉽다.

② 표준화된 SQL 문법이 있기에, DBMS 종류에 얽매이지 않고 사용할 수 있다.

③ 개별단위로 처리되지않고 집합단위로 처리.

 

 

3. 다양한 SQL

 

 

DB-Engines 이라는 외국 사이트에서 DBMS 들의 순위를 알아볼 수 있는데 2023년 기준 Oracle 과 Mysql 두개의 데이터베이스가 가장 많이 쓰이고 있었고, 그 뒤를 따라 Microsoft SQL, PostgreSQL, MongoDB등이 있었다. SQL문법의 가장 큰 장점은 표준화된 문법이 있어 한번 배워 놓으면 다른 데이터베이스들도 쉽게 이용할 수 있다는 점인데 아주 좋은 메리트라고 생각한다.

 

지금 내가 배우고 있는 JAVA빅데이터 과정에서 먼저 배워볼 데이터베이스는 "Oracle SQL"이다. 오라클 회사에서 만들었고 현재 상업용 DB 중에서는 가장 많이 쓰이고 있다. 그래서 다음 글에서는 Oracle SQL 설치와 설정하는법 그리고 문법을 알아보려고 한다. 

 

 

 

 

참조 ① https://curriculum.cosadama.com/basic-sql/1-1/

참조 ②https://computador.tistory.com/8#SQL%EC%9D%B4%EB%9E%80?

참조 ③ https://db-engines.com/en/ranking