sql을 이용한 데이터 분석(2)

넘어산·2023년 12월 19일
0

TIL

목록 보기
14/37

관계형 데이터베이스

세션

  • 사용자ID: 사용자마다 가지고 있는 고유ID

  • 세션ID: 사용자의 활동을 tracking 하는 ID
    - 세션: 사용자의 방문을 논리적 단위, 사용자가 외부 링크를 타고 오거나 혹은 time session을 두고 뭔가를 하면

    • 여러 개의 세션을 가짐
    • 채널 이름과 시간 기록한다(마케팅 용도)
  • 데이터 분석과 지표 설정

    • 마케팅 관련, 사용자 트래픽
    • DAU, WAU, MAU
    • Marketing Channel Attribution 분석
  • First Channel, Last Channel, Multi Channel

DDL, DML

SQL 기본

  • 세미콜론으로 분리 필요
  • 팀 프로젝트라면 공통 포맷 필요
  • 테이블명: 단수형 VS 복수형
  • underbar vs camelcase

DDL - 테이블 구조 정의 언어

  • CREATE TABLE
    • primary key는 지정 가능하나, 빅데이터 데이터 웨어하우스에선 지켜지지 않음(Redshift, Snowflake...)
    • record가 대량으로 추가될 때, primary key를 보장해주기 위해 check해야함. 성능 이슈.
    • CTAS: Create Table table_name AS SELECT
    • vs. CREATE TABLE and then INSERT
CREATE TABLE raw_data.user_session_channel (
	userid int,
    sessionid varchar(32) primary key,
    channel varchar(32)
)
  • DROP TABLE
    • DROP TABLE IF EXISTS table_name;
    • vs. DELETE FROM(조건에 맞는 레코드들을 지움)
  • ALTER TABLE
    • 컬럼 추가, 컬럼 이름 변경, 컬럼 제거, 테이블 이름 변경
ALTER TABLE 테이블이름 ADD COLUMN 필드이름 필드타입
ALTER TABLE 테이블이름 RENAME 현재 필드이름 TO 새 필드 이름
ALTER TABLE 테이블이름 DROP COLUMN 필드이름
ALTER TABLE 현재 테이블이름 RENAME TO 새 테이블 이름

DML - 테이블 데이터 조작 언어

  • SELECT: 레코드 질의 언어
  • INSERT INTO, UDATE FROM, DELETE FROM

0개의 댓글