본격적인 내용에 앞서 데이터베이스의 종류를 표로 나타냈다.

- 데이터 베이스 : 정형 데이터
- 데이터 레이크 : 원본
- 데이터 웨어하우스 : 정형 데이터 + 분석기능
- 데이터 마트 : 웨어하우스의 부분 집합(특정 주제)
데이터베이스 설치
- 로컬 PC(설치)
- OS 레벨 설치
- Docker 기반 위에 컨테이너 설치
- os 영향을 받지 않음
- hub를 통해서 다양한 형태의 버전을 설치할 수 있음(이미지)
- 오피셜 mysql 이미지로 설치
- 클라우드(임대)
- RDS 등 서비스를 이용하여 세팅 -> 사용 -> 사용한만큼 비용 지불
- AWS, Azure, 구글 클라우드
데이터베이스 접속
- docker 기반 기준
- GUI
- 해당 컨테이너 > exec > 접속
- docker cli로 접속 가능
# i : 표준입력(stdin, interactive) # t : 가상 터미널을 할당하여 실제 터미널처럼 작동(tty) # -it : 입출력 옵션 # bash or sh : 쉘 프로그램으로 가동(진입)하겠다. -> 리눅스 명령어 사용 가능하도록 접속 # exec : 구동중인 특정 컨테이너에 명령어 기반으로 업무를 볼 수 있게 실행하시오(외부 스크립트 작동하게 접속하시오) docker exec -it mysql bash or docker exec -it mysql sh- 특정 DB 클라이언트 프로그램으로 접속 가능
- 하이디 sql, squele ace, 워크벤치, ..., 사용 docker 기반 기준
- 접속 URL 및 인증정보 사용하면 프로그램에서도 접속 가능함
- IDE > extention 설치 > 접속 가능
- GUI
실습 데이터 세팅
- tool 관점
- 데이터베이스 복원과 맥락이 비슷함
- sql 파일 실행 > *.sql 선택
- import > *.sql 선택
- 데이터베이스 복원과 맥락이 비슷함
- 실습 파일
- sql_test.sql
- SQL 구성중 DQL에 대상이되는 데이터 샘플
- 주요 테이블
- city : 전세계 도시
- country : 전세계 국가
- countrylanguage : 국가별 언어
- ...
- car_db.sql
- 데이터 마트 구성하여
- 고객 분석/등급 산정 (프로파일링)
- 마케팅관계 자료 추출 (RFM 고객 세분화 전략필요한 분석)
- 회원등급 적용
- 전략 수립 등 -> 의사결정등
- 구매 전환율
- 구매 주기
- 제품 성장률
- ERD 자료 (테이블간 관계등 확인)
- FK등등 사용, Join, view 등 사용
- 데이터 마트 구성하여
- sql_test.sql
SQL 구성
- Structured Query Language
- 구조화된 질의 언어
- 사람/프로그램/.. <-> 데이터베이스등 쌍방간 통신하는 언어
- 통상 구성
- SQL = DQL + DDL + DCL(or TCL) + DML
- 4개의 서브 언어로 구성
- Data xxxx Language
- Query, Definition, Control, Mainpulation
- Data xxxx Language
- 대소문자 구분 X
- statement 표식
- 문장의 끝에 반드시 ; 표기
DQL, DDL, DCL, DML 중에 가장 많이 사용하게 될 언어는 DQL이다.
DQL부터는 내일 다시 정리하겠다.