Certificate/정보처리기사

[3과목 데이터베이스 구축] SQL 활용 - 117. DBMS 접속 기술

S_sun 2025. 11. 19. 12:19
  • 사용자가 데이터를 사용하기 위해 응용 시스템을 이용하여 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
반응형