데이터의 시대가 진전되면서 현대의 데이터 과학자는 대규모의 데이터를 다루도록 요구받는 일이 빈번해지고 있다. 데이터베이스의 구축과 운용은 전문적인 지식이 필요하므로, 일반적인 데이터 조직에서 데이터 과학자는 데이터베이스 관리자 혹은 데이터 공학자와 협업하여 이러한 대규모의 데이터를 여러 사람이 공동으로 접근하고 조작하는 체계를 구축하게 된다. 데이터 과학자가 데이터베이스를 단독으로 구축하고 운용하는 일은 흔하지 않으나, 데이터베이스 관리자 등 동료와의 효율적인 협업을 위해서는 데이터베이스의 설계에 참여하고, 필요한 데이터를 직접 선택할 수 있는 능력을 갖출 필요가 있다. 이 교재는 이러한 데이터베이스를 활용하는 데 필요한 다양한 지식을 다루고 있다. 우선 데이터의 개념과 데이터베이스의 필요성에 대해 소개하고, 데이터베이스 관리 시스템의 주류를 이루는 관계형 데이터베이스의 이론적 기반인 관계형 모델과 이를 설계하는 데 필요한 기본적 지식을 설명한다. 다음으로, 단순하면서도 효율적인 SQLite 데이터베이스를 이용하여 관계형 데이터베이스에 SQL 질의문을 보내 원하는 데이터를 조회하고, 새로운 데이터를 입력하는 등의 과정을 실습하게 된다. 실무에서는 데이터베이스에 접근하기 위해 좀 더 다양한 인터페이스를 사용하게 되는데, 이 교재에서는 이러한 인터페이스의 활용 사례로 엑셀과 파이썬을 통한 데이터베이스 접근 과정을 설명하고 있다. 이 교재의 제8장을 학습하기 위해서는 파이썬 언어에 대한 기본적인 문법 이해가 필요하다는 점을 또한 밝혀 둔다.
제1장 데이터와 데이터베이스의 이해 1. 데이터의 개념과 특성 2. 데이터 품질
제2장 관계형 데이터 모델 1. 데이터베이스 시스템 개요 2. 관계형 데이터베이스의 기본 구조 3. 키와 테이블 간의 관계 4. 데이터베이스 설계 기초 5. 정규화
제3장 SQLite와 DB 브라우저 실습 1. SQLite와 DB Browser(SQLite) 소개 2. 실습 환경 준비 3. 기본 테이블 생성 4. 기본 쿼리 실행 5. CSV 파일 불러오기
제4장 SQL 기초 I : SELECT문 1. SQL 소개와 데이터 정의 2. SELECT 기본 구조 3. 조건 지정(WHERE) 4. 정렬과 제한 5. SELECT 추가 예시
제5장 SQL 기초 Ⅱ: 데이터 조작 1. 데이터 입력(INSERT) 2. 데이터 수정(UPDATE) 3. 데이터 삭제(DELETE) 4. NULL과 기본값 처리 5. DML 실습
제6장 SQL 고급: 조인과 집계 1. 테이블 생성 및 데이터 입력 2. 조인의 개념 3. 그룹화와 집계 4. 응용 실습
제7장 엑셀과 데이터베이스의 연동 1. 엑셀과 데이터베이스의 연동
제8장 파이썬과 데이터베이스의 연동 1. 파이썬과 데이터베이스의 연동 이유 2. 데이터베이스 연결하기 3. pandas를 이용한 데이터베이스 연동 4. 마치며
■ 참고문헌 및 참고사이트
한종대 (집필)
서울대학교 공과대학 컴퓨터공학부(공학사) 서울대학교 공과대학 컴퓨터공학과(컴퓨터공학박사) 상명대학교 컴퓨터과학과 부교수 • 현재: 한국방송통신대학교 자연과학대학 통계·데이터과학과 교수