PL/SQL이란 무엇인가요? 정식 명칭 및 Archi강의 설명
⚡ 스마트 요약
PL/SQL은 OracleSQL의 절차적 확장 기능으로, SQL의 데이터 조작 능력에 반복문, 조건문, 객체 지향 기능을 결합합니다. 고성능 처리를 위해 PL/SQL 블록, PL/SQL 엔진, 데이터베이스 서버로 구성된 3단계 아키텍처를 통해 실행됩니다.

PL/SQL이란 무엇입니까?
Oracle PL / SQL PL/SQL은 SQL의 데이터 조작 능력과 절차적 언어의 처리 능력을 결합하여 강력한 SQL 쿼리를 생성하는 SQL 언어의 확장입니다. PL/SQL은 데이터베이스의 보안, 이식성 및 안정성을 향상시켜 SQL 문의 원활한 처리를 보장합니다.
PL/SQL은 SQL을 통해 컴파일러에게 "무엇을 할 것인가"를 지시하고, 절차적 방식을 통해 "어떻게 할 것인가"를 지시하는 언어입니다. 다른 데이터베이스 언어와 마찬가지로, 반복문, 조건문, 객체 지향 개념을 활용하여 프로그래머에게 더 많은 제어권을 제공합니다. PL/SQL의 정식 명칭은 "SQL에 대한 절차적 언어 확장(Procedural Language extensions to SQL)"입니다.
PL/SQL 전체 형식
PL/SQL은 "구조적 쿼리 언어에 대한 절차적 언어 확장"을 나타냅니다. PL/SQL은 Oracle 기업의 절차 확장 SQL 그리고 Oracle 관계형 데이터베이스. 고성능, 고도로 통합된 데이터베이스 언어입니다.
PL/SQL 개발자란 무엇인가요?
PL / SQL 개발자 는 소프트웨어 개발에 사용되는 통합 개발 환경입니다. Oracle PL/SQL Developer IDE는 데이터베이스 환경을 구축하고 다양한 데이터베이스 작업을 손쉽게 수행할 수 있도록 지원하는 GUI와 플러그인을 제공합니다.
ArchiPL/SQL 강의
아래 예시는 PL/SQL 아키텍처를 그림으로 나타낸 것입니다.

PL/SQL 아키텍처는 주로 다음과 같은 세 가지 구성 요소로 이루어져 있습니다.
- PL/SQL 블록
- PL/SQL 엔진
- 데이터베이스 서버
PL/SQL 블록
- 이 부분이 실제 PL/SQL 코드가 포함된 구성 요소입니다.
- 코드는 논리적으로 여러 부분으로 나뉘는데, 선언 부분을 위한 선언 섹션, 명령문을 처리하는 실행 섹션, 그리고 오류를 처리하는 예외 처리 섹션이 있습니다.
- 또한 데이터베이스 서버와 상호 작용하는 데 사용되는 SQL 명령어가 포함되어 있습니다.
- 모든 PL/SQL 유닛은 다음과 같이 처리됩니다. PL/SQL 블록그리고 이것이 아키텍처의 시작 단계이며, 주요 입력값 역할을 합니다.
PL/SQL 유닛의 종류는 다음과 같습니다.
- 익명 블록
- 함수
- 도서관
- 순서
- 패키지 본체
- 패키지 사양
- 트리거
- 타입
- 유형 본체
PL/SQL 엔진
- PL/SQL 엔진은 코드의 실제 처리가 이루어지는 구성 요소입니다.
- 이는 입력에서 PL/SQL 단위와 SQL 부분을 분리합니다.
- 분리된 PL/SQL 단위는 PL/SQL 엔진 자체에서 처리됩니다.
- SQL 부분은 데이터베이스 서버로 전송되고, 데이터베이스와의 실제 상호 작용은 그곳에서 이루어집니다.
- 이 소프트웨어는 데이터베이스 서버와 애플리케이션 서버 모두에 설치할 수 있습니다.
데이터베이스 서버
- 이는 PL/SQL 유닛에서 가장 중요한 구성 요소로, 데이터를 저장하는 역할을 합니다.
- PL/SQL 엔진은 PL/SQL 유닛의 SQL을 사용하여 데이터베이스 서버와 상호 작용합니다.
- 이는 입력된 SQL 문을 구문 분석하고 실행하는 SQL 실행기로 구성됩니다.
PL/SQL의 특징 및 장점
- SQL 문이 하나씩 실행되는 것이 아니라 일괄적으로 실행되므로 성능이 향상됩니다.
- 높은 생산성.
- SQL과의 긴밀한 통합.
- 완벽한 휴대성.
- 보안이 철저합니다.
- 객체 지향 프로그래밍 개념을 지원합니다.
- 확장성과 관리 용이성.
- 웹 애플리케이션 개발을 지원합니다.
- 서버 페이지 개발을 지원합니다.
PL/SQL의 단점
- PL/SQL의 저장 프로시저는 메모리를 많이 사용합니다.
- 저장 프로시저 디버깅 기능이 부족합니다.
- 기본 데이터베이스가 변경되면 프레젠테이션 레이어도 변경해야 합니다.
- 이는 백엔드 개발자와 프론트엔드 개발자의 역할을 완전히 분리하는 것은 아닙니다.
- HTML 개발과 PL/SQL 개발을 분리하기는 어렵습니다.
SQL과 PL/SQL의 차이점
다음은 두 가지 사이의 몇 가지 중요한 차이점입니다. SQL 및 PL/SQL:
| SQL | PL / SQL |
|---|---|
| SQL은 DML 및 DDL 작업을 수행하는 데 사용되는 단일 쿼리입니다. | PL/SQL은 프로그램 블록, 프로시저, 함수 등을 작성하는 데 사용되는 코드 블록입니다. |
| 이는 선언적인 방식으로, 어떻게 해야 하는지가 아니라 무엇을 해야 하는지를 정의합니다. | 절차적인 측면으로, 일을 어떻게 해야 하는지를 정의합니다. |
| 단일 명령문으로 실행됩니다. | 전체 블록으로 실행됩니다. |
| 주로 데이터를 조작하는 데 사용됩니다. | 주로 애플리케이션을 만드는 데 사용됩니다. |
| 데이터베이스 서버와 직접 상호 작용합니다. | 해당 블록 자체는 직접적인 상호 작용이 없으며, SQL 부분이 상호 작용합니다. |
| PL/SQL 코드를 포함할 수 없습니다. | SQL의 확장 기능이므로 그 안에 SQL을 포함할 수 있습니다. |
PL/SQL이 어떻게 구성되는지 살펴보았으니, 다음 단계는 PL/SQL의 기본 구성 요소를 배우는 것입니다. 이는 다음 항목에서 다룹니다. PL/SQL 블록.
