SQL로 데이터 분석을 진행하기 위한 간단한 배경 지식을 다룬다.
이미 발생한 일에 대한 히스토리 데이터가 '왜 그렇게 나왔는가'라는 관점을 가지고 분석하는 것이다.
스키마(Schema)들의 집합
int x; // o
int x = 10 ; // x 변수에 값 할당한 상태는 인스턴스 의미
목적과 기능에 따라 SQL의 서브 언어가 나뉜다.
SELECT, FROM, WHERE, GROUP BY, HAVING
원하는 데이터를 검색 및 조회를 하는 언어이다. DML과 차이점은 데이터베이스에서 데이터를 찾아내는 것이며, 데이터를 변경시키지 않는다.
CREATE, DROP, ALTER
내용이 아닌 데이터의 구조(테이블)를 정의한다. 구조에 대한 명세(스키마, 제약조건 등)까지 작성할 수 있다.
GRANT, REVOKE
생성된 테이블(릴레이션)에 대한 접근 제어를 제공한다. 테이블의 전체 속성이 아닌 공개하고자 하는 일부 속성만 볼 수 있는 뷰(View)에 권한(GRANT)을 부여해 보안성을 높일 수 있다.
INSERT, UPDATE, DELETE
데이터를 조작하는 언어이다. DML은 데이터베이스에 저장될 혹은 저장한 데이터를 변경한다.
※ DELETE 와 DROP 차이
DELETE
는 테이블의 투플을 지우는 것이며,DROP
은 테이블을 지우는 것이다. 테이블에 데이터가 저장된 경우(투플이 존재하는 경우)DROP
으로 테이블을 삭제할 수 없다.DELETE FROM TABLE명 WHERE 조건식
DROP TABLE명
WorkFlow는 특정 순서에 따라 발생하는 반복적인 프로세스를 관리하는 시스템이다.
필요한 데이터를 생성하는 컴퓨터 혹은 사람을 지칭한다. 데이터는 다양한 데이터 타입과 형식을 가질 수 있다.
ex. 의사가 의료기록을 입력하는 정보, 컴퓨터가 자동으로 만드는 웹로그도 데이터라 할 수 있다.
여러 자원시스템에서 만든 데이터를 통합해 데이터베이스에 저장한 중앙 저장소(대규모 데이터베이스)이다. 데이터베이스에 데이터를 저장한다.
데이터 스토어 Data Store
쿼리(검색, 조회)를 할 수 있는 데이터관리시스템(DBMS)이다.
데이터마트 Data Mart
회사의 특정 사업부(금융, 마케팅 등)의 요구사항을 지원하는 좁은 의미의 데이터 웨어하우스이다.데이터 레이크 Data Lake
모든 형태의 데이터(정형, 비정형, 반정형)를 저장할 수 있는 저장소이다.
1) 탐색 Exploring
데이터 주제, 데이터 생성 위치, 데이터베이스에 저장된 테이블을 알아가는 과정이다.
2) 프로파일링 Profiling
데이터셋에서의 고유값과 분포를 알아가는 과정이다.
3) 셰이핑 Shaping
분석 목적에 따라 행, 열로 저장하는 과정이다.
4) 분석 Analyzing
결론을 내리고 인사이트를 도출하는 과정이다.
셰이핑과 분석에서 정제 과정에 필요해 순서를 왔다갔다 할 수 있다.
SQL 코드 발표 대신, 그래프와 같은 시각화 결과물로 인사이트를 공유해야한다.
학습 도서 : [SQL로 시작하는 데이터 분석]
참고 : https://aws.amazon.com/what-is/data-lake/