인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

junhui0386님의 프로필 이미지

작성한 질문수

Oracle PL/SQL 딱 이만큼.. [개념+실전]

PL/SQL을 사용하면 어떤 장점이 있나요?

작성

·

54

0

선생님 덕분에 음~청 두꺼운 책을 본다던지 완전 비효율적으로 학습하는 것을 피할수 있는 것 같아요.

그리고 선생님 노하우나 경험도 잘 듣고 있어요,,,

첨부해 주신 강의자료는 책이라기 보다는 발표를 위한 ppt자료 같아서 제가 따로 필기나 자료를 첨부하면서 꼼꼼히 학습을 하고 있는데요,,

 

"주문서 생성에 대한 고민(w/Application)" 부분을 강의 보다 보니 까요

결국 PL/SQL을 사용하면 애플리케이션을 사용하는 것 보다 어떤 장점이 있고, 어떤것을 기준으로 2가지의 선택지 중에서 택해야 하는지에 대한 설명이 없어요 ㅠ

 

PL/SQL을 쓰면 도대체 왜 좋나요? 이를테면 디비 커넥션 하나에 한방쿼리 만들어서 쏙 보내면 속도 빨라져서 좋은것인가요? 그리고 실무 경험에 대한 노하우도 조금 더 담겨 있었으면 좋겠어요, 배치프로그램? 스케줄러? 등등 이요ㅎㅎ 대강 감으로는 알겠는데 살짝 궁금해서 간지러워요 ㅎㅎ

 

그리고 이것 저것 대명사 보다는 조금더 구체적인 단어로 설명해 주시면 좋겠어요, "쏙 보내면" 어디에 쏙 보내는지를 초보자는 몰라요 ㅎㅎ

답변 2

0

IT늦공 김부장님의 프로필 이미지
IT늦공 김부장
지식공유자

안녕하세요.
강의를 듣고 세심한 피드백/질문에 감사 드립니다.

말씀하신 내용 정말 저도 공감하는 부분입니다.
강의를 만들때마다 처음 접하시는 분들이 이런 부분들을 궁금해 할거다 라는 생각을 왜 못했을까
저 스스로도 뒤늦게 아쉬움이 남곤 합니다.

글이 길어지겠지만, 이곳에 그래도 답변을 드려 보겠습니다.

결국 PL/SQL을 사용하면 애플리케이션을 사용하는 것 보다 어떤 장점이 있고,
어떤것을 기준으로 2가지의 선택지 중에서 택해야 하는지에 대한 설명이 없어요 ㅠ

-> PL/SQL 은 그 자체로 독립적인 프로그램 입니다.
이 프로그램을 어플리케이션에서 가져다 사용할수도 있고, 직접 DB(Toad, SQLDeveloper, SqlPlus)에서 콜해서 사용도 가능하구요.
상황에 따라 어떻게 사용할지는 사용자의 선택인데, 최근에는 어플리케이션에서 PL/SQL을 호출하기 보다는 직접 프로그램(Java 등) 단위에서 프로그램을 작성하는 추세입니다.
하지만, 전산실 자체적으로 어플리케이션이 아닌 내부 운영업무에서 주문등의 처리를 해줘야 할 경우가 발생합니다.(제 경험상 생각보다 빈번히 발생합니다.)
이럴경우 전체 주문프로그램 프로세스를 PL/SQL 에 작성하면 정말 편하게 운영이 가능합니다.

PL/SQL을 쓰면 도대체 왜 좋나요?
이를테면 디비 커넥션 하나에 한방쿼리 만들어서 쏙 보내면 속도 빨라져서 좋은것인가요?

-> 네 맞습니다. PL/SQL 을 사용하면 해당 프로시저를 한번 콜하면 DBMS 내부에서 프로그램이 실행되어 처리 속도가 빨라지게 됩니다. 또한 어플리케이션 프로그램도 단순해지구요.
하지만, 이럴경우 개발자가 오류등이 발생할때 PL/SQL 관련해서 담당자에게 확인을 해야 하는 번거로움등으로 최근에는 어플리케이션에 넣어서 사용하는 경우는 줄어들고 있습니다.
하지만, 내부 운영에서는 편하게 사용할 수 있는 부분이라 여전히 매력적이라 생각합니다.

