2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

DB-API

작성: sangseek | 게시 날짜: 2025/11/21 | 조회수: 47
[ 편집불가 ]

DB-API는 "Database Application Programming Interface"의 약자이며, 애플리케이션(또는 프로그래밍 언어)과 데이터베이스 드라이버 사이의 통신 규약(인터페이스)을 말합니다. 목적은 데이터베이스에 접근하고 조작하는 공통된 방법을 제공하여 코드의 이식성과 일관성을 높이는 것입니다. 주요 개념과 역할 - 추상화: SQL 실행, 결과 취득, 트랜잭션 제어 등 데이터베이스 작업을 추상화하여 애플리케이션 코드가 특정 DB 제품에 과도하게 의존하지 않도록 함. - 드라이버와 구현체: DB-API는 사양(인터페이스)을 정의하고, 각 데이터베이스용 드라이버(또는 커넥터)가 이 사양을 구현하여 실제 동작을 제공함. - 이식성: 동일한 DB-API 규약을 따르면 다른 DB로 교체할 때 애플리케이션 코드 변경을 최소화할 수 있음(단, SQL 방언 차이는 별개). 일반적으로 제공되는 기능/메서드 - 연결 관리: connect(...)로 데이터베이스 연결을 생성하고 close()로 닫음. - 커서(cursor): cursor()로 커서를 얻어 SQL 실행 및 결과순회 수행. - 쿼리 실행: execute(), executemany() 등으로 SQL문과 파라미터 전달. - 결과 취득: fetchone(), fetchmany(), fetchall() 등으로 결과를 읽음. - 트랜잭션 제어: commit(), rollback()로 트랜잭션을 명시적으로 제어. - 에러/예외: 표준화된 예외 계층을 통해 오류 처리. - 메타데이터: 컬럼 설명(예: description) 등을 통해 결과셋 구조 확인 가능. 예시와 변형 - Python의 DB-API (PEP 249): "DB-API 2.0"이 널리 사용되는 명세로, 많은 Python DB 드라이버가 이를 따름. - Java에서는 JDBC가 유사한 역할, 시스템 독립적인 표준 인터페이스를 제공. - ODBC는 운영체제 수준의 범용 DB 인터페이스로, 다양한 언어와 도구에서 사용 가능. 제한 사항 - DB-API는 SQL 문법이나 데이터베이스 고유 기능까지 표준화하지 않으므로, 특정 DB 고유 기능(예: 저장 프로시저, 복잡한 타입 등)은 드라이버나 DB별로 다름. - 성능 특성(커넥션 풀링, 비동기 지원 등)은 드라이버별로 차이가 있음. 요약하면, DB-API는 애플리케이션이 데이터베이스와 일관되게 상호작용할 수 있도록 규격화된 인터페이스로, 드라이버 구현을 통해 실제 데이터베이스에 접속·쿼리·트랜잭션 관리를 수행하게 해줍니다.
내용이 부정하다면 싫어요를 누르세요.