본문 바로가기

Database/Oracle Database

Oracle Application Express 개요 & 샘플 - 3.1. APEX 사용 샘플 #1 - 로컬 테이블을 이용한 Report 생성

이전 글: 2022.04.18 - [Database/Oracle Database] - Oracle Application Express 개요 & 샘플 - 2. APEX/ORDS 설치

APEX 사용 샘플 #1 - 로컬 테이블을 이용한 Report 생성

APEX 설치와 ORDS 설정이 끝났습니다. 이제부터는 APEX로 REST API로 데이터를 로컬 테이블로 가져와서 리포트를 만드는 테스트를 해 보겠습니다. 이를 위해 먼저 데모용 Workspace를 만들어 진행하겠습니다.

 

Workspace 생성

Workspace는 APEX의 공유 작업 영역입니다. 가상의 컨테이너로서 오브젝트, 데이터, 어플리케이션을 비공개로 유지할 수 있는 영역입니다. APEX로 로그인할 때 이 Workspace를 지정해야 접속을 할 수 있기 때문에 어플리케이션을 만들기 전에 Workspace를 만들어야 합니다.

ADMIN으로 접속해서 상단 메뉴의 Manange Workspace를 클릭하면 나오는 화면에서 Workspace Actions 섹션의 Create Workspace를 클릭합니다.

 

Workspace Name을 입력하고 Next를 클릭합니다. 여기에서는 “DEMO”라고 입력했습니다.

 

Identify Schema 화면에서 Re-use existing schema 선택란에서 기존 스키마를 사용할 것이므로 YES로 선택했습니다. Schema Name에서는 팝업 버튼을 눌러서 나온 “PDBADMIN”을 선택했습니다. Next를 클릭합니다.

 

앞으로 사용할 Workspace 관리자 유저명과 패스워드를 입력하고 Next를 클릭합니다.

 

앞서 설정한 내용을 확인하고, Create Workspace를 클릭합니다.

 

“DEMO”라는 이름의 Workspace가 만들어졌습니다. Done을 클릭합니다.

 

만든 Workspace에 접속하기 위해 오른쪽 상단의 admin 버튼을 클릭하여 나오는 Sign Out을 클릭해서 Internal Workspace에서 로그오프 한 다음, 아래와 같이 DEMO workspace에 로그인합니다.

 

최초 로그인을 하면 해당 Workspace 관리자 계정이 사용할 패스워드를 변경하는 창이 나타납니다. 패스워드를 변경하고 Change Password를 클릭합니다.

 

이제 APEX 어플리케이션을 만들 준비가 되었습니다.

 

로컬 테이블 생성

테스트에 이용할 데이터는 UN에서 제공하는 csv 포맷의 국가별 의료인력 데이터입니다. 로컬 테이블을 만들어 이 데이터를 로딩할 것입니다.

먼저 Quick SQL 기능을 이용해서 로컬 테이블을 만듭니다. Quick SQL은 SQL 테이블, 트리거 및 인덱스 구조를 생성하는 데 필요한 시간과 노력을 줄이기 위한 APEX 기능입니다. 간단한 테이블 및 뷰 스크립트를 빠르게 개발할 수 있는 방법으로 SQL이 생성되면 이를 조정하고 확장할 수 있습니다.

테스트 테이블, 데이터 생성에 앞서 테스트 환경인 PDB에 접속해서, 데이터베이스 연동에 사용될 데이터베이스 유저 pdbadmin에 관련 권한을 부여합니다. 여기에서는 테스트 환경이기 때문에 dba와 unlimited tablespace 권한을 부여했습니다.

SQL> show con_name user
 
CON_NAME
------------------------------
ORCLPDB1
USER is "SYS"
SQL> grant dba, unlimited tablespace to pdbadmin;
 
Grant succeeded.

 

APEX 상단 메뉴에서 SQL Workshop > SQL Scripts 로 이동합니다. SQL Scripts 화면에서 Quick SQL을 클릭합니다.

 

Quick SQL 왼쪽 창에 아래 내용을 붙여넣고, Generate SQL을 클릭하면 오른쪽 창에 DDL 스크립트가 생성됩니다. 그리고 Save SQL Script를 클릭해서 생성된 스크립트를 먼저 저장합니다.

health_personnel
 Region_code
 Region_name
 Year num
 Series
 Value num

 

저장할 스크립트 이름을 입력하고 Save Script를 클릭해서 이를 저장합니다. 여기에서는  “Health Personnel”이라고 입력했습니다.

 

이제 “RUN”을 클릭해서 스크립트를 실행합니다.

 

스크립트의 실행 관련 내용을 확인하고, Run Now를 클릭합니다.

 

실행 결과를 확인합니다. SQL문 처리 수, 성공과 실패 횟수를 확인할 수 있습니다.

 

어플리케이션 생성

APEX 어플리케이션(Application, 이하 한글로 표기)은 테이블, 프로시저 같은 데이터베이스 오브젝트를 기반으로 구성된 HTML 인터페이스로서 네비게이션 메뉴, 탭, 버튼 또는 하이퍼텍스트 링크를 사용하여 함께 연결된 페이지 모음입니다. 애플리케이션 페이지는 공통 세션 상태와 인증을 공유합니다.

데이터베이스 어플리케이션을 생성하기 위해서는 APP Builder를 실행하여 페이지(Page, 이하 한글로 표기)와 네비게이션 을 선언적으로 조합합니다. 개별 페이지는 Region이라는 컨테이너를 사용하여 구성됩니다. Region에는 텍스트, 사용자 정의 PL/SQL, 보고서, 차트, 지도, 달력, 웹 서비스 콘텐츠 또는 Form이 포함될 수 있습니다. Form은 다양한 기본 제공 유형(예: 텍스트 필드, 텍스트 영역, 라디오 그룹, 선택 목록, 확인란, 날짜 선택기 및 값의 팝업 목록)에서 선택할 수 있는 필드(Item)로 구성됩니다.

어플리케이션을 생성하기 위해 APEX 초기 화면의 App Builder에서 주로 합니다. 그러나 테이블 생성 후, 바로 이를 기반으로 Report와 Form을 가진 어플리케이션을 쉽게 생성할 수도 있습니다. 앞서 테이블을 생성했던 화면에서 Create App을 클릭합니다.

 

대화창 하단의 Create Application을 클릭합니다.

 

Create Application wizard에서 Name을 입력합니다. 여기에서는 “DEMO Application”이라고 입력했습니다. 하단의 Features 섹션에서 Check All을 클릭해서 APEX 어플리케이션에서 기본으로 제공하는 관리용 웹 페이지들도 생성했습니다.

 

어플리케이션이 만들어졌습니다. 어플리케이션 홈페이지에서 Run Application을 클릭하여 생성한 어플리케이션 화면을 확인합니다.

 

Workspace에서 로그인했던 유저명, 패스워드를 입력하고 Sign In 합니다.

 

생성한 어플리케이션 페이지를 확인할 수 있습니다. Personnel을 클릭하면 데이터가 아직 업로드되어 있지 않기 때문에 현재는 비어있는 페이지입니다.

 

<END>

 

다음 글:

2022.04.18 - [Database/Oracle Database] - Oracle Application Express 개요 & 샘플 - 3.2. APEX 사용 샘플 #1 - 로컬 테이블을 이용한 Report 생성