관리 메뉴

DevBlackCat

정보처리기사 필수 학습: 프로시저와 ORM 완전 정복!! 본문

정보처리기사/소프트웨어 개발

정보처리기사 필수 학습: 프로시저와 ORM 완전 정복!!

DevBlackCat 2024. 10. 24. 16:29
728x90

프로시저

포로시저 개념

  • SQL문 쿼리의 집합
  • 모듈화해서 재사용하게 해줌

프로시저 역활

  • 데이터 무결성 보장
  • 복잡한 비즈니스 로직 실행
  • 유지보수 용이성

저장형 객체

 

ⓛ Stored Function

  • 연산을 수행하고 결과값을 반환 하는데 사용[반환 없어도됨]
  • IN 매개변수만 사용가능하며 데이터 타입을 명시해야함

② Stored Procedure

  • 매개병수를 받고 복잡한 트래잭션 또는 연산을 수행하는 PL/SQL 블록
  • IN OUT INOUT 매개변수를 통해 데이터를 전달받거나 반환 할수있다.

③ Stored Package

  • PL/SQL 프로시저와 함수의 모음 [폴더 같은거]

③ Trigger ★

  • 데이터 베이스 테이블에 특정 조작이 발생할떄 자동으로 실행하는 프로시저
  • 삽입,수정,삭제시 반응
  • 무결성 유지를 위해 사용
분류 설명
행 트리거 - ★ FOR EACH ROW 옵션을 사용한다
- 각행에 대한 변경사항을 개별적으로 감지하고 반응한다.
- 추가,업데이트,삭제에  DML 작업이 각행에 발생할떄 마다 트리거가 사용된다.

문장 트리거 - SQL 문장에 의해 발생하는 이벤트에 한번만 실행된다.

 

After 트리거와 Before 트리거도 있다.

 

 

ORM( Object-Relational Mapping )

 

ORM 프레임워크의 개념

  • 객체지향 프로그래밍과 관계형 데이터베이스간 호환성 격차를 해결하기위한 기법
  • 객체지향에서 데이터베이스를 더쉽게 쓰게 해준다.
장점 - 개발자가 비즈니스 로직에 더 집중할 수 있도록 해준다.
- 코드의 재사용성 및 유지 보수성을 향상시킨다.
- 데이터베이스 시스템과의 결합도를 낮추어, 데이터베이스 변경이나 마이그레이션이 용이하다.
단점 - 복잡한 쿼리나 특화된 데이터베이스 기능을 사용하는 경우, ORM의 제한 때문에 구현이 어렵다.
- 프로시저를 많이 사용하는 시스템에서는 ORM의 객체지향적 장점을 제대로 활용하기 어렵다.

 

 

매핑 기술 비교

ⓛ SQL Mapper

  • SQL을 명시하여 단순히 필드를 매핑 시키는게 목적

② OR Mapping (=ORM)

  • 객체를 통해 간접적으로 데이터베이스를 다룬다.
  • 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑
  • 직관적인 코드로 데이터를 조작 가능

 

디버깅

  • 오류를 식별,수정하는 과정
  • 이를 위한 소프트는 디버거라고 한다.

 

 

 

ⓛ SQL Mapper

  • SQL을 명시하여 단순히 필드를 매핑 시키는게 목적

② OR Mapping (=ORM)

  • 객체를 통해 간접적으로 데이터베이스를 다룬다.
  • 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑
  • 직관적인 코드로 데이터를 조작 가능

 

 

 

 

 

728x90