SK플래닛 ai활용 데이터엔지니어 과정 2기/SQL

SQL - 데이터베이스와 SQL

dev-lee 2026. 3. 13. 17:23

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

 

데이터베이스 종류

  • 데이터 베이스 : 정형 데이터
  • 데이터 레이크 : 원본
  • 데이터 웨어하우스 : 정형 데이터 + 분석기능
  • 데이터 마트 : 웨어하우스의 부분 집합(특정 주제)

 

데이터베이스 설치

 

  • 로컬 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 설치 > 접속 가능
 

 

실습 데이터 세팅

 

  • tool 관점
    • 데이터베이스 복원과 맥락이 비슷함
      • sql 파일 실행 > *.sql 선택
      • import > *.sql 선택
  • 실습 파일
    • sql_test.sql
      • SQL 구성중 DQL에 대상이되는 데이터 샘플
      • 주요 테이블
        • city : 전세계 도시
        • country : 전세계 국가
        • countrylanguage : 국가별 언어
        • ...
    • car_db.sql
      • 데이터 마트 구성하여
        • 고객 분석/등급 산정 (프로파일링)
        • 마케팅관계 자료 추출 (RFM 고객 세분화 전략필요한 분석)
        • 회원등급 적용
        • 전략 수립 등 -> 의사결정등
          • 구매 전환율
          • 구매 주기
          • 제품 성장률
      • ERD 자료 (테이블간 관계등 확인)
      • FK등등 사용, Join, view 등 사용

 

SQL 구성

 

  • Structured Query Language
    • 구조화된 질의 언어
    • 사람/프로그램/.. <-> 데이터베이스등 쌍방간 통신하는 언어
  • 통상 구성
    • SQL = DQL + DDL + DCL(or TCL) + DML
    • 4개의 서브 언어로 구성
      • Data xxxx Language
        • Query, Definition, Control, Mainpulation
    • 대소문자 구분 X
  • statement 표식
    • 문장의 끝에 반드시 ; 표기

 

DQL, DDL, DCL, DML 중에 가장 많이 사용하게 될 언어는 DQL이다.

DQL부터는 내일 다시 정리하겠다.