개인 재정 PL / SQL이 좋은 이유는 무엇입니까? - 더미 (dummy)

PL / SQL이 좋은 이유는 무엇입니까? - 더미 (dummy)

차례:

비디오: S-Q-L or SEQUEL? | Intro to SQL: Querying and managing data | Computer programming | Khan Academy 2024

비디오: S-Q-L or SEQUEL? | Intro to SQL: Querying and managing data | Computer programming | Khan Academy 2024
Anonim

PL / SQL은 데이터베이스에 상주하는 코드를 작성할 때 사용할 언어입니다. 다음 기사에서는 PL / SQL이 유용한 여러 가지 상황을 살펴 보겠습니다.

데이터베이스 트리거 사용

트리거 는 DBMS 내의 이벤트로 일부 코드가 자동으로 실행될 수 있습니다. 네 가지 유형의 데이터베이스 트리거가 있습니다.

  • 테이블 수준 트리거 는 INSERT, UPDATE 또는 DELETE 이벤트 전후에 활동을 초기화 할 수 있습니다. 이들은 주로 히스토리 정보 및 데이터베이스 변경 사항을 추적하고 중복 데이터를 동기화하거나 특정 작업이 발생하지 않도록하여 보안을 향상시키는 데 주로 사용됩니다.
  • 보기 수준 트리거 는 매우 유용합니다. 뷰 는 개발자가 데이터베이스 테이블 자체처럼 쿼리 할 수있는 저장된 SQL 문입니다. 뷰에 INSTEAD OF 트리거를 배치하면 INSTEAD OF 트리거가 뷰에 수행 할 수있는 작업을 정의하기 때문에 INSERT, MODIFY 및 DELETE 명령은 복잡성에 관계없이 뷰에 적용될 수 있습니다.
  • 데이터베이스 수준 트리거 는 시작 및 종료시 활성화 할 수 있습니다. 예를 들어, 데이터베이스가 시작되면 다른 데이터베이스 또는 웹 서비스의 가용성을 테스트 할 수 있습니다. 데이터베이스를 종료하기 전에 다른 데이터베이스와 웹 서비스에 데이터베이스가 오프라인이되었음을 알릴 수 있습니다.
  • 세션 수준 트리거 는 특정 정보를 저장하는 데 사용할 수 있습니다. 예를 들어 사용자가 로그온하거나 로그 오프 할 때 사용자의 기본 설정이 포함 된 코드를 실행하여 빠른 액세스를 위해 메모리에로드 할 수 있습니다. 세션이 닫히면 트리거는 나중에 사용할 수 있도록 환경 설정을 저장할 수 있습니다.

속도로 스크립팅

코드를 작성할 때 코드의 일부를 입력하여 데이터베이스에 저장하지 않고 실행할 수있는 기능이 유용합니다. Oracle은 모든 PL / SQL IDE에서 지원되는이 기능을 제공합니다.

코드 서버 측 유지

대부분의 PL / SQL 코드는 프로그램 단위로 서버에 저장됩니다. 일반적인 응용 프로그램에는 많은 코드 행이 있습니다.

일부 프로그래머, 특히 웹 기반 개발자는 J2EE 또는. NET 환경에서 Java (J2EE 개발자 용) 또는 VB의 응용 프로그램 서버에 대부분의 코드를 작성하십시오. NET (. NET 개발자 용). 이것은 좋은 습관이 아닙니다. 데이터베이스 응용 프로그램에서 논리의 대부분은 정보를 검색하고 업데이트하는 데 사용됩니다. 이 타스크를 수행하는 코드가 응용 프로그램 서 v에 상주하면 네트워크를 통해 데이터베이스에 요 청을 보내야합니다. 그런 다음 데이터베이스는 요청을 처리하고 응용 프로그램이 처리 할 수 ​​있도록 네트워크를 통해 정보를 다시 보내야합니다.네트워크와 컴퓨터가 매우 빨라 졌기 때문에, 이것은 단지 1 초의 짧은 시간이 걸릴 것이라고 생각할 수도 있습니다. 비록 이것이 하나의 요청에 대한 경우이지만, 매우 복잡한 응용 프로그램이 데이터베이스와의 상호 작용을 수백만 또는 수 억 가지 요구하는 경우 상호 작용 수를 초 단위로 곱하면 성능이 매우 저하 될 수 있습니다. 애플리케이션이 수백, 수천 또는 수만 명의 사용자에 의해 동시에 액세스되는 경우 데이터베이스 요구가 적어 비교적 단순한 작업 일지라도 문제가 될 수 있습니다. 응용 프로그램 서버에서 실행되는 모든 코드를 작성하는 것보다 서버 측 코딩을 사용하지 않고 데이터베이스 집약적 인 응용 프로그램을 작성하는 것이 훨씬 더 어렵습니다.

