책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > Oracle
· ISBN : 9788956740058
· 쪽수 : 1124쪽
· 출판일 : 2002-09-10
책 소개
목차
제 1 장 오라클과 친해지는 방법
오라클의 기본적인 용어들
데이터베이스(Database)
인스턴스(Instance)
사용자(User)
스키마(Schema)
보안(Security)
오라클 이용하기
SQL*Plus
데이터 딕셔너리(Data Dictionary)
오라클만의 작업 방식
배움의 실마리
데이터베이스 가계도
데이터베이스 분류
옵션과 이용 가능한 기능들
요약
제 2 장 SQL*Plus와 기본적인 쿼리
SQL*Plus 소개
SQL, PL/SQL, SQL*Plus 간의 차이점
SQL*Plus 시작하기
간단하고 쉬운 데이터베이스 쿼리
결과 포맷팅하기
SQL*Plus 마무리
SQL이란 무엇인가?
SQL이 중요한 이유는?
테이블에는 무엇이 있는가?
데이터 관리 언어(DML)
쿼리
WHERE 절
결합(Joins)
집합 연산자
다른 DML 구문들
INSERT 구문
UPDATE 구문
DELETE 구문
COMMIT와 ROLLBACK
롤백
요약
제 3 장 사용자와 테이블의 생성과 관리
데이터 정의 언어(Data Definition Language)
올바른 오라클 식별자
테이블스페이스
사용자
사용자 생성하기
사용자 변경하기
사용자 삭제하기
오라클 데이터 타입
숫자 타입
문자 타입
날짜와 시간
ANSI 데이터 타입
테이블 만들기
제약조건
CREATE TABLE AS SELECT
데이터 딕셔너리
데이터 딕셔너리의 유효범위
요약
제 4 장 새로운 9i 예제 스키마들
SCOTT 스키마
오라클 9i의 예제 스키마들
각 스키마 자세히 살펴보기
점진적인 학습
예제 스키마에 대해 더 알아내기
요약
제 5 장 아키텍처
아키텍처를 배우는 이유
접속 만들기
사용자 프로세스
오라클 청취자
오라클 넷 클라이언트
서버 프로세스
전용 서버 vs. 공유 서버
파일
파라미터 파일
컨트롤 파일
데이터 파일
테이블스페이스
세그먼트
익스텐트
데이터 블록
사전 할당 파일들
리두 로그 파일
임시 파일
오라클이 관리하는 파일들
메모리 영역
시스템 전역 영역(SGA)
프로그램 전역 영역(PGA)
백그라운드 프로세스
프로세스 모니터(PMON)
시스템 모니터(SMON)
데이터베이스 라이터(DBWn)
로그 라이터(LGWR)
기록기(ARCn: Archiver)
체크포인트(CKPT)
작업 대기열 코디네이터, 작업 프로세스(CJQ0 & Jnnn)
복구기(RECO)
아키텍처의 큰 그림
요약
제 6 장 오라클의 구문 처리
SQL 구문의 종류
구문이 실행되는 방법
해석
최적화
행 소스 생성
실행 엔진
구문 실행 요약
쿼리 처리 과정의 시작과 끝
DML 처리 과정의 시작과 끝
DDL 처리
요약
제 7 장 테이블
오라클의 테이블
테이블의 종류
힙 테이블
외부 테이블
인덱스 구성 테이블
임시 테이블
다른 테이블 타입들
테이블의 속성
TABLESPACE 절
LOGGING과 NOLOGGING
STORAGE 절
CACHE와 NOCACHE
테이블의 변경
테이블 내의 열 변경하기
NOT NULL 열 제약조건
열 삭제와 이용되지 않는 열 표시
테이블 이름 변경하기
테이블을 다른 테이블스페이스로 이동하기
부수적인 테이블 속성 변경하기
ALTER TABLE 마무리
테이블 제거
TRUNCATE TABLE
DROP STORAGE와 REUSE STORAGE
임시 테이블 잘라내기
요약
제 8 장 인덱스
인덱스의 이용 예
오라클의 인덱스
인덱스가 유용한 경우는?
인덱스의 효율
행 삽입이 인덱스에 미치는 영향
행 갱신과 삭제가 인덱스에 미치는 영향
DML과 인덱스
연결
B-Tree 인덱스의 키 압축
인덱스의 스킵 스캐닝
인덱스와 제약조건
외부키 제약조건
역 키 인덱스(reverse key index)
함수 기반 인덱스
인덱스 전용 스캔
비트맵 인덱스
비트맵 결합 인덱스
요약
제 9 장 SQL*Plus 마스터하기
고급 시동 옵션들
LOGON
프로파일 구성
START
GUI SQL*Plus 시동 옵션
일상적인 SQL*Plus 이용
기본적인 SQL*Plus 명령들
COLUMN
DESCRIBE
PROMPT
ACCEPT
SHOW
VARIABLE
SQL*Plus 내장 도움말
내장 도움말
도움말 설치
새로운 도움말 토픽 입력하기
SQL*Plus 버퍼를 이용한 작업
편집기 세팅
SQL*Plus를 이용한 편집
스크립트
START, @, @@
HOST 명령
요약
제 10 장 PL/SQL
소개
블록 기반의 개발
블록의 중첩
선언
변수와 상수
변수나 상수로의 값 할당
가시성과 유효 범위
정의할 수 없는 것의 정의: NULL
%TYPE과 %ROWTYPE 이용
PL/SQL 데이터 타입
문자 데이터 타입
숫자 데이터 타입
BOOLEAN
PL/SQL 컬렉션
레코드
PL/SQL 테이블
VARRAY
NESTED TABLE
커서
명시적 커서
암시적 커서
커서 속성들
REF CURSOR와 커서 변수
싱글톤 SELECT
제어문
조건문
루프문
제어 구문 요약
오류 처리
예외 섹션
미리 정의된 예외
사용자 정의 예외
PRAGMA EXCEPTION_INIT
예외의 위임
요약
제 11 장 프로시저와 함수, 그리고 패키지
장점과 이익
프로시저
문법
CREATE OR REPLACE
저장 프로시저의 실행
보안
파라미터
지역 선언
함수
문법
리턴 값
결정적 함수
일반적인 오류
패키지
문법
규격
본문
패키지 변수와 그 밖의 선언들
오버로딩
의존성
패키지의 이점
데이터 딕셔너리
모든 저장 프로시저 나열하기
데이터베이스에서 코드 얻기
Wrap 유틸리티
요약
제 12 장 트랜잭션과 병행성
트랜잭션이란 무엇인가?
트랜잭션 제어 구문
COMMIT 처리
ROLLBACK 처리
SAVEPOINT와 ROLLBACK TO SAVEPOINT
SET TRANSACTION
SET CONSTRAINT
트랜잭션의 ACID 특성
원자성
일관성
고립성
내구성
병행성 제어
잠금
멀티 버저닝과 읽기 일관성
요약
제 13 장 보안
데이터베이스 보안의 개요
사용자와 스키마
시스템 권한
객체 권한
데이터베이스 롤
PL/SQL과 데이터베이스 롤
세밀한 접근 제어
애플리케이션 컨텍스트
데이터 보안
DES3ENCRYPT와 DES3DECRYPT
메시지 다이제스트
요약
제 14 장 뷰
관계 뷰
뷰 만들기
뷰 정의 얻기
뷰 정의 변경하기
뷰 삭제하기
뷰 내의 제약조건
뷰 결합
뷰 유효화
뷰를 통한 갱신과 삭제
뷰와 성능
인라인 뷰
객체 뷰
객체 뷰의 이점
실체화된 뷰
즉석 채움
자동 채움
쿼리 재작성
요약
제 15 장 트리거
시작하기
트리거의 구성
트리거의 타입
구문 트리거
행 트리거
INSTEAD OF 트리거
시스템 이벤트 트리거
사용자 이벤트 트리거
트리거의 활성화와 비활성화
트랜잭션과 트리거
데이터 딕셔너리에서 트리거 정보 얻기
이벤트 속성 함수
요약
제 16 장 객체
객체 지향 개념
객체 타입이란 무엇인가?
객체 vs. 컬렉션
객체 타입 이용하기
객체 타입 만들기
컨스트럭터 메소드
테이블 내의 객체 타입
타입의 수정과 삭제
메소드
상속
객체 테이블
VALUE()
REF 데이터 타입
요약
제 17 장 고급 쿼리
계층적 쿼리
기본 형식
ORDER SIBLINGS BY
SYS_CONNECT_BY_PATH()
JOIN
사용자 정의 집합 함수
테이블과 파이프라인 함수
테이블 함수
파이프라인 함수
SQL 작성을 위한 쿼리 활용
분석 함수
누적 합계 계산하기
이전 값과 다음 값
등급 매기기와 N번째까지 찾아내기
첫번째와 마지막 값
MERGE
요약
제 18 장 튜닝 도구
튜닝의 접근 방식
벤치마킹
바인드 변수
바인드 변수를 사용하고 있는가?
EXPLAIN PLAN
AUTOTRACE
추적 파일과 TIMED_STATISTICS
추적 설정
TKPROF 출력 내용의 사용과 해석
TKPROF와 대기 시간
요약
제 19 장 SQL 툴킷
SQLPATH
스크립트
LOGIN
CONNECT
BIGDATE
FLAT
PRINT_TABLE
COMP 스크립트
GET 스크립트
INVALID
CREATECTL
DBLS
DBLSL
FREE
INDEX
SHOWSQL
SHOWSPACE
요약
사례 연구 1 PL/SQL 디버깅
디버그 유틸리티의 필요성
DBMS_OUTPUT의 제한 사항
다른 디버깅 메시지 옵션
필요 조건
데이터베이스 디자인과 설정
테이블
인덱스와 제약조건
트리거
UTL_FILE_DIR
패키지 레이아웃
구현
F()
FA()
DEBUG_IT()
WHO_CALLED_ME()
BUILD_IT()
PARSE_IT()
FILE_IT()
INIT()
CLEAR()
STATUS()
마무리 손질
DEBUG의 사용
DEBUG 관련 문제 해결
실전에서의 DEBUG
요약
사례 연구 2 인명 검색
배경
PHONE
정보화 시대의 시작 - PEOPLE
애플리케이션
스키마 만들기
객체 만들기
스테이징 테이블
스테이징 테이블 채우기
PL/SQL API
애플리케이션에 데이터 추가
데이터의 관리
마스터 설치 스크립트
사용자 인터페이스
SQL*Plus/커맨드 라인 인터페이스
요약
부록 A SQL 함수 레퍼런스
DUAL
숫자 함수
ABS()
CEIL()
FLOOR()
MOD()
POWER()
ROUND()
SIGN()
TRUNC()
날짜/시간 함수
ADD_MONTH()
CURRENT_DATE()
CURRENT_TIMESTAMP()
DBTIMEZONE()
EXTRACT()
LAST_DAY()
LOCALTIMESTAMP()
MONTHS_BETWEEN()
NEXT_DAY()
NUMTODSINTERVAL()
NUMTOYMINTERVAL()
ROUND()
SYSDATE()
SYSTIMESTAMP()
TRUNC()
ROUND()와 TRUNC()에 사용되는 날짜 포맷팅 모델
문자 함수
CHR()
INITCAP()
INSTR()
LENGTH()
LOWER()
LPAD()
LTRIM()
REPLACE()
RPAD()
RTRIM()
SOUNDEX()
SUBSTR()
TRANSLATE()
TRIM()
UPPER()
변환 함수
CAST()
CHARTOROWID()
TO_CHAR()
TO_NCHAR()
TO_CLOB()
TO_NCLOB()
TO_DATE()
TO_DSINTERVAL()
TO_LOB()
TO_NUMBER()
TO_TIMESTAMP()
TO_TIMESTAMP_TZ()
TO_YMINTERVAL()
TRANSLATE USING()
날짜와 숫자 포맷팅 문자열
집합 함수
AVG()
COUNT()
MAX()
MIN()
SUM()
기타 함수
COALESCE()
DECODE()
DUMP()
GREATEST()
LEAST()
NULLIF()
NVL()
SYS_CONNECT_BY_PATH()
UID()
USER()
VSIZE()
부록 B 제공되는 패키지
DBMS_OUTPUT
DBMS_RANDOM
UTL_FILE
DBMS_JOB
UTL_RAW
DBMS_LOB
DBMS_SQL
부록 C 데이터 딕셔너리
DICTIONARY
DICT_COLUMNS
DBA_OBJECT
DBA_TABLES
DBA_TAB_COLUMNS
DBA_TAB_PRIVS
DBA_COL_PROVS
DBA_TAB_COMMENTS / DBA_COL_COMMENTS
DBA_CONSTRAINTS
DBA_CONS_COLUMNS
DBA_EXTERNAL_TABLES
DBA_EXTERNAL_LOCATION
DBA_OBJECT_TABLES
DBA_COLL_TYPES
DBA_JOBS
DBA_TYPES
DBA_TYPE_ATTRS
DBA_TYPE_METHODS
DBA_METHOD_PARAMS
DBA_METHOD_RESULTS
DBA_LOBS
DBA_VIEWS
DBA_UPDATABLE_COLUMNS
DBA_TRIGGERS
DBA_TRIGGER_COLS
DBA_SOURCE
DBA_PROCEDURES
ALL_ARGUMENTS
DBA_DEPENDENCIES
DBA_ERRORS
DBA_INDEXES
DBA_IND_COLUMNS
DBA_ROLES
DBA_ROLE_PRIVS
DBA_SYS_PRIVS
DBA_DIRECTORIES
DBA_USERS
GLOBAL_NAME
데이터 딕셔너리 뷰의 짧은 표현
부록 D 예제 스키마의 설치
SCOTT 스키마의 설치
오라클 9i 스키마의 설치
DBCA의 사용
직접 설치
스키마 사이의 관계
설치 완료
부록 E 옵션과 기능
Oracle 9i 9.0.1
오라클 8i 8.1.6, 8.1.7
오라클 8i 8.1.5
오라클 8 8.0.4
V$ 옵션