PL/SQL이란 무엇인가요? 정식 명칭 및 Archi강의 설명

⚡ 스마트 요약

PL/SQL은 OracleSQL의 절차적 확장 기능으로, SQL의 데이터 조작 능력에 반복문, 조건문, 객체 지향 기능을 결합합니다. 고성능 처리를 위해 PL/SQL 블록, PL/SQL 엔진, 데이터베이스 서버로 구성된 3단계 아키텍처를 통해 실행됩니다.

  • 🧩 핵심 정의: PL/SQL은 SQL에 절차적 논리를 추가하는 절차적 언어 확장(Procedural Language Extensions)을 의미합니다.
  • 🏛️ Archi강의: PL/SQL 블록, PL/SQL 엔진 및 데이터베이스 서버는 함께 작동하여 코드를 처리합니다.
  • ⚙️ 엔진 분할: 엔진은 절차적 단위는 자체적으로 처리하고 SQL 부분은 데이터베이스 서버로 보냅니다.
  • 🧱 블록 유형: 익명 블록, 함수, 프로시저, 패키지, 트리거 및 타입은 PL/SQL의 주요 단위입니다.
  • 🚀 장점: 대량 SQL 실행, 긴밀한 SQL 통합, 이식성, 보안 및 객체 지향 지원.
  • ⚠️ 제한 사항 : 저장 프로시저는 메모리를 많이 사용하며 디버깅 기능이 제한적입니다.
  • 🔀 SQL과 PL/SQL 비교: SQL은 단일한 선언적 문장이고, PL/SQL은 SQL을 포함할 수 있는 절차적 블록입니다.

PL/SQL의 정식 명칭 및 Archi강의

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 Archi강의 다이어그램
PL / SQL Archi강의 다이어그램

PL/SQL 아키텍처는 주로 다음과 같은 세 가지 구성 요소로 이루어져 있습니다.

  1. PL/SQL 블록
  2. PL/SQL 엔진
  3. 데이터베이스 서버

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의 특징 및 장점

  1. SQL 문이 하나씩 실행되는 것이 아니라 일괄적으로 실행되므로 성능이 향상됩니다.
  2. 높은 생산성.
  3. SQL과의 긴밀한 통합.
  4. 완벽한 휴대성.
  5. 보안이 철저합니다.
  6. 객체 지향 프로그래밍 개념을 지원합니다.
  7. 확장성과 관리 용이성.
  8. 웹 애플리케이션 개발을 지원합니다.
  9. 서버 페이지 개발을 지원합니다.

PL/SQL의 단점

  1. PL/SQL의 저장 프로시저는 메모리를 많이 사용합니다.
  2. 저장 프로시저 디버깅 기능이 부족합니다.
  3. 기본 데이터베이스가 변경되면 프레젠테이션 레이어도 변경해야 합니다.
  4. 이는 백엔드 개발자와 프론트엔드 개발자의 역할을 완전히 분리하는 것은 아닙니다.
  5. 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 블록.

자주 묻는 질문

SQL은 한 번에 하나의 문장만 실행하는 선언적 언어입니다. PL/SQL은 반복문, 조건문, 오류 처리 등을 사용하여 문장들을 블록으로 묶는 절차적 언어이며, 그 안에 SQL을 포함시킬 수도 있습니다.

엔진은 블록의 절차적 부분을 자체적으로 처리하고 SQL 부분은 데이터베이스 서버로 전달합니다. 이러한 분리 덕분에 PL/SQL은 데이터 가까이에서 대량의 로직을 실행할 수 있습니다.

예. PL/SQL은 Oracle's의 독점 확장 기능이며, 다음과 함께 사용할 때 최상의 성능을 발휘합니다. Oracle 데이터베이스. 다른 데이터베이스들은 다음과 같은 자체적인 절차적 언어를 사용합니다. PostgreSQLPL/pgSQL 또는 SQL Server의 T-SQL.

예. AI는 설명을 바탕으로 프로시저나 트리거를 작성할 수 있고, 기존 코드를 한 줄씩 설명할 수도 있습니다. Rev비즈니스 규칙과 예외적인 상황에 대해서는 여전히 개발자의 판단이 필요하므로 출력 결과를 확인하십시오.

PL/SQL은 여러 개의 개별 문장을 보내는 대신 전체 코드 블록을 한 번에 서버로 전송합니다.これにより 네트워크 왕복 횟수가 줄어들고 관련 SQL 문들이 동시에 실행되어 대규모 워크로드의 처리량이 향상됩니다.

이 게시물을 요약하면 다음과 같습니다.