임베디드 SQL
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
임베디드 SQL은 프로그래밍 언어 내에 SQL 문을 포함시켜 데이터베이스와 상호 작용하는 기술이다. 알티베이스, IBM Db2, IBM Informix, Mimer SQL, 오라클 데이터베이스, PostgreSQL, SAP Sybase 등 다양한 데이터베이스 시스템에서 C, C++, COBOL, Fortran 등의 언어를 위한 임베디드 SQL을 지원한다. MySQL은 임베디드 SQL을 지원하지 않는다. 또한 LINQ-to-SQL, JPA, jOOQ와 같은 도메인 특정 언어를 통해 SQL과 유사한 언어를 .NET, 자바에 포함시키기도 한다.
더 읽어볼만한 페이지
- 데이터베이스 API - ODBC
ODBC는 응용 프로그램이 데이터베이스 관리 시스템에 접근하도록 하는 표준 API로서, 서로 다른 데이터베이스에 대한 접근 방식을 표준화하여 응용 프로그램이 데이터베이스 종류에 관계없이 동일한 코드로 데이터에 접근하도록 하며, 드라이버 관리자와 데이터베이스 시스템에 특화된 명령으로 변환하는 드라이버로 구성된다. - 데이터베이스 API - OLE DB
OLE DB는 마이크로소프트가 개발한 데이터베이스 접속 기술로, 다양한 데이터 소스에 대한 통합적인 접근 방식을 제공하며, 소비자와 공급자로 나뉘어 여러 API 및 프레임워크와 연동되어 활용된다. - 데이터 모델링 언어 - 데이터 정의 언어
데이터 정의 언어(DDL)는 SQL에서 테이블, 열, 데이터 형식 등을 정의하고 데이터베이스 스키마를 수정하는 데 사용되는 명령어 집합이며, `CREATE`, `DROP`, `ALTER`, `TRUNCATE` 등의 명령어를 포함하고 데이터 구조를 정의하는 다양한 형식 언어들을 포괄하는 의미로도 사용된다. - 데이터 모델링 언어 - SQL
SQL은 관계형 데이터베이스 관리 시스템에서 데이터를 관리하고 조작하기 위해 설계된 표준 프로그래밍 언어로서, 데이터 정의어, 데이터 조작어, 데이터 제어어를 포함하는 다양한 명령어 문법을 제공하며 ANSI와 ISO에 의해 표준으로 채택되었다. - 질의 언어 - XQuery
XQuery는 함수형 프로그래밍 패러다임을 지원하며 XPath 식 구문의 상위 집합을 포함하는 XML 데이터 추출 및 조작을 위한 쿼리 언어로서, FLWOR 식을 통해 XML 데이터 조작 및 새로운 XML 문서 구성을 지원하고 XQuery 및 XPath 데이터 모델(XDM)을 기반으로 한다. - 질의 언어 - SQL
SQL은 관계형 데이터베이스 관리 시스템에서 데이터를 관리하고 조작하기 위해 설계된 표준 프로그래밍 언어로서, 데이터 정의어, 데이터 조작어, 데이터 제어어를 포함하는 다양한 명령어 문법을 제공하며 ANSI와 ISO에 의해 표준으로 채택되었다.
| 임베디드 SQL | |
|---|---|
| 개요 | |
| 종류 | 데이터베이스 관리 시스템 |
| 용도 | 응용 프로그램에 내장된 SQL문 사용 |
| 관련 표준 | SQL |
| 상세 정보 | |
| 개념 | 응용 프로그램 소스 코드에 삽입된 SQL문 |
| 사용 언어 | C Java COBOL Pascal 포트란 어셈블리어 |
| 기능 | 응용 프로그램과 데이터베이스 간의 상호 작용 |
| 장점 | 데이터베이스 작업 단순화 및 효율성 향상 |
| 단점 | 호스트 언어와 SQL 간의 의존성 증가 |
| 처리 방법 | 프리컴파일러를 사용하여 SQL문을 호스트 언어 코드로 변환 |
| 변환 과정 | SQL문이 포함된 소스 코드를 컴파일하기 전에 특별한 컴파일러(프리컴파일러)를 사용하여 변환 |
| 참고 사항 | SQL 표준에 정의되어 있으며, 다양한 프로그래밍 언어에서 사용 가능 |
2. 임베디드 SQL 지원 데이터베이스 시스템
알티베이스, IBM Db2, IBM Informix, 마이크로소프트 SQL 서버, Mimer SQL, 오라클 데이터베이스, PostgreSQL, SAP Sybase 등 다양한 데이터베이스 시스템이 임베디드 SQL을 지원한다. 각 데이터베이스 시스템별로 지원하는 프로그래밍 언어와 특징은 다음과 같다.
- 알티베이스 (Altibase): APRE는 알티베이스사가 제공하는 임베디드 SQL 프리컴파일러이다.[1]
- IBM Db2: C, C++, Java, COBOL용 임베디드 SQL을 지원하며, FORTRAN과 REXX에 대한 지원은 더 이상 사용되지 않는다.[3]
- IBM Informix: 버전 14.10 (리눅스, 유닉스, 윈도우용)은 C 언어에 대한 임베디드 SQL을 지원한다.
- 마이크로소프트 SQL 서버 (Microsoft SQL Server): C/C++용 임베디드 SQL은 2008년부터 더 이상 사용되지 않지만, 이전 버전에서는 지원되었다.[5]
- Mimer SQL: 리눅스, macOS, OpenVMS, 윈도우에서 C/C++, COBOL, Fortran 용 임베디드 SQL을 지원한다. 단, COBOL과 Fortran은 OpenVMS에서만 지원된다.[6]
- 오라클 데이터베이스 (Oracle Database): Pro*C, Pro*COBOL을 통해 C/C++와 COBOL을 공식적으로 지원한다. 에이다, 포트란, 파스칼, PL/I은 더 이상 지원하지 않거나 업데이트가 중단되었다.
- PostgreSQL: ECPG는 버전 6.3부터 PostgreSQL의 일부로 제공되며 C 언어를 지원한다. C++ 지원은 제한적이다.[1][3] Cobol-IT와 Micro Focus를 통해 COBOL 프리컴파일러를 사용할 수 있다.[2]
- SAP Sybase: SAP Sybase ASE, SQL Anywhere, IQ는 C 및 C++용 임베디드 SQL을 지원하며, SAP Sybase ASE는 COBOL도 지원한다.[9][10][11]
2. 1. 알티베이스 (Altibase)
APRE는 알티베이스사가 제공하는 자사의 DBMS 서버용 임베디드 SQL 프리컴파일러이다.[1]2. 2. IBM Db2
IBM Db2는 C, C++, Java, COBOL용 임베디드 SQL을 지원하며, FORTRAN과 REXX에 대한 지원은 더 이상 사용되지 않는다.[3]2. 3. IBM Informix
IBM Informix 버전 14.10 (리눅스, 유닉스, 윈도우용)은 C 언어에 대한 임베디드 SQL을 지원한다.2. 4. 마이크로소프트 SQL 서버 (Microsoft SQL Server)
C/C++용 임베디드 SQL은 마이크로소프트 SQL 서버 2008부터 더 이상 사용되지 않지만, 이전 버전에서는 지원되었다.[5]2. 5. Mimer SQL
Mimer SQL은 리눅스, macOS, OpenVMS, 윈도우에서 임베디드 SQL을 지원한다.[6]C/C++용 임베디드 SQL은 리눅스, macOS, OpenVMS, 윈도우에서 지원된다. COBOL용 임베디드 SQL은 OpenVMS에서 지원된다. Fortran용 임베디드 SQL은 OpenVMS에서 지원된다.
2. 6. 오라클 데이터베이스 (Oracle Database)
| 프로그래밍 언어 | 설명 |
|---|---|
| 에이다 | Pro*Ada는 버전 7.3에서 오라클에 의해 공식적으로 지원이 중단되었다. Oracle8부터 Pro*Ada는 SQL*Module로 대체되었지만 그 이후 업데이트는 없는 것으로 보인다.[7] SQL*Module은 임베디드 SQL과는 다른 프로그래밍 방식을 제공하는 모듈 언어이며, Ada83 언어 표준을 지원한다. |
| C/C++ | Pro*C는 Oracle8에서 Pro*C/C++가 되었다. Pro*C/C++는 현재 Oracle Database에서 지원된다. |
| COBOL | Pro*COBOL은 현재 Oracle Database에서 지원된다. |
| 포트란 | Pro*FORTRAN은 Oracle8부터 더 이상 업데이트되지 않지만, 오라클은 버그가 보고되고 수정되면 패치 릴리스를 계속 발행할 것이다.[8] |
| 파스칼 | Pro*Pascal은 Oracle8과 함께 출시되지 않았다.[8] |
| PL/I | Pro*PL/I는 Oracle8과 함께 출시되지 않았다. 그러나, Oracle Precompilers Guide의 Pro*PL/I 보충 자료는 릴리스 11g까지 오라클 문서 라이브러리에 계속 나타났다. 릴리스 12c부터 Pro*PL/I는 오라클 문서 라이브러리에서 제거되었다.[8] |
2. 7. PostgreSQL
ECPG는 버전 6.3부터 PostgreSQL의 일부이다.[1] C++ 지원은 제한적이며, 정상적으로 처리할 수 없는 구문이 존재한다.[3]Cobol-IT는 현재 PostgreSQL용 COBOL 프리컴파일러를 배포하고 있으며, Micro Focus는 OpenESQL 프리프로세서를 통해 지원을 제공한다.[2]
2. 8. SAP Sybase
SAP Sybase ASE 15.7은 Sybase 소프트웨어 개발 키트의 일부로 C 및 COBOL용 임베디드 SQL을 지원한다.[9]SAP Sybase SQL Anywhere는 SQL Anywhere 데이터베이스 관리 시스템의 일부로 C 및 C++용 임베디드 SQL을 지원한다.[10]
SAP Sybase IQ는 Sybase IQ 데이터베이스 관리 시스템의 일부로 C 및 C++용 임베디드 SQL을 지원한다.[11]
3. 임베디드 SQL을 지원하지 않는 데이터베이스 시스템
MySQL은 임베디드 SQL을 지원하지 않는다.
3. 1. MySQL
MySQL은 임베디드 SQL을 지원하지 않는다.4. 도메인 특정 언어를 통한 임베디드 SQL
- LINQ-to-SQL은 SQL과 유사한 언어를 .NET 언어에 포함시킨다.
- JPA는 Criteria API를 통해 SQL과 유사한 언어를 자바에 포함시킨다.
- jOOQ는 SQL과 유사한 언어를 자바에 포함시킨다.
참조
[1]
웹사이트
The Module Language Concept
http://download.orac[...]
Oracle Corporation
2008-07-14
[2]
웹사이트
SQL Standard 2023 Chapter 21 Embedded SQL
https://www.iso.org/[...]
ISO
2023-08-17
[3]
웹사이트
DB2 Database for Linux, UNIX and Windows
http://publib.boulde[...]
IBM
2009-04-10
[4]
웹사이트
Informix Dynamic Server
https://www.ibm.com/[...]
IBM
2020-03-31
[5]
웹사이트
Deprecated Database Engine Features in SQL Server 2008
http://msdn.microsof[...]
Microsoft
2009-04-10
[6]
웹사이트
Embedded SQL
https://docs.mimer.c[...]
Mimer SQL
[7]
웹사이트
Ada Support in Version 8
http://download.orac[...]
Oracle Corporation
2008-07-14
[8]
웹사이트
Language Alternatives
http://download.orac[...]
Oracle Corporation
2008-07-14
[9]
웹사이트
EmbeddedSQL
http://www.sybase.co[...]
SAP Sybase
2012-09-05
[10]
웹사이트
SAP Sybase SQL Anywhere
http://www54.sap.com[...]
SAP Sybase
2013-05-02
[11]
웹사이트
SAP Sybase IQ
http://www54.sap.com[...]
SAP Sybase
2013-05-02
[12]
웹사이트
Ada Support in Version 8
http://download.orac[...]
オラクル (企業)
2008-07-14
[13]
웹사이트
Pro*C/C++リリース・ノート
https://docs.oracle.[...]
オラクル (企業)
2021-11-12
[14]
웹사이트
Pro*COBOLプログラマーズ・ガイド
https://docs.oracle.[...]
オラクル (企業)
2021-11-12
[15]
웹사이트
Language Alternatives
http://download.orac[...]
オラクル (企業)
2008-07-14
[16]
웹인용
Deprecated Database Engine Features in SQL Server 2008
http://msdn.microsof[...]
마이크로소프트
2009-04-10
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com