Tech.Computer/∟DB.oracle ()

패키지의 기초

ArtisAsset 2008. 1. 7. 17:37

패키지는 모듈의 하나의 랭크상의 존재이고, 복수의 변수나 정수, 커서나 모듈을 포함해, 그것들을 관리하는 것입니다.
패키지는 1개의 시스템이며, 1개의 프로그램이며, 1개의 집입니다.

1. 정보 공개와 은폐
패키지가 소유하는 데이터에는 크게 나누어 공개용과 비밀용의 두 종류가 있습니다.
복수의 데이터나 펑션을 필요로 해, 각각 공개용과 비밀 용무가 있다고 하는 것은, (객체 지향 프로그램)이라고 불리는 프로그램 기법으로, 대규모 프로그램 어플리케이션의 개발로 발생하는 문제에 대한 해결법입니다.

1) 대규모 어플리케이션 개발로 발생하는 문제
불특정 다수의 프로그래머가 같은 프로그램을 손대기 때문에, 데이터 파괴에 의한 버그가 발생합니다.

2. 패키지의 개요
패키지의 구성은 크게 두 가지로 분류합니다.
하나는 함수등을 선언하는 사양부분, 패키지 사양이라고 합니다.
다른 하나는 사양으로 선언된 함수등을 실제로 기술하는 본체 부분입니다.
패키지 사양은 필요가 없는 경우는 생략할 수 있습니다.

3. 패키지의 구문
사양 부분에 선언하는 커서나 함수, 프로시저는 단순한 선언만으로 프로그램 본체는 포함하지 않습니다.
사양의 변수와 본체의 변수에서는 같은 이름은 사용할 수 없습니다.
본체에 있는 BEGIN구는 패키지 자체의 실행부이며, 패키지 자신의 초기화로서 변수의 초기화 등에 사용합니다.

패키지 사양
PACKAGE 패키지 명칭
IS
 [ 변수의 선언 ]
 [ 커서 모듈의 선언(사양의 선언) ]
END [ 패키지의 명칭 ];
패키지 본체
PACKAGE BODY 패키지 명칭
IS
 [ 변수와 형의 선언 ]
 [ 커서의 선언(본체) ]
 [ BEGIN
  실행문]
[ EXCEPTION
  예외 핸들러 ]
END [ 패키지 명칭 ];

4. 퍼블릭 요소와 프라이베토 요소
패키지의 밖으로부터 참조 가능한 것을 퍼블릭 요소, 패키지의 안에 함수 등으로 부터만 참조할 수 없는 것을 프라이베토 요소라고 부릅니다.
퍼블릭 요소는 공개되어 프라이베토 요소는 비공개입니다.
패키지에 대한, 사양에 선언된 것은 퍼블릭 요소로서 외부에 공개되어, 본체에 선언된 것이 프라이베토 요소로서 외부에는 공개되지 않습니다.
단지, 함수나 프로시저는 퍼블릭이나, 프라이베토 겠지만, 그 실체는 모두 패키지의 본체에 있습니다.