brunch

You can make anything
by writing

C.S.Lewis

by 매일IT IN Nov 06. 2020

데이터 사이언스를 위한 SQL 지식

Master SQL

데이터 사이언티스트가 되려면 SQL에 대한 전문 지식을 습득하는 것이 필수적입니다. 이 문장은 SQL이 데이터 사이언스에 대한 중요성과 SQL 마스터에 필요한 단계를 자세히 알려줍니다.


SQL은 데이터 사이언스 산업에서 중요한 역할을 합니다. 데이터 사이언티스트는 관계형 데이터베이스에서 정보를 추출할 뿐만 아니라 그에 대한 쿼리 프로세스를 수행하기 위해 SQL이 필요합니다. 많은 빅데이터 플랫폼은 RDBMS 모델의 필수 기능을 모방하고 SQL이후 쿼리를 구조화합니다. 게다가, 그들은 구조화된 데이터를 처리하기 위한 in-built SQL 처리 장치를 가지고 있습니다.


먼저 우리는 데이터 사이언스에서 SQL의 중요성을 살펴봅시다.

1. 데이터 사이언스에서 SQL이 얼마나 중요할까?

데이터 사이언스의 도움을 받아 주어진 정보를 연구하고 분석합니다. 이 분석 절차를 수행하기 위해서, 첫 번째 단계는 데이터베이스에서 정보를 추출하는 것입니다. 그러기 위해서는 SQL의 활용이 필요합니다. 게다가 SQL은 관계형 데이터 베이스 모델이 데이터 플랫폼의 표준 기반입니다. Cassandra, MongoDB, Redis와 같은 많은 NoSQL 쿼리는 SQL의 선언적 구문을 본떠서 작성되었습니다.


SQL RDMS(Relational Database Management System)는 데이터 사이언스의 백본을 형성합니다. 구조화되지 않은 데이터의 대규모 증가와 NoSQL 언어의 증가에도 불구하고 SQL은 CRM, 비즈니스 인텔리전스 툴 및 사내 운영 수행에 대한 많은 기업의 첫 번째 선호로 남아 있습니다.


SQL은 많은 데이터베이스 플랫폼 뒤에 있는 주요 모델입니다. 그것은 다양한 데이터베이스 시스템을 위한 표준 플랫폼입니다. 빅데이터 플랫폼은 에뮬레이트된 관계형 데이터베이스와 SQL 쿼리의 언어뿐만 아니라 구조화된 정보를 처리하기 위한 관계형 데이터베이스 시스템도 유지하고 있습니다. Hsdoop과 같은 플랫폼은 배치 SQL을 제공하여 SQL을 일괄적으로 처리할 수 있도록 합니다. 반면 상호적인 쿼리 기능은 Impala 와 Apache Drill이 제공합니다.


Apache Spark는 강력한 in-memory  SQL 시스템을 사용하여 쿼리 처리를 가속화합니다.


데이터 사이언스의 많은 인터뷰 질문은 SQL 질의로 시작되므로 데이터 사이언스에는 SQL이 필수적입니다.


2.데이터 사이언스를 위해 SQL을 파악하는 필수 단계


이제 데이터 사이언스를 위해 SQL을 파악하는 필수 단계에 대해 알려줍니다.


2.1. 관계형 데이터베이스의 기본사항 숙달

SQL의 세계로 나아가는 첫 번째 단계는 Relational Database의 개념을 이해하는 것입니다. 관계형 데이터베이스는 차트의 형태를 지향하는 데이터의 조직화된 모음입니다. RDBMS에서 사용되는 다양한 주요 용어는 다음과 같습니다.     


Records, 레코드, 데이터베이스에 있는 행 수입니다. Tuples로 알려져 있습니다.

Attributes, 속성은 열에 있는 데이터 범주입니다.

Primary Key, 기본키는 데이터베이스의 정보를 식별하는 독특한 내용입니다.

Foreign Key, 외부 키는 기본 테이블을 다른 테이블에 연결합니다.

Tables, 데이터베이스의 테이블, 관계로 알려져 있습니다.


