정보관리기술사 & 컴퓨터시스템응용기술사 8: 데이터베이스 (개정증보판)

정보관리기술사 & 컴퓨터시스템응용기술사 8: 데이터베이스 (개정증보판)

$48.15
Description
1. 이 책은 학원 수강을 통해 습득한 내용과 멘토링을 진행하면서 스스로 학습한 내용을 바탕으로 답안 형태로 작성하였고, IT분야 기술사인 정보관리기술사와 컴퓨터시스템응용기술사 자격을 취득하기 위해 학습하고 있거나 학습하고자 하는 분들을 위해 만들었습니다.

2. 본 교재는 발전 동향, 배경 그리고 유사 기술과의 비교, 다양한 도식화 등 25년간의 실무 개발자 경험을 토대로 작성한 내용으로 풍부한 경험적인 요소가 내재되어 있는 장점이 있습니다.
저자

권영식

- 성균관대학교 정보통신대학원 정보보호학과 졸업(공학석사)
- 삼성전자 선임/책임 연구원
- 도시바 삼성 스토리지 테크놀러지 - 코리아(주) 수석연구원
- 컴퓨터시스템응용 기술사, 정보시스템 수석감리원, 정보통신 특급기술자
- 과학기술정보통신부 IT 멘토
- 데이터관리인증심사원(DQC-M)
- 韓(한)·日(일)기술사 교류회 위원
- http://cafe.naver.com/96starpe 운영자

목차

Part 1. DB 기초 및 특징
1. 정보, 지식, 지혜
2. DB의 정의와 특성(구조)
3. DB의 특징과 장?단점
4. DB의 생성 목적과 구성 요소
5. ANSI/SPARC 구조
6. 기존 File System의 문제점과 DBMS의 장점
7. DBMS(Data Base Management System)의 정의, 역할, 필수 기능, 장?단점
8. 스키마(Schema)와 인스턴스(Instance), DDL(Data Definition Language), DML(Data Manipulation Language), DCL(Data Control Language)
9. DB의 절차 언어(Procedural language)와 비 절차 언어(Non-Procedural)
10. DB의 생명주기(Life Cycle)와 설계 과정
11. DB의 설계 과정인 기획, 분석, 설계, 구현 과정에서의 Activity와 산출물
12. DB의 3-Schema(스키마) 구조의 정의와 실제 사용 예 (장?단점)
13. DB의 Data 독립성
14. DB의 속성(Attribute)
15. DB의 속성(Attribute)의 종류

Part 2. DB 모델링(Modeling)
■ 2-1) ER(Entity Relationship) 다이어그램 및 관계 대수
16. Data Modeling의 절차
17. ER(Entity Relationship) 다이어그램 표기법
18. ER Model의 작성 절차
19. ER Model의 연결 함정
20. 야구 선수와 야구팀이라는 두 개의 Entity Type에 대해 다음의 요구 사항을 참조하여 ER Schema를 그리시오. (단 Total/Partial 참여, 몇 대 몇인지의 관계, Key등을 명시할 것)
21. EER(Enhanced ER) Model
22. 다음 TRUCK과 CAR에 대해 일반화(Generalization) 완성
23. Database에서 사용되는 관계 대수(Relational Algebra)의 연산자와 연산자 실행 예
24. Relation T1과 T2에 대해 각 연산을 수행한 결과를 보이시오
25. 다음 ER Diagram을 참조하여 질문에 답하시오.
26. 다음 relation들과 제약 조건을 참조하라.
27. 다음 SQL DDL 문을 참조하라.
28. 아래 ER schema의 지점 entity type을 SQL CREATE TABLE 명령어를 이용하여 변환하라. (지점은 여기서 weak entity type 이다.)

