슬라이드 제목 없음

Download Report

Transcript 슬라이드 제목 없음

3장 오라클
제
3.1 오라클 개요
3.2 오라클 설치 및 수행
3.3 환경 설정
3.4 PL/SQL
연습문제
3.3 환경 설정
 Oracle SQL Developer
 데이터베이스 개발을 위한 그래픽 인터페이스
 SQL과 PL/SQL 구문 실행, SQL 스크립트 실행, PL/SQL 구문 편집 및
디버깅 기능
 자바를 기반을 동작하는데, 먼저 JDK가 컴퓨터에 설치되어 있어야 함
 [시작] → [모든 프로그램] → [Oracle – OraDb11g_home1] → [응용
프로그램 개발] → [SQL Developer]를 차례로 클릭
3장. 오라클
2
3.3 환경 설정
3장. 오라클
3
3.3 환경 설정
 JDK의 java.exe 파일의 경로를 설정한 후에 Oracle SQL Developer를
설치
3장. 오라클
4
3.3 환경 설정
 Oracle SQL Developer 화면
 [접속 이름]: 사용자가 입력하는 로그인 정보를 저장하는 프로파일의 이름
 [사용자 이름]: 접속하려는 데이터베이스에 대한 사용자 계정
 [비밀번호]: 사용자 계정의 비밀번호
 [롤]: SYSDBA(데이터베이스 관리자)를 선택
 [호스트 이름]: 접속하려는 데이터베이스가 동작하고 있는 컴퓨터의 이름
 [포트]: 오라클 리스너 서비스의 포트(기본 1521)
3장. 오라클
5
3.3 환경 설정
3장. 오라클
6
3.3 환경 설정
 Oracle SQL Developer 화면의 구성요소
3장. 오라클
7
3.3 환경 설정
 사용자 등록
 두 명의 데이터베이스 사용자(KIM과 LEE)를 등록
 Oracle SQL Developer에 sys 사용자로 로그인
 출판사 홈페이지에서 userCreate.sql을 다운로드한 후 [파일] → [열기]를
차례로 클릭하여 Oracle SQL Developer로 불러옴
3장. 오라클
8
3.3 환경 설정
3장. 오라클
9
3.3 환경 설정
 또는 [예제 3.1]의 내용을 질의 입력창에 직접 입력
3장. 오라클
10
3.3 환경 설정(계속)
 질의 입력창에 들어 있는 명령 실행
 [실행] → [userCreate.sql 실행]을 차례로 클릭하거나, F5 또는 도구
모음에서
를 클릭
3장. 오라클
11
3.3 환경 설정(계속)
 비밀번호 변경
 데이터베이스 관리자가 사용자의 비밀번호를 변경하거나 사용자가 자신의
비밀번호를 직접 변경할 수 있음
 데이터베이스 관리자(sys)로 로그인을 한 상태에서 다음 명령을 사용하여
KIM의 비밀번호를 변경할 수 있음
ALTER USER KIM identified by shinystar;
3장. 오라클
12
3.3 환경 설정(계속)
3장. 오라클
13
3.3 환경 설정(계속)
 예제 테이블 생성
 DBSERVER 데이터베이스에 4장에서 SQL 실습에 사용할 EMPLOYEE와
DEPARTMENT 테이블을 생성하고, 투플들을 삽입
 Oracle SQL Developer를 실행하고, 사용자 KIM으로 로그인
3장. 오라클
14
3.3 환경 설정(계속)
 실습 예제(sampledata.sql )
 출판사 홈페이지에서 userCreate.sql을 다운로드한 후 [파일] → [열기]를 차례로
클릭하여 Oracle SQL Developer로 불러옴
 또는 [예제 3.2]의 내용을 직접 입력
3장. 오라클
15
3장. 오라클
16
3장. 오라클
17
3장. 오라클
18
3.3 환경 설정(계속)
 정의한 테이블과 뷰가 데이터베이스에 생성되었는가를 확인
 질의 입력창에 다음 명령을 입력하여 실행
SELECT * FROM tab;
 tab은 데이터베이스 내의 테이블에 관한 정보를 나타내는 데이터 사전 뷰
 TNAME은 테이블의 이름을 나타내고, TABTYPE은 테이블의 유형, 즉
테이블 또는 뷰를 나타냄
3장. 오라클
19
3.3 환경 설정(계속)
3장. 오라클
20
3.3 환경 설정(계속)
 DEPARTMENT 테이블의 구조 확인
 질의 입력창에 다음 명령을 입력하여 실행
