책소개
이 책은 책 한 권으로 데이터베이스를 처음 접하는 일반 사용자나 개발자, IT 융합에 관심을 갖는 다양한 전공자들 누구나 쉽게 SQL과 NoSQL 데이터베이스의 기본 개념과 구조를 이해하고 데이터베이스를 설계, 구축하고 활용해볼 수 있도록 구성하였다. 꼭 필요한 핵심 개념을 모두 포함하면서도 예제나 그림을 사용하여 쉽게 설명하고자 노력하였다. 또한, 정작 실무에서는 매우 중요함에도 기존 교재에서는 소홀히 다루었던 데이터베이스 설계 방법을 적절한 예제를 통해 경험할 수 있도록 구성하였다. 핵심만 간추린 개념과 다양한 예제를 통한 간결한 설명, 그리고 이를 적용한 MySQL 활용 예제를 적용하고 실습하다보면 초보자라도 빠르게 준전문가가 될 수 있을 것이다.
목차
CHAPTER 01 데이터베이스 개념
1. 데이터베이스와 정보 시스템
ㅤ1.1 일상 속의 데이터베이스
ㅤ1.2 데이터와 정보
ㅤ1.3 정보 시스템의 발전
ㅤ1.4 데이터베이스 시스템의 장단점
2. 데이터베이스의 기본 개념
ㅤ2.1 데이터베이스의 등장
ㅤ2.2 데이터베이스의 정의
ㅤ2.3 데이터베이스의 특성
-연습문제
CHAPTER 02 데이터베이스 시스템
1. 데이터베이스 시스템의 구성 요소
ㅤ1.1 데이터베이스 시스템의 개념
ㅤ1.2 데이터베이스 사용자
ㅤ1.3 데이터 언어
ㅤ1.4 데이터베이스 관리 시스템
ㅤ1.5 데이터베이스 서버
ㅤ1.6 데이터 모델
2. 3-단계 데이터베이스
ㅤ2.1 스키마
ㅤ2.2 3-단계 데이터베이스의 구조
ㅤ2.3 데이터 사전
ㅤ2.4 데이터 독립성
-연습문제
CHAPTER 03 관계형 데이터 모델
1. 관계형 데이터 모델
ㅤ1.1 데이터 모델의 구성 요소
ㅤ1.2 관계형 데이터 모델의 구성 요소
2. 관계형 데이터 구조
ㅤ2.1 관계형 데이터 구조의 개념
ㅤ2.2 릴레이션의 구성 요소
ㅤ2.3 릴레이션의 특성
3. 제약 조건
ㅤ3.1 릴레이션의 키
ㅤ3.2 무결성 제약 조건
4. 관계 연산
-연습문제
CHAPTER 04 관계 대수
1. 관계 대수 연산
ㅤ1.1 집합 연산
ㅤ1.2 관계 연산
ㅤ1.3 확장 연산
2. 관계 대수의 활용
ㅤ2.1 질의 요청의 관계 대수식 표현
ㅤ2.2 질의 트리 작성 및 최적화 예
-연습문제
CHAPTER 05 SQL 기초
1. SQL 개요
2. SQL 실습 준비
ㅤ2.1 예제 데이터베이스 univDB
ㅤ2.2 MySQL의 설치
ㅤ2.3 MySQL 실습 준비
3. SQL 데이터 조작문
ㅤ3.1 데이터 검색 SELECT문
ㅤ3.2 행 삽입 INSERT문
ㅤ3.3 행 수정 UPDATE문
ㅤ3.4 행 삭제 DELETE문
-연습문제
CHAPTER 06 SQL 활용
1. SQL 데이터 정의문
ㅤ1.1 테이블 생성 CREATE문
ㅤ1.2 테이블 수정 ALTER문
ㅤ1.3 테이블 삭제 DROP문
2. SQL 데이터 제어문
ㅤ2.1 사용자 및 권한 관리
ㅤ2.2 사용자 계정 생성
3. 뷰
ㅤ3.1 뷰 개념
ㅤ3.2 뷰 생성
ㅤ3.3 뷰 활용
ㅤ3.4 뷰 삭제
4. 인덱스
ㅤ4.1 인덱스 개념
ㅤ4.2 인덱스 생성
ㅤ4.3 인덱스 삭제
-연습문제
CHAPTER 07 SQL 응용
1. 내장 함수
ㅤ1.1 내장 함수의 개요
ㅤ1.2 내장 함수의 적용
2. 저장 프로시저
ㅤ2.1 삽입·수정 저장 프로시저의 생성 및 활용
ㅤ2.2 검색 저장 프로시저의 생성 및 활용
ㅤ2.3 저장 프로시저의 삭제
3. 트리거
ㅤ3.1 트리거의 생성 및 활용
ㅤ3.2 트리거의 삭제
4. 사용자 정의 함수
ㅤ4.1 사용자 정의 함수의 생성
ㅤ4.2 사용자 정의 함수의 삭제
5. 트랜잭션
ㅤ5.1 트랜잭션의 개념
ㅤ5.2 트랜잭션의 종류
ㅤ5.3 트랜잭션과 로그
ㅤ5.4 트랜잭션과 로크
-연습문제
CHAPTER 08 정규화
1. 정규화와 이상 현상
ㅤ1.1 정규화의 필요성
ㅤ1.2 이상 현상
ㅤ1.3 정규화의 개념
2. 함수 종속성
ㅤ2.1 함수 종속성 정의
ㅤ2.2 함수 종속 다이어그램
3. 기본 정규형
ㅤ3.1 정규형의 종류
ㅤ3.2 제1정규형
ㅤ3.3 제2정규형
ㅤ3.4 제3정규형
ㅤ3.5 보이스코드 정규형
ㅤ3.6 정규화의 적용
-연습문제
CHAPTER 09 E-R 모델
1. E-R 모델
ㅤ1.1 E-R 모델과 E-R 다이어그램
ㅤ1.2 개체
ㅤ1.3 속성
ㅤ1.4 관계
ㅤ1.5 관계의 유형
2. E-R 다이어그램
ㅤ2.1 E-R 다이어그램의 표기법 요약
ㅤ2.2 E-R 다이어그램의 작성 예
-연습문제
CHAPTER 10 데이터베이스 설계
1. 데이터베이스 설계
ㅤ1.1 데이터 모델링과 데이터 모델
ㅤ1.2 데이터베이스 설계 과정
2. 요구사항 분석
ㅤ2.1 요구사항 명세
ㅤ2.2 요구사항 명세서(병원 DB)의 작성
3. 개념적 설계
ㅤ3.1 개체 정의
ㅤ3.2 관계 정의
ㅤ3.3 속성 정의
ㅤ3.4 E-R 다이어그램(병원 DB)의 작성
4. 논리적 설계
ㅤ4.1 개체 변환
ㅤ4.2 관계 변환
ㅤ4.3 논리적 스키마(병원 DB)의 작성
5. ERwin 실습
ㅤ5.1 ERwin의 기본 화면 구성
ㅤ5.2 ERwin 실습을 위한 기본 환경 설정
ㅤ5.3 IE 표기법
ㅤ5.4 IE 표기법의 적용 예
-연습문제
CHAPTER 11 데이터웨어하우스와 데이터베이스 응용
1. 데이터웨어하우스 개념
ㅤ1.1 데이터웨어하우스의 출현 배경
ㅤ1.2 데이터웨어하우스의 정의
ㅤ1.3 데이터웨어하우스 시스템
2. 데이터웨어하우스 설계
ㅤ2.1 다차원 모델링
ㅤ2.2 스타 스키마
ㅤ2.3 스노우플레이크 스키마
3. OLAP
ㅤ3.1 OLAP의 정의
ㅤ3.2 OLAP의 종류
ㅤ3.3 OLAP 인터페이스
4. 데이터베이스 응용
ㅤ4.1 분산 데이터베이스
ㅤ4.2 객체지향 데이터베이스
ㅤ4.3 객체-관계 데이터베이스
ㅤ4.4 멀티미디어 데이터베이스
ㅤ4.5 공간 데이터베이스
-연습문제
CHAPTER 12 빅데이터와 NoSQL
1. 빅데이터 개념
ㅤ1.1 빅데이터의 등장 배경
ㅤ1.2 빅데이터의 기본 개념
2. 빅데이터 기술과 NoSQL
ㅤ2.1 빅데이터의 수집
ㅤ2.2 빅데이터의 처리와 하둡(맵리듀스)
ㅤ2.3 빅데이터의 저장과 NoSQL
ㅤ2.4 빅데이터의 분석과 데이터 마이닝
ㅤ2.5 빅데이터의 시각화
-연습문제
CHAPTER 13 NoSQL과 몽고DB
1. NoSQL 몽고DB 개요
ㅤ1.1 NoSQL 몽고DB의 특성
ㅤ1.2 몽고DB의 구조와 명령문
2. 몽고DB 실습
ㅤ2.1 몽고DB의 설치 및 실행
ㅤ2.2 몽고DB 쉘을 이용한 데이터베이스와 컬렉션 관리
3. 컬렉션 문서 관리 명령문
ㅤ3.1 컬렉션 문서 삽입 insert문
ㅤ3.2 컬렉션 문서 검색 find문
ㅤ3.3 컬렉션 문서 수정 update문
ㅤ3.4 데이터베이스, 컬렉션, 문서의 삭제 drop문, delete문
-연습문제
CHAPTER 14 데이터베이스 모바일 웹 프로그래밍
1. 개발 환경 구축
ㅤ1.1 무비 웹 앱의 실행 구조
ㅤ1.2 실행 환경 설치
2. 무비 웹 앱의 개발
ㅤ2.1 무비 웹 앱의 구성
ㅤ2.2 HTML 문서 작성
ㅤ2.3 시작 화면 구현
ㅤ2.4 시작 화면과 제이쿼리 모바일 연동
ㅤ2.5 입력 화면 구현
ㅤ2.6 입력 화면과 PHP 프로그램 작성
ㅤ2.7 수정 화면 구현
ㅤ2.8 삭제 화면 구현
ㅤ2.9 전체 검색 화면 구현
ㅤ2.10 무비 웹 앱 전체 코드
APPENDIX 부록
[부록A] MySQL 설치
[부록B] ERwin 설치
[부록C] 몽고DB 설치
[부록D] XAMPP 설치
[부록E] PHP 개발을 위한 이클립스 설치
찾아보기
저자소개
박성진
출판사리뷰
기존 데이터베이스 교재들은 데이터베이스의 핵심 원리와 기술을 학습하기 위한 이론서와 DBMS 실습을 중심으로 데이터베이스 활용 능력을 위한 실무서 2종류로 크게 분류할 수 있다. 물론 이러한 교재들은 데이터베이스를 체계적으로 연구하거나 현업에서 활용할 수 있는 심화된 실무 능력을 갖추고자 하는 학습자에게는 데이터베이스 전문 지식의 깊이를 더할 수 있는 기회를 제공할 것이다.
하지만 학부 수준에서 한 학기 정도의 시간 투자만으로 데이터베이스 핵심 개념과 기초적인 활용 방법을 학습하고자 하는 데이터베이스 입문자에게는 적절한 선택이 되지 못한다. 특히, 데이터베이스가 더 이상 IT 관련 전공자들의 전유물이 아니며 다양한 이공계 전공자, 여러 인문·사회 계열의 융합 전공에서도 데이터베이스가 필수 지식으로 인식되고 있는 현 시점에서는 더더욱 그러하다.
또 최근에는 데이터 저장과 관리뿐만 아니라 데이터 분석과 활용에, 또 정형 데이터뿐만 아니라 비정형 데이터, 대용량 데이터에 보다 많은 관심이 집중되고 있다. SQL 기반의 전통적 데이터베이스뿐만 아니라 데이터웨어하우스, 빅데이터 그리고 몽고DB와 같은 NoSQL 데이터베이스에 대한 기본적인 학습 필요성이 증가하고 있으나 이를 위한 교재는 드문게 현실이다.
이 책은 책 한 권으로 데이터베이스를 처음 접하는 일반 사용자나 개발자, IT 융합에 관심을 갖는 다양한 전공자들 누구나 쉽게 SQL과 NoSQL 데이터베이스의 기본 개념과 구조를 이해하고 데이터베이스를 설계, 구축하고 활용해볼 수 있도록 구성하였다. 꼭 필요한 핵심 개념을 모두 포함하면서도 예제나 그림을 사용하여 쉽게 설명하고자 노력하였다. 또한, 정작 실무에서는 매우 중요함에도 기존 교재에서는 소홀히 다루었던 데이터베이스 설계 방법을 적절한 예제를 통해 경험할 수 있도록 구성하였다. 핵심만 간추린 개념과 다양한 예제를 통한 간결한 설명, 그리고 이를 적용한 MySQL 활용 예제를 적용하고 실습하다보면 초보자라도 빠르게 준전문가가 될 수 있을 것이다.
이 책은 실제 적용할 수 있는 다양한 구체적 예제를 통해 데이터베이스 활용 능력을 충분히 습득할 수 있도록 구성했으며 빅데이터를 포함한 최신 데이터베이스 기술에 대한 충분한 소개와 설명도 제공한다. 실습 예제도 이해를 돕는 간단한 예제 수준의 코드에 그치지 않고 실제 활용 가능한 소규모의 모바일 웹 프로젝트 코드도 제공하였다. 각 장의 연습 문제도 각종 자격증과 공무원, 인증 시험 문제에 대비한 모의고사 문제를 포함하고 있어 각종 자격시험과 채용시험을 준비하는데 도움이 될 것이다.
이 책의 구성
이 책은 1장부터 14장까지 데이터베이스 입문자를 위한 다양한 내용들을 포함하도록 구성되어 있다. 1장부터 순차적으로 학습해갈 수도 있고 공부하고자 하는 목적에 따라 필요한 내용만 선택적으로 학습하는 것도 가능하다.
ㆍ 데이터베이스 기초 : 1장, 2장, 3장, 4장, 5장
ㆍ 데이터베이스 프로그래밍 : 6장, 7장, 14장
ㆍ MySQL 실습 : 5장, 6장, 7장
ㆍ 데이터베이스 모델링 : 3장, 8장, 9장, 10장
ㆍ 빅데이터 관리 : 1장, 2장, 11장, 12장, 13장
누구를 위한 책인가?
ㆍ 데이터베이스의 핵심 개념과 용어를 빠른 시간에 학습하고자 하는 경우
ㆍ 데이터베이스 모델링/설계 과정을 체계적으로 습득하고자 하는 경우
ㆍ MySQL DBMS의 활용 방법과 SQL 명령어 사용법을 익히고자 하는 경우
ㆍ 빅데이터와 NoSQL 활용 방법을 학습하고자 하는 경우
ㆍ 각종 자격시험과 채용 시험을 위해 데이터베이스를 공부하고자 하는 경우
ㆍ 실제 활용 가능한 예제를 통해 DB 웹 프로그래밍 방법을 배우고자 하는 경우
무엇에 관한 책인가?
ㆍ 데이터베이스 기본 개념과 핵심 이론에 관한 설명과 예제
ㆍ SQL 활용 방법과 예제
ㆍ MySQL DBMS의 설치, 운영, 활용 방법과 예제
ㆍ 정규화, E-R 모델 등을 활용한 데이터베이스 설계 방법과 예제
ㆍ 데이터웨어하우스, 빅데이터, NoSQL, 몽고DB 활용 방법과 적용 예제
ㆍ HTML과 제이쿼리 모바일, PHP를 활용한 DB 기반 모바일 웹 앱의 개발 예제
어떤 활용 예제를 포함하고 있나?
ㆍ 관계 데이터베이스의 릴레이션 정의 예제
ㆍ 관계 대수식 작성과 질의 트리 변환 예제
ㆍ SQL의 데이터 입력, 수정, 삭제, 검색 예제
ㆍ DB 객체(뷰, 인덱스, 내장 함수, 저장 프로시저, 트리거, 트랜잭션 등) 활용 예제
ㆍ 정규화 예제
ㆍ E-R 다이어그램 작성 예제
ㆍ 개념적, 논리적, 물리적 DB 설계 예제
ㆍ 데이터웨어하우스 구축 및 스타스키마 설계 예제
ㆍ 몽고DB 기반의 NoSQL 활용 예제
ㆍ 모바일 웹 프로그램 예제
어떤 소프트웨어를 설치하여 사용하고 있나?
ㆍ MySQL DBMS 커뮤니티 버전
ㆍ ERWin 데이터 모델러
ㆍ 몽고DB DBMS
ㆍ 아파치(Apache) 웹 서버
ㆍ XAMPP 설치 패키지 솔루션
ㆍ PHP 개발을 위한 이클립스(eclipse) IDE통합 개발 도구