SQL은 관계형 데이터베이스의 데이터에 액세스, 검색 및 조작하는 데 사용하는 쿼리 언어 입니다. 나아가 데이터베이스에 대한 심층적인 이해를 하기 위해서는 관계 대수학 지식이 필요합니다.

2.2. SQL의 기본 원리 파악  

관계형 데이터베이스의 기본을 이해한 후 SQL의 기본에 대해 배우는 것이 필수적이다. SQL은 관계형 데이터베이스에 저장된 구조화된 데이터를 처리하는 데 사용되는 구조화된 질의 언어를 의미합니다. SQL은 데이터 모델링을 위한 논리 규칙 집합을 정의하는 ‘관계 대수’에 기초합니다.


기본 SQL 명령에 대한 지식이 있어야 합니다. SQL을 실천하기 위해서는 사용자 친화적인 도구뿐만 아니라 가장 인기 있는 MySQL이나 SQLite를 설치할 수 있습니다.


2.3.데이터 조작 처리 언어(Data Manipulation Language) 숙지

데이터 조작 처리 언어를 사용하면 데이터베이스에서 데이터를 추가, 삭제 및 수정할 수 있습니다.  DML의 일부 명령은 다음과 같습니다.  


INSERT

UPDATE

DELETE


INSERT 쿼리의 도움을 받아 테이블에 레코드를 삽입할 수 있습니다. UPDATE 쿼리를 사용하여 데이터베이스의 열을 수정하고 DELETE 명령을 사용하여 행을 삭제할 수 있습니다.


2.4. 데이터 정의 언어(Data Definition Langauge)의 개념 파악

SQL에서 또 다른 중요한 명령은 DDL(Data Definition Langauge)입니다. DDL의 도움으로 데이터 구조를 설명하거나 데이터베이스 스키마를 조작할 수 있습니다. 예를 들어 – 테이블 생성, 테이블 삭제 또는 테이블 변경을 통해 테이블의 구조를 변경할 수 있습니다.

DDL의 일부 명령은 다음과 같습니다.  

CREATE – 데이터베이스에 새 테이블을 만듭니다.

ALTER – 데이터베이스 구조 변경합니다.

DROP – DROP의 도움을 받아 표에 저장된 전체 레코드를 삭제할 수 있습니다.

2.5. SQL Joins에 대한 지식 파악


Joins는 SQL에서 가장 중요한 개념이며 Joins의 개념은 인터뷰에서 매우 흔합니다. 일반적으로 SQL의 Joins 명령을 사용하면 하나 이상의 테이블의 열을 하나로 병합할 수 있습니다. 다음은 SQL에서 중요한 결합입니다.     

INNER JOIN

LEFT JOIN

RIGHT JOIN

FULL JOIN

INNER JOIN은 두 테이블의 열 값이 일치할 때 발생합니다. INNER JOIN의 가장 일반적인 모범 사례는 명시적 JOIN입니다. 다음과 같은 설정 작업을 통해 INNER JOIN을 시연할 수 있습니다.

LEFT JOIN은 왼쪽 테이블(표 A)의 모든 값과 오른쪽 테이블(Table B)의 해당 일치 레코드를 반환합니다. 두 테이블 사이에 일치가 없으면 결과는 NULL입니다.

A RIGHT JOIN은 오른쪽 테이블(Table B)의 모든 값을 반환하고 해당 값을 왼쪽 테이블(Table A)과 일치합니다.

Table A 또는 Table B의 레코드에 일치 항목이 있는 경우, FULL JOIN 명령은 두 Table의 값을 모두 반환합니다.

2.6. SQL과 R 및 Python을 연결하는 방법을 배웁시다.

SQL for Data Science에 대한 완전한 파악을 위한 마지막 단계는 R 및 Python과의 인터페이스 입니다. 보통 웹 개발 시나리오에서 우리는 PHP나 Ruby와 같은 언어가 데이터베이스에서 데이터를 검색하기 위해 SQL을 사용하는 것을 봅니다. 데이터 사이언스의 경우 데이터 검색에 SQL을 사용하는 두 언어가 R과 파이썬입니다. 추가 처리와 분석을 위한 데이터를 얻기 위한 첫걸음입니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari