- 사용자가 데이터를 사용하기 위해 응용 시스템을 이용하여 DBMS에 접근하는 것
- 응용 시스템은 사용자로부터 매개 변수를 전달받아 SQL을 실행하고 DBMS로부터 전달받은 결과를 사용자에게 전달하는 매개체 역할 수행
- 웹 응용 시스템은 웹 서버와 웹 애플리케이션 서버(WAS)로 구성
- 서비스 규모가 작은 경우 웹 서버와 웹 애플리케이션 서버를 통합하여 하나의 서버만으로 운용
- 웹 서버 : 웹 페이지, 저용량 자료 등의 처리 담당
- WAS : DBMS와 통신하며 대용량 파일이나 복잡한 로직 등의 처리 담당
1. DBMS 접속 기술
- API, 프레임워크
1) JDBC (Java DataBase Connectivity)
- Java 언어로 다양한 종류의 데이터 베이스에 접속하고 SQL문을 수행할 때 사용되는 표준 API
- 1997년 2월 썬 마이크로시스템에서 출시
- Java SE(Standart Edition) 포함
- 접속하려는 DBMS에 대한 드라이버 필요
2) ODBC (Open DataBase Connectivity)
- 표준 개방형 API
- 개발 언어와 무관하여 사용 가능
- 1992년 9월 마이크로소프트에서 출시
- MS-Access, DBase, DB2, Excel, Text 등 다양한 데이터베이스에 접근 가능
- 접속하여는 DBMS의 인터페이스를 알지 못하더라도 ODBC 문장을 사용해 SQL을 작성하면 ODBC에 포함된 드라이버 관리자가 해당 DBMS의 인터페이스에 맞게 연결해주므로 DBMS의 종류는 몰라도 됨
3) MyBatis
- JDBC 코드를 단순화하여 사용할 수 있는 SQL Mapping기반 오플 소스 접속 프레임워크
- 데이터베이스에 접속 기능 강화
- SQL문장을 분리하여 XML 파일을 만들고 Mapping을 통해 SQL을 실행
- SQL을 거의 그대로 사용할 수 있어 SQL 친화적인 국내 환경에 적합하여 많이 사용
2. 동적 SQL (Dynamic SQL)
- 개발 언어에 삽입되는 SQL 코드를 문자열 변수에 넣어 처리하는 것
- 조건에 따라 SQL 구문을 동적으로 변경하려 처리 가능
- 사용자로부터 SQL문의 일부 또는 전부를 입력받아 실행
- NVL함수를 사용할 필요 없음
- 프리컴파일할 때 구문 분석, 접근 권한 확인 불가
- 정적 SQL에 비해 속도가 느리지만, 상황에 따라 다양한 조건을 첨가하는 등 유연한 개발 가능
💡 정적 SQL vs 동적 SQL
| 정적 SQL(Static SQL) | 동적 SQL(Dynamic SQL) | |
| SQL 구성 | 커서(Cursor)를 통한 정적 처리 | 문자열 변수에 담아 동적 처리 |
| 개발 패턴 | 커서 범위 안에서 반복문을 활용하여 SQL 작성 | NVL 함수 없이 로직을 통해 SQL 작성 |
| 실행 속도 | 빠름 | 느림 |
| 사전 검사 | 가능 | 불가능 |
📖 Reference
2023 시나공 정보처리기사 필기 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
| [3과목 데이터베이스 구축] SQL 활용 - 119. ⭐ ORM (Object-Relational Mapping) (0) | 2025.11.19 |
|---|---|
| [3과목 데이터베이스 구축] SQL 활용 - 118. SQL 테스트 (0) | 2025.11.19 |
| [3과목 데이터베이스 구축] SQL 활용 - 116. 사용자 정의 함수 (0) | 2025.11.19 |
| [3과목 데이터베이스 구축] SQL 활용 - 115. ⭐ 트리거 (Trigger) (0) | 2025.11.19 |
| [3과목 데이터베이스 구축] SQL 활용 - 114. 프로시저 (Procedure) (0) | 2025.11.19 |