■ 2-2) 정규화(Normalization)
29. DB에서 정규화(Normalization)의 수행 절차
30. DB에서 사용되는 Super Key, Primary Key, Alternate Key, Foreign(외래) Key
31. 외래키(Foreign Key)의 정의(목적), 다음 ERD(ER-Diagram)로 Relation을 생성한 후 사원의 부서를 외래키를 사용하여 알 수 있는 방법
32. Database에서 Key의 본질적 제약과 내재적 제약 설명
33. DB에서 함수적 종속성(Function Dependency)(암스토롱 공리)
34. DB에서 이상 현상(Anomaly)의 유형과 사례, 해결 방안
35. 아래의 Table과 주어진 속성간의 관계에서 발생되는 데이터의 입력, 삭제, 갱신 이상(Anomaly) 현상의 예를 기술하시오.
36. 아래 수강 Relation의 종속관계를 도식화하고 함수적 종속성의 유형에 대해 설명하시오.
37. 관계형 DB 설계 시 테이블 스키마(R)와 함수 종속성(FD)이 아래와 같이 주어졌을 때 다음 질문에 답하시오.
38. 아래 수강 과목 Relation은 제 3 정규형이다. BCNF(Boyce/Codd Normal Form) 정규형으로 변환하고 제 3정규형에서 삽입/갱신/삭제 이상에 대해서 설명하시오.
39. 아래 수강신청 Relation은 제 3 정규형이지만 BCNF 정규형이 아니다. 발생할 수 있는 이상 현상에 대해 설명하고 BCNF 정규형 Table로 설계하시오.
40. 제4정규형의 개념과 제약 조건, 제4차 정규형의 사례 설명
41. Database에서 비 정규화
42. 데이터 모델링 과정에서 반 정규화를 수행하는 이유와 각각의 유형
43. Database에서 반 정규화(역정규화, De-Normalization)

Part 3. SQL(Structured Query Language)
44. SQL(Structured Query Language)의 3가지 언어
45. 다음 ER Diagram에서 Relation과 SQL Table을 작성
46. 다음 대학(University) 관계 Database에서 각 Query에 대해 SQL 검색문을 작성하고 결과를 도출하시오.
47. 앞 질문(대학 RDBMS)에서 다음 질문에 답하시오.
1) 등록 Table에서 중간 성적이 90점 이상인 학생의 학번과 과목번호(ORDER BY 이용)
2) 등록 테이블에서 과목번호가 “C312”인 중간성적에 5점을 더한 점수를 “학번”, “중간성적=”이란 Text 내용을 “시험”, 그리고 “점수”라는 열 이름으로 검색(새로운 열 이름이 명세된 검색)
3) 과목번호 “C413”에 등록한 학생의 이름, 학과, 성적을 검색(복수 Table 사용)
48. 앞 질문(대학 RDBMS)에서 다음 질문에 답하시오.
1) 같은 학과 학생들의 학번을 쌍으로 검색
단, 첫 번째 학번은 두 번째 학번보다 적게 하시오.(자기 자신의 Table에 조인하는 검색임)
2) 학생 Table에 학생수 검색(집계 함수를 이용)
49. 질문(대학 RDBMS)에서 다음 질문에 답하시오.
1) 학번이 300인 학생이 등록한 과목수
2) 과목 “C413”에 대한 중간 성적의 평균
3) 과목별 기발 성적(Final)의 평균을 검색(GROUP BY 이용)
4) 3명 이상 등록한 과목의 기말 평균 성적을 검색(HAVING 사용)
50. 질문(대학 RDBMS) 에서 다음 질문에 답하시오.
1) 과목번호 “C413”등록한 학생 이름 검색(부속 질의문 및 IN 이용)
2) 과목번호 “C413”에 등록하지 않은 학생의 이름 검색(부속 질의문을 사용하고 NOT IN을 이용)
3) 학생 “기사 1”과 같은 학과에 속하는 학생의 이름과 학과(Dept) 검색
51. 질문(대학 RDBMS) 에서 다음 질문에 답하시오.
1) 중간 성적이 90에서 95 사이의 행의 Sno, Cno, Midterm 출력(BETWEEN을 이용 검색)
2) 등록 Table에서 학번이 500인 학생의 모든 기말성적보다 좋은 학생의 학번과 과목 번호 검색(ALL 키워드 사용)
3) 과목 번호가 C로 시작하는 과목번호와 과목 이름 검색(LIKE를 이용한 검색 실시)
52. 질문(대학 RDBMS)에서 다음 질문에 답하시오.
1) 과목 “C413”에 등록한 학생의 이름 검색(EXISTS 검색을 사용)
2) 과목 “C413”에 등록하지 않은 학생의 이름 검색
3) 3학년이거나 또는 과목 “C324”에 등록한 학생의 학번 검색(UNION 사용)
53. 질문(대학 RDBMS)에서 다음 질문에 대해 SQL문을 생성하시오. (UPDATE문 사용)
1) 학번이 300인 학생의 학년을 2로 변경
2) “CA”과목의 학점(Credit)을 2학점 증가
3) “CA”와 학생의 기말 성적을 5점씩 가산
4) 모든 4학년 학생의 학과를 “보안”과목을 개설한 학과로 갱신
54. DB에서 SQL View에 대해서 설명하시오.

