2. 발표자 소개
기술 배경
전문 검색 엔진, 임베디드 시스템(리눅스 커널 디바이스 드라이버), 빅데이터/인공지능 연구 개발,
고성능 고가용성 데이터베이스
주요활동
IT 전문서 번역 (클린 코드, 피플웨어, 해커: 광기의 랩소디, 게임 엔진 블랙 북 등)
개발강의 (삼성전자, SK C&C, 현대자동차 기술 세미나와 교육)
활동채널
블로그: https://jhrogue.blogspot.com
슬라이드 셰어: https://www.slideshare.net/jrogue/presentations
유튜브: https://www.youtube.com/c/박재호dev
문의 jrogue@gmail.com
박재호
3. 즐겁게 배우는 SQL
목표
• 데이터베이스 학습을 위한 설치/설정 관련 장애물을 제거
• 가장 많이 쓰는 질의(query)를 중심으로 핵심만 공략
• 직접 따라하기!
SQL이 어렵다고 느껴지시는가요? 핵심만 즐겁게 배워봅시다.
4. 즐겁게 배우는 SQL
실습 대상
• 전세계에서 가장 많이 사용하는 SQLite
• 최대한 표준 SQL을 중심으로 진행(vendor locking 방지)
교재(온라인)
• https://www.sqlitetutorial.net/
• 특징
• SQL을 백엔드 데이베이스로 활용하거나 데스크탑, 웹, 모바일 앱을 포함한 애플리케이션에서 구조화된 저장소로 활용
• 온라인 SQL 인터프리터로 실습(설치 X, 설정 X, 인터넷이 연결되면 언제 어디서나!)
5. 즐겁게 배우는 SQL
목차
1. 정말 간단한 질의부터 시작하자
2. 행을 정렬하자
3. 데이터를 필터링하자
4. 테이블을 조인하자
5. 데이터를 그룹으로 묶어보자
6. 집합 연산자를 배우자
7. 서브 질의를 배우자
8. CASE 표현식을 배우자
9. CRUD 연산의 기본기를 배우자
10. 트랜잭션이 뭐지?
11. 테이블을 만들어보자
12. 스키마에 제약을 걸자
13. 뷰 만들어보기
14. 검색 속력을 높이기 위해 색인을 걸자
15. 트리거를 걸자
16. 전문 검색을 해보자
17. SQLite 도구를 사용해보자
6. 즐겁게 배우는 SQL
SQLite 특징
• 관계형 데이터베이스 시스템(RDBMS)을 제공하는 소프트웨어 라이브러리
• 경량이므로 설정/관리/자원 사용에 있어 유리하다
• 서버리스: 오라클/MySQL/PostgreSQL과는 달리 별도 서버가 없다
vs
• 독자적으로 동작 가능하다: 스마트폰, 게임 콘솔, 심지어 웹 브라우저에도 탑재
• 복잡한 설정이 필요하지 않다
• 트랜잭션을 지원한다: ACID(Atomic, Consistent, Isolated, Durable) → 주의) 쓰기는 한 번에 하나만 가능하다!
• SQLIte는 멀티스레드 모델을 지원한다: 단일/멀티/직렬화