Chapter 3 : 오라클
Download
Report
Transcript Chapter 3 : 오라클
제 3 장 오라클
3장. 오라클
Page-1
3장. 오라클
오라클
오라클 사가 개발한 관계 DBMS
가장 높은 시장 점유율과 신뢰성을 지닌 데이터베이스 관리 시스
템
유닉스, 리눅스, 윈도우 등 대부분의 운영체제를 지원
PC에서 대형 기종에 이르기까지 다양한 하드웨어와 운영체제 플
랫폼을 지원
표준 에디션 1(Standard Edition One), 표준 에디션, 엔터프라이
즈 에디션(Enterprise Edition) 등 3가지 에디션으로 판매됨
개인용 에디션(Personal Edition)은 윈도우 OS 전용으로서, 단일
사용자 개발 및 배포 환경만 지원
3장. 오라클
Page-2
3장. 오라클
3장. 오라클
Page-3
3.1 오라클 개요
오라클 개요
전자상거래와 데이터 웨어하우징을 위한 고성능의 인터넷 플랫폼
을 제공
사용자가 객체 관계 데이터베이스는 물론이고, 워드 프로세서 문
서, 스프레드 시트 문서, 파워포인트로 작성한 발표 자료, XML, 그
래픽스, 비디오 등과 같은 멀티미디어 데이터 타입 등을 관리할 수
있음
온라인 트랜잭션 처리(OLTP:Online Transaction Processing), 데
이터 웨어하우스, OLAP(Online Analytical Processing), 전자 상
거래 등 최근에 등장하고 있는 데이터베이스의 중요한 응용 분야
에도 활용할 수 있음
3장. 오라클
Page-4
3.1 오라클 개요(계속)
3장. 오라클
Page-5
3.1 오라클 개요(계속)
오라클 서버와 인스턴스
오라클 서버는 한 오라클 인스턴스와 한 오라클 데이터베이스로
구성됨
오라클 인스턴스는 백그라운드 프로세스들과 메모리 구조의 조합
사용자가 오라클 서버에 SQL 문을 입력하기 전에 반드시 오라클
인스턴스에 연결되어 있어야 함
접속(connection) 사용자 프로세스와 서버 프로세스 간의 통신
경로
세션(session)은 사용자가 오라클 서버로부터 인증될 때부터 시작
하여 사용자가 로그아웃을 하거나 비정상적으로 종료될 때까지 지
속
3장. 오라클
Page-6
3.1 오라클 개요(계속)
3장. 오라클
Page-7
3.1 오라클 개요(계속)
오라클 특징
클라이언트/서버 환경(분산 처리)
다양한 플랫폼
대규모 데이터베이스
다중 동시 데이타베이스 사용자
높은 가용성
산업 표준
높은 보안 관리
자동 데이터베이스 회복 및 자동 에러 정정
XML 등 다양한 데이터 타입 지원
3장. 오라클
Page-8
3.1 오라클 개요(계속)
오라클 데이터베이스의 물리적인 저장 구조
데이터베이스의 물리적인 구조는 데이터베이스
내의 운영체제 파일 (데이터파일(datafile))들의
집합
각 데이터파일은 운영체제 블록들로 이루어짐
3장. 오라클
Page-9
3.1 오라클 개요(계속)
오라클 데이터베이스의 논리적인 저장 구조
오라클 데이터베이스는 적어도 하나의 테이블스페이스를 포함
테이블스페이스는 데이터파일이라고 부르는 하나 이상의 파일로
구성됨
• 테이블스페이스는 시스템 테이블스페이스, 임시 테이블스페이
스, 사용자 테이블스페이스 등으로 구분
테이블스페이스는 하나 이상의 세그먼트를 포함
세그먼트는 특정한 유형의 데이터 구조를 저장하기 위해 할당되
는 익스텐트들의 집합
익스텐트는 오라클 데이터 블록(운영체제의 데이터 블록이 아님)
들로 이루어짐
오라클 데이터 블록은 읽기와 쓰기 연산의 가장 작은 단위
데이터파일 내의 데이터를 오라클 데이터 블록들로 관리
3장. 오라클
Page-10
3.1 오라클 개요(계속)
3장. 오라클
Page-11
3.2 오라클 설치 및 수행(계속)
오라클11g 개인용 에디션을 컴퓨터 시스템에 설치
오라클 개인용 에디션은 윈도우XP, 윈도우 비스타, 윈
도우7 등에 설치 가능
본 절에서는 윈도우7 환경에 오라클 개인용 에디션을
설치하는 과정을 설명
오라클 홈페이지(http://www.oracle.com)에 접속하여
오라클을
다운로드하는 웹페이지를 찾음
오라클 사이트에 회원으로 가입한 사람만 다운로드할
수 있음
3장. 오라클
Page-12
3.2 오라클 설치 및 수행(계속)
3장. 오라클
Page-13
3.2 오라클 설치 및 수행(계속)
오라클 라이센스 동의 화면
3장. 오라클
Page-14
3.2 오라클 설치 및 수행(계속)
3장. 오라클
Page-15
3.2 오라클 설치 및 수행(계속)
두 개로 나누어진 오라클 zip 파일을 모두 다운로드
3장. 오라클
Page-16
3.2 오라클 설치 및 수행(계속)
database 폴더에 압축을 푼다
3장. 오라클
Page-17
3.2 오라클 설치 및 수행(계속)
database 폴더에서 setup.exe를 더블 클릭
3장. 오라클
Page-18
3.2 오라클 설치 및 수행(계속)
Oracle Universal Installer(OUI)
OUI는 오라클 제품의 설치 및 구성 과정을 안내
오라클의 구성요소들을 설치하고, 업그레이드하고, 제
거하고, 데이터베이스를 생성하는데 사용됨
오라클 8i부터 모든 플랫폼에서 사용 가능한 자바 기반
의 GUI 형식의 프로그램으로 만들어짐
3장. 오라클
Page-19
3.2 오라클 설치 및 수행(계속)
3장. 오라클
Page-20
3.2 오라클 설치 및 수행(계속)
오라클 설치 1단계인 보안 갱신 구성 단계
교육과 개발에 사용하는 오라클은 라이센스 계약 없이
설치하여 사용 가능
3장. 오라클
Page-21
3.2 오라클 설치 및 수행(계속)
오라클 설치 2단계인 설치 옵션 선택 단계
[데이터베이스 생성 및 구성] 옵션은 샘플 스키마와 함
께 새 데이터베이스를 생성
3장. 오라클
Page-22
3.2 오라클 설치 및 수행(계속)
오라클 설치 3단계인 시스템 클래스 선택 단계
노트북 또는 데스크톱에 설치하는 경우에는 [데스크톱
클래스] 옵션
3장. 오라클
Page-23
3.2 오라클 설치 및 수행(계속)
오라클 설치 4단계인 일반 설치 구성 단계
Oracle Base와 소프트웨어가 설치되는 위치, 데이터베이스 파일이
저장되는 위치, 설치할 오라클 데이터베이스 버전, 데이터베이스의
문자 집합, 전역 데이터베이스의 이름, 관리 권한을 갖는 오라클
계정(SYS, SYSTEM)의 비밀번호를 설정
전역 데이터베이스 이름
형식: database_name.domain
전역 데이터베이스 이름을 입력하면 자동적으로 SID(시스템
식별자)에도 입력됨
전역 데이터베이스 이름은 네트워크 도메인 안에서 서로 다른
데이터베이스를 고유하게 식별할 수 있는 데이터베이스의 완
전한 이름
SID는 로컬 컴퓨터의 다른 데이터베이스와 이 데이터베이스를
고유하게 식별하는 데이터베이스 이름
3장. 오라클
Page-24
3.2 오라클 설치 및 수행(계속)
3장. 오라클
Page-25
3.2 오라클 설치 및 수행(계속)
오라클 설치 5단계인 필요 조건 검사 수행 단계
오라클을 설치하는데 필요한 최소 시스템 요구 사항을
충족하는지 확인
3장. 오라클
Page-26
3.2 오라클 설치 및 수행(계속)
오라클 설치 6단계인 요약 단계
설치할 정보를 요약
3장. 오라클
Page-27
3.2 오라클 설치 및 수행(계속)
오라클 설치 7단계인 제품 설치 단계
3장. 오라클
Page-28
3.2 오라클 설치 및 수행(계속)
오라클 설치 7단계인 제품 설치 단계(계속)
데이터베이스 구성에 포함되는 도구들의 이름과 설치
상태
3장. 오라클
Page-29
3.2 오라클 설치 및 수행(계속)
데이터베이스 생성(DBCA: Database Configuration
Assistant)
3장. 오라클
Page-30
3.2 오라클 설치 및 수행(계속)
생성된 데이터베이스를 요약한 정보
3장. 오라클
Page-31
3.2 오라클 설치 및 수행(계속)
오라클 설치 8단계인 완료 단계
3장. 오라클
Page-32
3.2 오라클 설치 및 수행(계속)
오라클이 윈도우7의 서비스로 등록되어 있는지 확인
[시작] → [제어판] → [시스템 및 보안] → [관리도구] → [서비스]를 차례
로 클릭
오라클 설치 과정에서 전역 데이터베이스 이름을 ‘DBSERVER’로 설정한
경우에 윈도우7의 서비스 이름은 ‘OracleServiceDBSERVER’
3장. 오라클
Page-33
3.2 오라클 설치 및 수행(계속)
오라클 관련 프로그램
[시작] → [모든 프로그램] → [Oracle – OraDb11g_home1]
3장. 오라클
Page-34
3.2 오라클 설치 및 수행(계속)
오라클 폴더와 파일
오라클을 설치할 때 입력한 전역 데이터베이스 이름을
갖는 폴더인 DBSERVER가 C:\app\DBNOTE\oradata
폴더 아래에 있음
이 폴더에 데이터베이스 관련 파일들이 저장되어 있음
TEMP01.DBF에는 SQL문을 처리하는 과정에 생성되는
임시 테이블들이 저장됨
SYSTEM01.DBF에는 데이터 사전이 저장됨
USERS01.DBF에는 사용자가 생성한 테이블들이 저장
됨
3장. 오라클
Page-35
3.2 오라클 설치 및 수행(계속)
3장. 오라클
Page-36
3.3 환경 설정(계속)
Oracle SQL Developer
데이터베이스 개발을 위한 그래픽 인터페이스
SQL과 PL/SQL 구문 실행, SQL 스크립트 실행, PL/SQL
구문 편집 및 디버깅 기능
자바를 기반을 동작하는데, 먼저 JDK가 컴퓨터에 설치
되어 있어야 함
[시작] → [모든 프로그램] → [Oracle – OraDb11g_home1] → [
응용 프로그램 개발] → [SQL Developer]를 차례로 클릭
3장. 오라클
Page-37
3.3 환경 설정(계속)
3장. 오라클
Page-38
3.3 환경 설정(계속)
JDK의 java.exe 파일의 경로를 설정한 후에 Oracle SQL
Developer를 설치
3장. 오라클
Page-39
3.3 환경 설정(계속)
Oracle SQL Developer 화면
[접속 이름]: 사용자가 입력하는 로그인 정보를 저장하
는 프로파일의 이름
[사용자 이름]: 접속하려는 데이터베이스에 대한 사용
자 계정
[비밀번호]: 사용자 계정의 비밀번호
[롤]: SYSDBA(데이터베이스 관리자)를 선택
[호스트 이름]: 접속하려는 데이터베이스가 동작하고
있는 컴퓨터의 이름
[포트]: 오라클 리스너 서비스의 포트(기본 1521)
3장. 오라클
Page-40
3.3 환경 설정(계속)
3장. 오라클
Page-41
3.3 환경 설정(계속)
Oracle SQL Developer 화면의 구성요소
3장. 오라클
Page-42
3.3 환경 설정(계속)
사용자 등록
두 명의 데이터베이스 사용자(KIM과 LEE)를 등록
Oracle SQL Developer에 sys 사용자로 로그인
출판사 홈페이지에서 userCreate.sql을 다운로드한 후 [파일] → [
열기]를 차례로 클릭하여 Oracle SQL Developer로 불러옴
3장. 오라클
Page-43
3.3 환경 설정(계속)
3장. 오라클
Page-44
3.3 환경 설정(계속)
또는 [예제 3.1]의 내용을 질의 입력창에 직접 입력
3장. 오라클
Page-45
3.3 환경 설정(계속)
질의 입력창에 들어 있는 명령 실행
[실행] → [userCreate.sql 실행]을 차례로 클릭하거나, F5 또는 도
구 모음에서
3장. 오라클
를 클릭
Page-46
3.3 환경 설정(계속)
비밀번호 변경
데이터베이스 관리자가 사용자의 비밀번호를 변경하거
나 사용자가 자신의 비밀번호를 직접 변경할 수 있음
데이터베이스 관리자(sys)로 로그인을 한 상태에서 다
음 명령을 사용하여 KIM의 비밀번호를 변경할 수 있음
ALTER USER KIM identified by shinystar;
3장. 오라클
Page-47
3.3 환경 설정(계속)
3장. 오라클
Page-48
3.3 환경 설정(계속)
예제 테이블 생성
DBSERVER 데 이 터 베 이 스 에 4 장 에 서 SQL 실 습 에 사 용 할
EMPLOYEE와 DEPARTMENT 테이블을 생성하고, 투플들을 삽입
Oracle SQL Developer를 실행하고, 사용자 KIM으로 로그인
3장. 오라클
Page-49
3.3 환경 설정(계속)
실습 예제(sampledata.sql )
출판사 홈페이지에서 userCreate.sql을 다운로드한 후 [
파 일 ] → [ 열 기 ] 를 차 례 로 클 릭 하 여 Oracle SQL
Developer로 불러옴
또는 [예제 3.2]의 내용을 직접 입력
3장. 오라클
Page-50
3.3 환경 설정(계속)
3장. 오라클
Page-51
3.3 환경 설정(계속)
3장. 오라클
Page-52
3.3 환경 설정(계속)
3장. 오라클
Page-53
3.3 환경 설정(계속)
정의한 테이블과 뷰가 데이터베이스에 생성되었는가를 확인
질의 입력창에 다음 명령을 입력하여 실행
SELECT * FROM tab;
tab은 데이터베이스 내의 테이블에 관한 정보를 나타내는 데이터
사전 뷰
TNAME은 테이블의 이름을 나타내고, TABTYPE은 테이블의 유형,
즉 테이블 또는 뷰를 나타냄
3장. 오라클
Page-54
3.3 환경 설정(계속)
3장. 오라클
Page-55
3.3 환경 설정(계속)
DEPARTMENT 테이블의 구조 확인
질의 입력창에 다음 명령을 입력하여 실행
DESCRIBE DEPARTMENT;
또는
DESC DEPARTMENT;
이름은 DEPARTMENT 테이블에 속한 애트리뷰트들을
나타내고, 널?은 애트리뷰트가 널값을 허용하는가를 나
타내며, 유형은 애트리뷰트의 데이터 타입과 길이를 의
미
3장. 오라클
Page-56
3.3 환경 설정(계속)
3장. 오라클
Page-57
3.3 환경 설정(계속)
DEPARTMENT 테이블의 내용 확인
질의 입력창에 다음 명령을 입력하여 실행
SELECT * FROM DEPARTMENT;
3장. 오라클
Page-58
3.3 환경 설정(계속)
PROJECT 테이블을 생성
질의 입력창에 다음 명령을 입력하여 실행
3장. 오라클
Page-59
3.3 환경 설정(계속)
3장. 오라클
Page-60
3.3 환경 설정(계속)
PROJECT 테이블을 수정
질의 입력창에 다음 명령을 입력하여 실행
ALTER TABLE PROJECT
ADD Manager NUMBER;
방금 추가한 Manager 애트리뷰트를 삭제하기 위해서
는 아래와 같은 명령을 실행
ALTER TABLE PROJECT DROP COLUMN Manager;
3장. 오라클
Page-61
3.3 환경 설정(계속)
3장. 오라클
Page-62
3.4 PL/SQL(계속)
PL/SQL(Procedural Language/SQL)
PL/SQL은 오라클에서 관계 데이터베이스를 위한 표준
데이터 언어인 SQL에 절차적인 언어의 기능(예를 들어,
IF-THEN, WHILE 루프 등)을 추가하여 확장한 언어
블록 위주의 언어
기본적인 단위는 블록, 프로시저, 함수
3장. 오라클
Page-63
3.4 PL/SQL(계속)
기본적인 PL/SQL 블록 구조
세 개의 섹션으로 구성됨
begin으로 시작하는 실행절만 필수이고 나머지는 옵션
선언절에서는 변수와 객체들을 선언
실행절에서는 변수들을 처리(조작)
예외 사항 처리절에서는 실행 중에 발생한 예외나 에러를 처리
END 및 다른 PL/SQL문에는 문장 끝을 표시하기 위해 세미콜론을
써야 함
주석은 여러 행에 걸쳐 쓰려면 /* 과 */ 사이에 입력하고, 한 행에
쓰는 주석은 시작 부분에 --을 표시
3장. 오라클
Page-64
3.4 PL/SQL(계속)
기본적인 PL/SQL 블록 구조(계속)
3장. 오라클
Page-65
3.4 PL/SQL(계속)
PL/SQL의 제어 구조
조건문의 예
if <조건> then <PL/SQL문> else <PL/SQL문> end if;
for 반복문의 예
for < 인 덱 스 변 수 > in < 범 위 > loop <PL/SQL 문 > end
loop;
while 반복문의 예
while <조건> loop
<PL/SQL문>
end loop;
3장. 오라클
Page-66
3.4 PL/SQL(계속)
커서(cursor)
질의가 다수의 행들을 결과로 반환할 때 커서를 선언해서 질의의
결과의 각 행을 처리하고, 현재 어떤 행을 처리하고 있는지 유지해
야함
질의의 결과로 반환되는 행들은 활성 집합(active set)이라고 부르
는 영역에 저장됨
커서가 가리키는 행이 현재 행
3장. 오라클
Page-67
3.4 PL/SQL(계속)
커서를 사용하기 위해 필요한 네 단계
블록의 선언절에서 커서를 선언
CURSOR 커서_이름 IS SELECT문;
커서를 사용하기 전에 실행절에서 커서를 연다
OPEN 커서_이름;
활성 집합에 있는 행을 한 번에 하나씩 차례대로 검색
FETCH 커서_이름 INTO 변수_리스트;
질의 수행 결과에 대한 처리를 마치기 위해 커서를 닫음
CLOSE 커서_이름;
3장. 오라클
Page-68
3.4 PL/SQL(계속)
갱신할 투플들에 대한 커서 정의
커서 선언부에 FOR UPDATE OF절을 포함시키고, 수정할 애트리
뷰트들을 함께 명시
예: 아래와 같이 커서를 선언하면 EMPLOYEE 테이블의 TITLE
애트리뷰트를 수정할 수 있음
EXEC SQL DECLARE title_cursor CURSOR FOR
SELECT title FROM employee FOR UPDATE OF title;
이제 커서를 열면 투플의 애트리뷰트들을 수정할 수 있음
UPDATE
SET
WHERE
3장. 오라클
employee
title = :newtitle
CURRENT OF title_cursor;
Page-69
3.4 PL/SQL(계속)
PL/SQL의 예
IF문과 FOR 반복문을 포함한 질의의 예
다음 PL/SQL코드는 3번 부서의 사원들의 평균 급여가
2800000원 이상이면 3번 부서에 속한 사원들의 이름
과 직책과 급여를 검색하고, 그렇지 않으면 “3번 부서
의 평균 급여가 2800000 미만입니다.”라는 메시지를
인쇄
dbms_output.put_line은 값을 화면에 출력하는 오라
클의 프로시저
3장. 오라클
Page-70
3.4 PL/SQL(계속)
3장. 오라클
Page-71
3.4 PL/SQL(계속)
3장. 오라클
Page-72
3장 - 종료
3장. 오라클
Page-73