사용자가 외부 링크(보통 광고)를 타고 오거나 직접 방문해서 올 경우 세션을 생성
사용자가 방문 후 30분간 interaction이 없다가 뭔가를 하는 경우 새로 세션을 생성
→ 사용자는 여러개의 세션을 가질 수 있음
→ 세션의 open/close 2가지 기준 : close - 시간(30분초과시), open - 다른 세션(다른 탭)으로 똑같이 방문시)
어디서 사용? - 마케팅&광고
목적 - 사용자가 어떻게 우리 사이트를 접속했는지 알기 위해
구성요소 - 세션을 만들어낸 접점(경유지)를 채널이란 이름으로 기록 + 세션이 생긴 시간, 세션 ID도 기록
사용자 ID 100번: 총 3개의 세션(파란 배경)을 갖는 예제

→ 마케팅은 사용자가 상품 구매한 것을 확인한 후 3개의 세션을 적당히 기여도를 분석
우리가 저장하고 싶은 데이터(세션정보)

→ channel 테이블을 따로 분리
데이터베이스와 테이블 요약(1)

테이블 필드의 중요 속성
데이터베이스와 테이블 요약 (2)

예제: channel 테이블 내용

예제: channel table DDL
CREATE TABLE channel (
id int not null auto_increment primary key,
channel varchar(32) not null
);
CREATE TABLE channel (
id int not null auto_increment,
channel varchar(32) not null,
primary key(id)
);
같은 내용이지만 오른쪽처럼 적어줘야 Composite primary key 처리가 가능함
→ primary key를 항상 맨 아래에 적자
예제: session 테이블 내용

예제: session DDL
CREATE TABLE session (
id int not null auto_increment primary key,
user_id int not null,
created timestamp not null default current_timestamp,
channel_id int not null,
foreign key(channel_id) references channel(id)
);
CREATE TABLE channel (
id int auto_increment primary
key,
channel varchar(32) not null
);
foreign key 설정 방법 : 빨간 형광펜 친 부분