DESCRIBE DEPARTMENT;
또는
DESC DEPARTMENT;
 이름은 DEPARTMENT 테이블에 속한 애트리뷰트들을 나타내고, 널?은
애트리뷰트가 널값을 허용하는가를 나타내며, 유형은 애트리뷰트의 데이터
타입과 길이를 의미
3장. 오라클
21
3.3 환경 설정(계속)
3장. 오라클
22
3.3 환경 설정(계속)
 DEPARTMENT 테이블의 내용 확인
 질의 입력창에 다음 명령을 입력하여 실행
SELECT * FROM DEPARTMENT;
3장. 오라클
23
3.3 환경 설정(계속)
 PROJECT 테이블을 생성
 질의 입력창에 다음 명령을 입력하여 실행
3장. 오라클
24
3.3 환경 설정(계속)
3장. 오라클
25
3.3 환경 설정(계속)
 PROJECT 테이블을 수정
 질의 입력창에 다음 명령을 입력하여 실행
ALTER TABLE PROJECT
ADD Manager NUMBER;
 방금 추가한 Manager 애트리뷰트를 삭제하기 위해서는 아래와 같은 명령을
실행
ALTER TABLE PROJECT DROP COLUMN Manager;
3장. 오라클
26
3.3 환경 설정(계속)
3장. 오라클
27
3.4 PL/SQL
 PL/SQL(Procedural Language/SQL)
 PL/SQL은 오라클에서 관계 데이터베이스를 위한 표준 데이터 언어인
SQL에 절차적인 언어의 기능(예를 들어, IF-THEN, WHILE 루프 등)을
추가하여 확장한 언어
 블록 위주의 언어
 기본적인 단위는 블록, 프로시저, 함수
3장. 오라클
28
3.4 PL/SQL(계속)
 기본적인 PL/SQL 블록 구조
 세 개의 섹션으로 구성됨
 begin으로 시작하는 실행절만 필수이고 나머지는 옵션
 선언절에서는 변수와 객체들을 선언
 실행절에서는 변수들을 처리(조작)
 예외 사항 처리절에서는 실행 중에 발생한 예외나 에러를 처리
 END 및 다른 PL/SQL문에는 문장 끝을 표시하기 위해 세미콜론을 써야 함
 주석은 여러 행에 걸쳐 쓰려면 /* 과 */ 사이에 입력하고, 한 행에 쓰는
주석은 시작 부분에 --을 표시
3장. 오라클
29
3.4 PL/SQL(계속)
 기본적인 PL/SQL 블록 구조(계속)
3장. 오라클
30
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장. 오라클
31
3.4 PL/SQL(계속)
 커서(cursor)
 질의가 다수의 행들을 결과로 반환할 때 커서를 선언해서 질의의 결과의 각
행을 처리하고, 현재 어떤 행을 처리하고 있는지 유지해야 함
 질의의 결과로 반환되는 행들은 활성 집합(active set)이라고 부르는 영역에
저장됨
 커서가 가리키는 행이 현재 행
3장. 오라클
32
3.4 PL/SQL(계속)
 커서를 사용하기 위해 필요한 네 단계
 블록의 선언절에서 커서를 선언
CURSOR 커서_이름 IS SELECT문;
 커서를 사용하기 전에 실행절에서 커서를 연다
OPEN 커서_이름;
 활성 집합에 있는 행을 한 번에 하나씩 차례대로 검색
FETCH 커서_이름 INTO 변수_리스트;
 질의 수행 결과에 대한 처리를 마치기 위해 커서를 닫음
CLOSE 커서_이름;
3장. 오라클
33
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
employee
title = :newtitle
CURRENT OF title_cursor;
3장. 오라클
34
3.4 PL/SQL(계속)
 PL/SQL의 예
 IF문과 FOR 반복문을 포함한 질의의 예
 다음 PL/SQL코드는 3번 부서의 사원들의 평균 급여가 2800000원
이상이면 3번 부서에 속한 사원들의 이름과 직책과 급여를 검색하고,
그렇지 않으면 “3번 부서의 평균 급여가 2800000 미만입니다.”라는
메시지를 인쇄
 dbms_output.put_line은 값을 화면에 출력하는 오라클의 프로시저
3장. 오라클
35
3.4 PL/SQL(계속)
3장. 오라클
36
3.4 PL/SQL(계속)
3장. 오라클
37