서버 측 코드를 작성하는 것에 대한 논쟁 중 하나는 애플리케이션이 이식 가능하지 않다는 것입니다 (한 플랫폼에서 다른 플랫폼으로 이동할 수 없음). 그러나 오라클을 사용하는 대부분의 조직에서는 오랜 기간 (10 년 이상) 오라클을 사용하고 있으며 다른 플랫폼으로의 전환을 고려하지 않습니다. 또한 웹 개발은 현재 급속도로 진행되고 있습니다. 조직은 자주 변경됩니다. NET, J2EE 및 기타 웹 기반 응용 프로그램 개발 환경을 지원합니다.

둘다. NET 및 J2EE 환경은 유동적입니다. J2EE 환경에서 1 년 전에 웹 개발 업계 표준은 JSP (JavaServer Page)를 만드는 것이 었습니다. 현재 업계 표준은 JSP / Struts 환경에서 작업하는 것입니다. 내년에는 JavaServer Faces (JSF)가 업계 표준이 될 것입니다. 따라서 중간 계층에 작성된 코드는 나중에 다시 작성해야 할 높은 위험을 초래합니다.

서버 측 코드는 더 빠르게 실행되고 유지 관리 및 테스트가 쉬우 며 중간 계층에 배치 된 코드보다 변경하기 쉽습니다. 따라서 데이터베이스에서 응용 프로그램의 중요한 부분을 만드는 것이 더 나은 방법입니다.

응용 프로그램의 일부:

PL / SQL 프로그램 단위는 일련의 값 (함수) 또는 PL / SQL 루틴을 반환 할 수 있습니다 데이터베이스 조작 (프로 시저)을 수행 할 수 있습니다. 이러한 함수 및 프로시 저는 SQL 문에서 사용되는 다른 함수 및 프로 시저 또는 함수의 경우 호출 될 수 있습니다. PL / SQL 루틴은 필요한만큼 크고 복잡 할 수 있습니다. 일부 복잡한 루틴에는 수천 줄의 코드가 포함될 수 있습니다. 전체 시스템에는 수백만 줄의 코드가 포함될 수 있습니다.

  • 뷰에 내장 된 PL / SQL 코드: 오라클은 코드를 데이터베이스 뷰에 임베드 할 수 있습니다. 코드는 실제로보기의 두 위치 중 하나에 위치 할 수 있습니다. 먼저 쿼리 된 테이블의 일부이거나 아닌 추가 정보를 검색하기 위해 SQL 문의 SELECT 부분에 값을 반환하는 올바르게 조작 된 함수를 배치 할 수 있습니다.
  • 보기에서 INSTEAD OF 트리거에 PL / SQL을 포함시킬 수도 있습니다. 이러한 트리거를 사용하면 복잡한 뷰에서 INSERT, UPDATE 및 DELETE 조작을 수행 할 수 있으며 PL / SQL은 이러한 조작을 처리하는 방법을 프로그래밍 방식으로 처리합니다. 배치 루틴: 대량의 레코드를 동시에 처리하는
  • 배치 루틴
  • 실행 코드. 시스템의 모든 고객에 대한 송장 생성 또는 전체 조직에 대한 급여 검사 처리는 일괄 처리 루틴의 예입니다. 이러한 루틴은 대개 크고 복잡하며 데이터베이스 집약적입니다. 이러한 유형의 루틴은 PL / SQL로 작성해야합니다.

PL / SQL이 좋은 이유는 무엇입니까? - 더미 (dummy)

편집자의 선택

디지털 SLR로 풍경 촬영을위한 5 가지 팁 - dSLR로 풍경 촬영하기

디지털 SLR로 풍경 촬영을위한 5 가지 팁 - dSLR로 풍경 촬영하기

그들이있는 곳으로 가야합니다. 스튜디오의 탁자에 놓거나 지역 공원에서 테이블을 만날 수는 없습니다. 교통 수단과 여행 수단을 찾아야합니다. 다른 사실은 당신이 날씨와 햇빛을 상대 할 것이라는 것입니다.

디지털 SLR을 사용하여 촬영하는 도시와 건물 - 인형

디지털 SLR을 사용하여 촬영하는 도시와 건물 - 인형