Part 4. 회복 기법 및 Backup 기법
55. 회복(Recovery) 기법의 종류
56. 즉시 갱신 기법(Immediate Update)과 지연 갱신 기법(Deferred Update)
57. Checkpoint 회복 기법
58. 그림자(Shadow) Paging 회복 기법과 Media 회복 기법
59. CDP(Continuous Data Protection)
60. Backup 방법
- 전체 백업(Full Backup)
- 증분 백업(Incremental Backup)
- 차등 백업(Differential Backup)
- 합성 백업(Synthetic Full Backup)

Part 5. 병행 제어
61. Transaction 의 상태 전이도와 4가지 특성(ACID)
62. DBMS에서 동시성(Concurrent, 병행성) 제어 방법의 종류와 장?단점
63. DBMS 병행처리와 병행제어 정의, 병행처리시의 문제점들과 대책
64. Transaction 스케줄링(Scheduling)의 종류
65. 프로그램 병행성에 대해 다음 물음에 답하시오.
(1) 병행 프로그래밍에서 인터리빙(Interleaving) 동작 방식
(2) 아래와 같이 두 개의 Process P1과 P2가 병행 실행되는 경우 모든 가능한 인터리빙을 보이시오.
66. 다음 각 T1과 T2는 A에 1을 더하는 연산(Task)이다. Transaction 들에서 아래 질문에 답하시오.
문1) 위의 Transaction들로부터 발생할 수 있는 충돌 직렬
불가능(Conflict Non-Serializable)한 스케줄링 작성
문2) 문1)에서 작성된 스케줄링에서 발생할 수 있는 문제점을 설명
67. 다음 Schedule은 직렬 불가능(Non-Serializable)하다. 각 Task의 수행 결과 원하는 값과 실제 수행 값을 표기하고 문제점과 직렬화하기 위한 방안은 무엇인지 설명하시오.(R은 Read, W는 Write를 의미)
68. 아래

출판사 서평

■ 책의 특징
Part 1. DB 기초 및 특징
ANSI/SPARC 구조, DBMS(Data Base Management System)의 정의, 역할, 필수 기능, 스키마(Schema)와 인스턴스(Instance), DDL(Data Definition Language), DML(Data Manipulation Language), DCL(Data Control Language), 3-Schema(스키마) 구조의 정의, Data 독립성, DB의 속성(Attribute) 등에 대한 내용을 학습할 수 있습니다. [관련 토픽 - 15개]

Part 2. DB 모델링(Modeling)
2-1) ER(Entity Relationship) 다이어그램 및 관계 대수 [관련 토픽 - 13개]
2-2) 정규화(Normalization) [관련 토픽 - 15개]