그리고 실무 경험에 대한 노하우도 조금 더 담겨 있었으면 좋겠어요,
배치프로그램? 스케줄러? 등등 이요ㅎㅎ 대강 감으로는 알겠는데 살짝 궁금해서 간지러워요 ㅎㅎ

-> 궁금하신 부분들은 좀더 강의를 보면서 익히시다보면 감을 잡으실 수 있지 않을까 생각합니다.
PL/SQL 을 내부 운영한다는건 어쩌면 DB를 직접 만지는것과 같기 때문에 상당히 강력한 도구입니다.
부족하지만, 제가 실무에서 운영하는 부분의 엑기스를 다 넣었다고 생각하는데, 잘 전달이 되면 좋겠습니다.

그리고 이것 저것 대명사 보다는 조금더 구체적인 단어로 설명해 주시면 좋겠어요,
"쏙 보내면" 어디에 쏙 보내는지를 초보자는 몰라요 ㅎㅎ

-> 출근하면서 다시한번 해당 강의를 들어보았는데, 말씀하신대로 좀더 자세하고 친절하게 설명하면 좋았을걸,, 왜 저렇게 뭉퉁그려서 설명했나 싶네요.. ㅜㅜ
아마도 PL/SQL 강의를 들을 정도면 이해할 수 있지 않나 하는 저의 착오였다는 생각이 드네요.
오늘 하루 반성하도록 하겠습니다. ^^;

관심을 갖고 이렇게 질문을 주셔서 감사합니다.
즐거운 하루 되세요 ~~


0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. junhui0386님.

PL/SQL을 사용하는 주요 장점을 이해하시는 데 도움을 드리고자 합니다. PL/SQL은 Oracle Database에서 프로그래밍을 가능하게 해주는 Oracle의 절차적 언어로, SQL과 절차적 논리를 결합하여 여러 데이터베이스 작업을 더욱 빠르고 효율적으로 수행할 수 있게 합니다.

PL/SQL의 장점

  1. 효율성: PL/SQL은 SQL 쿼리를 한 번의 데이터베이스 접속에서 여러 번 실행할 수 있게 해줍니다. 이는 애플리케이션에서 데이터베이스로의 왕복을 최소화하여 응답 시간을 줄이고 성능을 높이는 데 기여합니다.

  2. 블록 구조 지원: 프로시저나 함수와 같은 구조를 지원하여 복잡한 로직을 모듈화하고 유지보수성을 높입니다. 코드의 재사용성이 높아지며, 디버깅과 유지보수가 더 용이합니다.

  3. 예외처리 기능: PL/SQL은 고급 예외 처리 기능을 제공하여 데이터베이스 오류 발생 시 효과적으로 대응할 수 있게 합니다.

  4. 안전성: 데이터베이스 안에서 실행되므로 보안성이 뛰어나며, 서버 자원에 효과적으로 접근할 수 있습니다.

애플리케이션과의 차이점

  • 데이터 처리의 위치: PL/SQL 프로시저는 데이터베이스에서 직접 실행되므로, 많은 양의 데이터 처리 로직을 데이터베이스 서버 측에서 수행하여 클라이언트-서버 간 네트워크 트래픽을 줄입니다.
  • 통합 관리: PL/SQL로 구현된 로직은 데이터베이스 내에서 통합적으로 관리되므로, 데이터베이스 변경 사항에 보다 빠르게 반응하고 적응할 수 있습니다.

실무에서의 PL/SQL

  • 배치 프로세스: 로직을 서버 측에서 실행하며, 대량의 데이터를 처리하는 배치 작업에 최적화되어 있습니다.
  • 스케줄링: 데이터베이스 작업은 Oracle Scheduler를 사용해 다양한 주기를 설정하여 자동화할 수 있습니다. 이를 통해 반복적인 작업의 자동화가 용이합니다.

관련 질문 및 유용한 답변 URL을 제공해 드립니다:
- 테이블 및 컬럼 설명 관련 문의
- SQL Developer 프로그램 사용 팁 질문

이해를 돕기 위한 추가적인 정보와 경험담이 있다면 강의 내 커뮤니티 혹은 지식 공유자께서 제공하는 추가 자료를 참고하시길 권장드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.