건물과 도시는 인간이 만든 풍경. 강에서의 일몰과 마찬가지로 사진 촬영에 많은 기술을 사용하게됩니다. 건물을 촬영할 때 프레임과 방향이 중요합니다. 다행히도,보기가 좋고 조명이 건물 밖으로 보일 때 하나 이상의 장소를 찾을 수 있습니다 (또는 ...

디지털 SLR과 함께 액션 샷 촬영을위한 5 가지 팁 -

디지털 SLR과 함께 액션 샷 촬영을위한 5 가지 팁 -

셔터 속도. 셔터 속도, 셔터 속도. DSLR로 액션 샷을 찍으려면 셔터 속도를 최우선으로해야합니다. 나머지는 보조입니다. 가능한 한 가장 큰 조리개 값을 사용하고 필요한만큼 ISO를 올리십시오. 흐릿한 액션 샷은 인쇄 및 프레이밍 할 가치가 없습니다. ...

편집자의 선택

함수를 통해 PHP 프로그램의 코드 재사용 - 더미

함수를 통해 PHP 프로그램의 코드 재사용 - 더미

Auto_prepend_file의 도움으로 함수 파일은 모든 PHP 프로그램에 자동으로 포함됩니다. 이 함수는 세션을 시작하는 것처럼 간단 할 수도 있고 전체 로그인 함수처럼 복잡 할 수도 있습니다. 하나 이상의 파일에 함수가 필요하다고 생각하거나 필요하다고 생각할 때마다 ...

PHP 스크립트 문제 해결 - 더미

PHP 스크립트 문제 해결 - 더미

실수없이 스크립트를 작성할 수는 없습니다. 트릭은 자신을 인식하고, 눈을 돌리고, "다시는 아니"라고 말하고, 그냥 고쳐 주도록 훈련하는 것입니다. 여러 번 표시되는 오류 메시지 중 하나는 구문 분석 오류 : C : test의 구문 분석 오류입니다. PHP on line 7 이것은 PHP가 말하는 "어? "의미합니다 ...

PHP 문을 사용하여 프로그램 만들기 - 더미

PHP 문을 사용하여 프로그램 만들기 - 더미

PHP 프로그램은 한 번에 하나씩 실행되는 일련의 PHP 문입니다 . 다음은 PHP 프로그램을 작성할 때 사용하는 구문 (구문 포함) 목록입니다. array ( "key"=> "value", ...); 죽는다 ( "메시지"); do {block} while (condition); 에코 아이템; 추출 ($ 배열); PHP / MySQL for Dummies 치트 시트 PHP 프로그램은 일련의 PHP 구문으로, 다음 중 하나에서 실행됩니다. (예 : beginval, endingval, incremnt) {block} foreach ($ array as ...

편집자의 선택

네트워크 문제 해결 : 죽은 컴퓨터 고정하기 - 네트워크 관리자로서

네트워크 문제 해결 : 죽은 컴퓨터 고정하기 - 네트워크 관리자로서

죽은 사람을 부활시키기 위해 부름 받음 . 컴퓨터가 완전히 죽은 것처럼 보일 때 검사 할 수있는 몇 가지 문제 해결 방법이 있습니다 : 컴퓨터가 꽂혀 있는지 확인하십시오. 컴퓨터가 서지 방지기 또는 멀티탭에 연결되어있는 경우 서지 방지기 또는 ...

네트워크 문제 해결 : 클라이언트 컴퓨터 재부팅 - 더미

네트워크 문제 해결 : 클라이언트 컴퓨터 재부팅 - 더미

가끔 네트워크에 연결된 컴퓨터가 문제를 일으키는 경우가 있습니다. 당신이 할 수있는 유일한 일은 재부팅입니다. 경우에 따라 컴퓨터가 이상한 행동을 시작합니다. 이상한 문자가 화면에 나타나거나 Windows가 엉망이되어 프로그램을 종료 할 수 없습니다. 때로는 컴퓨터가 너무 혼란스러워 지기도합니다 ...

네트워크 검증 : Pinging-Dummies

네트워크 검증 : Pinging-Dummies

네트워크가 제대로 작동하는지 확인하기 위해 수행 할 수있는 기본 테스트는 명령 프롬프트에서 Ping 명령을 사용하여 네트워크의 컴퓨터가 서로 연결할 수 있는지 확인하십시오. ping 명령은 단순히 다른 컴퓨터로 패킷을 보내고 두 번째 컴퓨터에서 패킷을 보내도록 요청합니다.