▶ 108 프로시저(Procedure) / 용어정리, 정의
프로시저(Procedure)
절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어
* 절차형 SQL : C, JAVA등의 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL
- 일일 마감 작업, 일괄 작업 등에 주로 사용
- 여러 프로그램에서 호출하여 사용 가능
- DB에 저장되어 수행되기 때문에 스토어드 프로시저라고도 불림
▶ 109 트리거(Trigger) / 용어정리, 정의
트리거(Trigger)
DB 시스템에서 데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL
- 데이터 변경, 무결성 유지, 로그 메세지 출력 등의 목적으로 사용
- 트리거 구문에는 DCL을 사용할 수 없음
▶ 110 사용자 정의 함수 / 용어정리, 정의
사용자 정의 함수
SQL을 사용하며 일련의 작업을 연속적으로 처리, 종료 시 처리 결과를 단일값으로 반환하는 절차형 SQL
- RETURN을 통해 값을 반환, 출력 파라미터가 없음
- 프로시저를 호출해 사용할 수 없음
- INSERT, DELETE, UPDATE를 통한 테이블 조작은 할 수 없고 SELECT를 통한 조회만 가능
- SUM( ), AVG( ) 등의 함수처럼 DML문에서 반환값을 활용하기 위한 용도로 사용
☞ 프로시저 vs 사용자 정의 함수
구분 | 프로시저 | 사용자 정의 함수 |
반환값 | 없거나 1개 이상 가능 | 1개 |
파라미터 | 입, 출력 가능 | 입력만 가능 |
사용 가능 명령문 | DML, DCL | SELECT |
호출 | 프로시저, 사용자 정의 함수 | 사용자 정의 함수 |
사용 방법 | 실행문 | DML에 포함 |
▶ 112 DBMS 접속 기술
DBMS 접속
사용자가 데이터를 사용하기 위해 응용 시스템을 이용하여 DBMS 접근하는 것
☞ 웹 응용 시스템의 구조
DBMS 접속 기술 / 각각의 정의 알기
1. JDBC(Java DataBase Connectivity) √
Java와 DB를 연결하는 API
- 썬 마이크로시스템에서 출시
- Java SE에 포함되어 있음, 클래스는 java.sql, javax.sql에 포함
- DBMS에 대한 드라이버 필요
2. ODBC(Open DataBase Connectivity) √
DB에 접근하기 위한 표준 개방형 API, 개발 언어에 관계없이 사용 가능
- 마이크로소프트에서 출시
3. MyBatis √
JDBC 코드를 단순화해 사용할 수 있는 SQL Mapping 기반 오픈 소스 접속 프레임워크
* 디버깅 : 오류를 잡기 위해 한줄 한줄 검사하는 작업
* TCL : 트랜잭션을 제어하는 COMMIT, ROLLBACK, SAVEPOINT 명령을 가리키는 용어
▶ 113 ORM(Object-Relational Mapping)
ORM(Object-Relational Mapping)
객체와 관계형 DB의 데이터를 연결하는 기술
- 재사용 및 유지보수가 용이
ORM 프레임워크
- JAVA : JPA, Hibernate, EclipseLink 등
- C ++ : ODB, QxORM 등
- Python : Django, SQLAlchemy, Storm 등
- IOS : DatabaseObjects, Core Data 등
- PHP : Doctrine, Propel 등
▶ 113 쿼리 성능 최적화
쿼리 성능 최적화
- 성능 측정 도구인 APM을 사용하여 최적화 할 쿼리 선정
* APM : 성능 관리 도구