본문내용 바로가기

> 제이펍 > 칼럼 자세히 보기

칼럼
리스트보기

당신의 생산성을 극대화시켜주는 PL/SQL

2017.07.05
 
 
당신의 생산성을 극대화시켜주는 PL/SQL
 
 
오라클 데이터베이스를 사용하기 시작한 지 20년도 더 지났지만, SQL을 제외하고는 PL/SQL만큼 쉽고 간단하게 사용할 수 있는 데이터베이스용 언어는 아직 보지 못했다. 자바나 C#, php와 같은 프로그래밍 언어는 전용의 컴파일러나 실행 환경을 필요로 하지만 PL/SQL은 이런 것들이 전혀 필요치 않고 오라클 데이터베이스만 있다면 즉시 사용할 수 있다. 게다가 플랫폼에 따르는 의존성도 없어서 한 번 작성한 프로그램은 PC에서부터 메인프레임까지 어떤 운영체제에 설치된 오라클에서나 수정 없이 동일하게 실행될 수 있다. DBMS 버전에 따른 기능과 성능의 차이만 있을 뿐, 애초부터 PL/SQL에는 이식성이라는 개념 자체가 존재하지 않는다. 개발자들에게는 최고의 생산성을 제공하는 도구임에 틀림 없다. 나도 현장에서 사용하는 많은 도구들을 PL/SQL 언어로 작성해 사용하고 있다.
 
오라클 데이터베이스뿐만 아니라 어떤 관계형 데이터베이스를 사용하더라도 반드시 익혀야 하는 필수 언어는 관계형 데이터베이스의 공식 언어인 SQL(Structured Query Language)이다. SQL을 모르고서는 당연히 오라클 데이터베이스를 전혀 사용할 수 없다. 그렇다면 PL/SQL은 어떤가? PL/SQL을 모른다고 오라클을 사용하지 못하는 것은 아니다. 하지만 PL/SQL을 안다면 SQL만 아는 것보다는 오라클을 몇 배 더 잘 활용할 수 있다. SQL은 집합적인 언어여서 간단한 서술만으로 원하는 데이터를 조회할 수 있는 매우 강력한 기능을 제공하지만, 데이터 처리 로직이 복잡해져서 조건 판단, 순차 처리, 반복 등의 절차적 처리가 필요하게 되면 SQL만으로 이를 구현하기는 어려울 수 있다. PL/SQL SQL의 이런 약점을 보완하기 위해서 태어난 언어이다. PL/SQLSQL로 구현하기 어려운 절차적인 처리를 데이터베이스 수준에서 쉽게 구현할 수 있게 해준다. PL/SQL을 사용한다면 여러분의 데이터베이스 응용 프로그램은 더 효율적이 되고, 훨씬 강력해진다.
 
PL/SQL 3세대 프로그래밍 언어가 가진 핵심 기능을 대부분 가지고 있다. SQL문이 마치 PL/SQL 프로그래밍 언어의 일부인 것처럼 사용할 수 있는 것은 물론이고, IF문이나 CASE문이나 GOTO문과 같은 분기문, LOOP문이나 WHILE문이나 FOR문과 같은 순환문을 사용할 수 있다. Associative Array, VARRAY, Nested Record와 같은 컬렉션을 기본적으로 사용할 수 있고, 레코드를 사용하여 데이터를 구조적으로 다룰 수 있다. 또한 의도하지 않은 상황에 부딪히거나 오류가 발생하는 경우에는 예외 처리를 사용하여 이를 구조적으로 처리할 수 있게 해 준다. 이 것들은 시작에 불과하며, 오라클은 내장 함수와 패키지 같은 API를 통해 훨씬 더 많은 강력한 기능들을 제공한다. PL/SQL은 관계형 데이터베이스에 강력한 절차적 프로그래밍 언어를 긴밀하게 결합시켜 오라클 데이터베이스 프로그래밍 효율을 극대화시킨다.
 
뭐니 뭐니 해도 PL/SQL의 꽃은 저장 서브프로그램이라고 할 수 있다. PL/SQL로 작성한 함수, 프로시저, 패키지, 트리거, 객체타입과 같은 저장 서브프로그램은 데이터베이스 내부에 저장되고 실행될 수 있다. PL/SQL이 탄생하기 전의 오라클 데이터베이스는 전적으로 데이터만을 저장하는 데이터베이스였다. PL/SQL이 등장하면서 오라클 데이터베이스는 데이터뿐만 아니라 데이터를 처리하기 위한 비즈니스 로직까지도 함께 저장할 수 있게 되었다. 저장 서브프로그램은 비즈니스 처리 로직을 서버에서 관리함으로써 데이터 처리 로직의 재사용성과 표준화, 모듈화를 향상시키고 유지보수를 용이하게 하며, 처리 성능을 개선시킬 수 있게 한다. 또한 자바 저장 프로시저(Java Stored Procedure)는 강력한 자바 라이브러리를 활용하여 PL/SQL만으로는 처리하기 어려운 기능들을 자바 언어로 작성할 수 있게 해 준다.
 
개발자에게 있어서 SQL은 공기나 물과 같은 자유재처럼 당연히 알아야 하는 기본 중의 기본 언어이지만, PL/SQL은 알면 부가가치가 붙는 희소재이다. PL/SQL을 사용할 줄 아는 개발자는 SQL만을 아는 개발자보다 더 좋은 무기를 가지고 있는 것이다. 이제 PL/SQL이라는 강력한 아이템을 갈고 닦아서 당신의 능력치를 극대화시켜 보도록 하자.
 
개발자를 위한 PL/SQL 프로그래밍 [컴퓨터/IT]  개발자를 위한 PL/SQL 프로그래밍
나장근 | 제이펍
2017.06.30
I 제이펍 제공
리스트보기

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품