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