[데이터분석] CH01. SQL을 활용한 분석

박지형·2024년 9월 24일
0
post-thumbnail

SQL로 데이터 분석을 진행하기 위한 간단한 배경 지식을 다룬다.

데이터분석

이미 발생한 일에 대한 히스토리 데이터가 '왜 그렇게 나왔는가'라는 관점을 가지고 분석하는 것이다.

데이터베이스

스키마(Schema)들의 집합

스키마

  • 정의 : 데이터베이스의 구조와 제약 조건을 정의한 것. 프로그래밍 언어에서 변수 타입 선언과 유사.
int x;  // o 
int x = 10 ; // x 변수에 값 할당한 상태는 인스턴스 의미 
  • 종류 : 물리적 스키마, 논리적 스키마, 외부 스키마(서브 스키마 = 뷰)
  • 구성요소 : 테이블, 뷰, 함수
    • 테이블은 필드와 하나 이상의 인덱스로 구성된다.
    • MySQL은 테이블과 스키마를 동일하게 본다, Oracle은 table의 집합을 스키마라고 칭한다.

SQL 하위 언어

목적과 기능에 따라 SQL의 서브 언어가 나뉜다.

1. DQL 데이터 질의어

SELECT, FROM, WHERE, GROUP BY, HAVING

원하는 데이터를 검색 및 조회를 하는 언어이다. DML과 차이점은 데이터베이스에서 데이터를 찾아내는 것이며, 데이터를 변경시키지 않는다.

2. DDL 데이터 정의어

CREATE, DROP, ALTER

내용이 아닌 데이터의 구조(테이블)를 정의한다. 구조에 대한 명세(스키마, 제약조건 등)까지 작성할 수 있다.

3. DCL 데이터 제어어

GRANT, REVOKE

생성된 테이블(릴레이션)에 대한 접근 제어를 제공한다. 테이블의 전체 속성이 아닌 공개하고자 하는 일부 속성만 볼 수 있는 뷰(View)에 권한(GRANT)을 부여해 보안성을 높일 수 있다.

4. DML 데이터 조작어

INSERT, UPDATE, DELETE

데이터를 조작하는 언어이다. DML은 데이터베이스에 저장될 혹은 저장한 데이터를 변경한다.

※ DELETE 와 DROP 차이
DELETE는 테이블의 투플을 지우는 것이며, DROP은 테이블을 지우는 것이다. 테이블에 데이터가 저장된 경우(투플이 존재하는 경우) DROP으로 테이블을 삭제할 수 없다.

DELETE FROM TABLE명 
WHERE 조건식 
DROP TABLE명 

SQL을 활용한 데이터분석의 WorkFlow

WorkFlow는 특정 순서에 따라 발생하는 반복적인 프로세스를 관리하는 시스템이다.

1. 자원시스템 Source System

필요한 데이터를 생성하는 컴퓨터 혹은 사람을 지칭한다. 데이터는 다양한 데이터 타입과 형식을 가질 수 있다.

ex. 의사가 의료기록을 입력하는 정보, 컴퓨터가 자동으로 만드는 웹로그도 데이터라 할 수 있다.

2. 데이터 웨어하우스 Data Warehouse

여러 자원시스템에서 만든 데이터를 통합해 데이터베이스에 저장한 중앙 저장소(대규모 데이터베이스)이다. 데이터베이스에 데이터를 저장한다.

데이터 스토어 Data Store

쿼리(검색, 조회)를 할 수 있는 데이터관리시스템(DBMS)이다.

데이터마트 Data Mart
회사의 특정 사업부(금융, 마케팅 등)의 요구사항을 지원하는 좁은 의미의 데이터 웨어하우스이다.

데이터 레이크 Data Lake
모든 형태의 데이터(정형, 비정형, 반정형)를 저장할 수 있는 저장소이다.

3. 쿼리와 분석

1) 탐색 Exploring
데이터 주제, 데이터 생성 위치, 데이터베이스에 저장된 테이블을 알아가는 과정이다.

2) 프로파일링 Profiling
데이터셋에서의 고유값과 분포를 알아가는 과정이다.

3) 셰이핑 Shaping
분석 목적에 따라 행, 열로 저장하는 과정이다.

4) 분석 Analyzing
결론을 내리고 인사이트를 도출하는 과정이다.

셰이핑과 분석에서 정제 과정에 필요해 순서를 왔다갔다 할 수 있다.

4. 발표

SQL 코드 발표 대신, 그래프와 같은 시각화 결과물로 인사이트를 공유해야한다.

학습 도서 : [SQL로 시작하는 데이터 분석]
참고 : https://aws.amazon.com/what-is/data-lake/

profile
탐험가

0개의 댓글