Part 3. SQL(Structured Query Language)
SQL 3가지 언어, ER Diagram에서 Relation과 SQL Table 작성법, 관계 Database에서 각 Query에 대해 SQL 검색문 작성법, SQL View 등에 대해 학습할 수 있습니다. [관련 토픽 - 11개]

Part 4. 회복 기법 및 Backup 기법
회복(Recovery) 기법의 종류, 즉시 갱신/지연 갱신 기법, Checkpoint 회복 기법, Backup 방법인 전체 백업, 증분 백업, 차등 백업, 합성 백업 등에 대한 내용을 학습할 수 있도록 하였습니다. [관련 토픽 - 6개]

Part 5. 병행 제어
Transaction의 상태 전이도와 4가지 특성(ACID), 동시성(Concurrent, 병행성) 제어 방법의 종류와 장?단점, Transaction 스케줄링(Scheduling)의 종류, 병행제어 정의, 병행 처리시의 문제점들과 대책, 직렬화, Transaction시 동시성 제어 방법인 Time Stamp Ordering 기법 및 낙관적 검증 기법, 교착 상태(Deadlock) 발생 원인과 해결 방안, 교착 상태 회피 기법인 Wait-Die & Wound-Wait 기법 등에 대해 학습할 수 있도록 하였습니다. [관련 토픽 - 17개]

Part 6. 해싱(Hashing)
해쉬 함수(Hash Function)의 4가지 특징(필수 요건), 해싱(Hashing) 함수의 종류, 장?단점, Hashing 충돌 해결 방법인 선형 탐색(Linear Probing) 기법, 체인닝(Chaining) 기법에 대해 학습할 수 있습니다. [관련 토픽 - 6개]

Part 7. DB 응용
DW(Data Warehouse)의 구성 요소와 구축 방법, 데이터 마이닝(Mining), Web Mining 등에 대한 부분으로 이해 위주로 학습할 수 있도록 기술하였습니다. [관련 토픽 - 12개]

Part 8. DB의 종류
DBMS의 기능과 발전 단계와, RDBMS, OODBMS, ORDBMS 비교, MMDB, Embedded DB, 분산 DB, 생체 인식 Database, XML Database, Tiny DB, NoSQL Database, Streaming DBMS, 분산 DB의 Issue와 해결방안 등에 대한 내용으로 작성했습니다. [관련 토픽 -19개]

Part 9. DB 품질 관리
Data 표준화의 필요성과 원칙, MetaData, 데이터 품질 기준으로 유효성과 활용성, DRM, DQM, 무결성 확보 방안(개체/참조/영역/업무 무결성), Data 프로파일링(Profiling) 등에 대한 부분으로 이해 위주로 학습할 수 있도록 답안화 하였습니다. [관련 토픽 - 8개]

Part 10. DB 성능 향상
DB 성능 개선을 위한 평가 항목과 성능 개선 절차, DB Table Partition의 유형과 특징, 샤딩(Sharding), DB 튜닝(Tuning)의 3단계와 튜닝, AVL Tree 불균형, 균형 유지 이유, B-Tree, B+ -Tree, B* -Tree, R-Tree, T-Tree 등에 대한 내용을 학습할 수 있도록 하였습니다. [관련 토픽 - 18개]

Part 11. DB 감리, 보안, Service
DB 감리, DB 보안, 문서 중앙화, Data Masking, 서버 가상화, PaaS, 서비스 개인화 등에 대한 내용을 학습할 수 있도록 하였습니다. [관련 토픽 - 14개]

Part 12. 정규화, 논리모델링, 데이터 품질
현업에서 사용되는 정보요구사항 관리 프로세스, 논리 데이터 모델링에서 식별자 관계와 비식별자 관계, 정규화, M:M 관계 해소 방법, 논리모델링 실제 사례 그리고 데이터품질관리에 대해 학습할 수 있도록 하였습니다. [관련 토픽 - 30개]