예에 의한 쿼리

Query by Example
Borland의 패러독스(데이터베이스)에서 설계된 조인 포함 QBE 쿼리 예시

QBE(Query by Example)는 관계형 데이터베이스의 데이터베이스 쿼리 언어입니다.1970년대 중반 IBM ResearchMoshé M. Zloof[1]SQL 개발과 병행하여 고안했습니다.사용자가 명령어, 예제 요소 및 조건을 입력할 수 있는 시각적 테이블을 사용하는 최초의 그래픽 쿼리 언어입니다.데이터베이스의 많은 그래픽 프런트 엔드는 현재 QBE의 아이디어를 사용하고 있습니다.원래 데이터 취득 목적으로만 한정되어 있던QBE는 나중에 삽입, 삭제, 갱신 등의 다른 조작과 임시 테이블 작성도 가능하게 확장되었습니다.

QBE의 배후에 있는 동기는 파서가 사용자의 액션을 SQL 등의 데이터베이스 조작 언어로 표현된 문장으로 변환할 수 있다는 것입니다.이면에는 실제로 실행되는 진술이 있습니다.적절하게 포괄적인 프런트 엔드를 통해 사용자가 SQL의 세부사항을 기억하는 부담을 최소화할 수 있으며 최종 사용자(및 프로그래머도)는 이름을 입력하는 대신 테이블과 열을 선택하여 선택하는 것이 쉽고 생산적입니다.

정보 검색의 맥락에서 QBE는 다소 다른 의미를 가집니다.사용자는 문서 또는 여러 문서를 제출하고 문서 데이터베이스에서 "유사한" 문서를 검색하도록 요청할 수 있습니다(여러[2] 예제로 검색 참조).유사성 검색은 문서 벡터를 비교하는 데 기반합니다(벡터 공간 모델 참조).

QBE는 최종 사용자 개발의 중요한 작업을 나타내며, 이 토픽의 초기 예로서 연구 논문에서 자주 인용됩니다.

현재 QBE는 여러 릴레이셔널 데이터베이스 프런트 엔드에서 지원되고 있습니다.특히 Microsoft Access는 "Visual Query by Example"을 구현하고 있습니다.또한 Microsoft SQL Server Enterprise Manager도 지원되고 있습니다.또한 여러 객체 지향 데이터베이스(예: db4o[3])에도 구현됩니다.

QBE는 tableau query라고 불리는 논리 형식을 기반으로 합니다.단, QBE는 SQL이 관계대수를 기반으로 하는 것과 마찬가지로 일부 확장을 추가합니다.

여기에서는 QBE의 구조를 설명하기 위해 공급업체와 부품 데이터베이스를 사용하는 예를 제시합니다.

단순 QBE의 예시
S S# 스나메 주인 SCITY
P.SX J. DOE 로마

일반적인 기술로서

이 용어는 검색 값이 있는 항목만 결과를 "필터링"하기 위해 사용되는 Zloof의 작업에 영향을 받은 일반적인 기술을 가리킵니다.소프트웨어 사용자가 쿼리 언어(: SQL)를 몰라도 쿼리를 수행할 수 있습니다.소프트웨어는 사용자에 대한 쿼리를 자동으로 생성할 수 있습니다(일반적으로 백그라운드에서).다음은 몇 가지 예입니다.

B의 예:

.....이름: 밥..주소: ....시구정촌: ....상태: TX ..우편 번호:

결과 SQL:

선택한다. * 부터 연락처 어디에 이름.= 그리고. ='TX'; 

빈 항목은 SQL 용어를 생성하지 않습니다."Address"가 비어 있기 때문에 생성된 절이 없습니다.: 폼 C:

.....이름: ..주소: ....시구정촌 : Sampleton ....상태: ..우편번호: 12345

결과 SQL:

선택한다. * 부터 연락처 어디에 도시='샘플톤' 그리고. 우편번호='12345'; 

고급 버전의 QBE에는 다른 비교 연산자 옵션이 있으며, 대부분의 경우 풀다운메뉴를 통해 "Contains", "Not Contains", "Starts With", "Greater-Than" 등의 옵션이 있습니다.

텍스트 비교의 또 다른 방법은 하나 이상의 와일드카드 문자를 허용하는 것입니다.예를 들어, 아스타리스크가 특정 시스템에서 와일드 와일드카드 문자로 지정되어 있는 경우, "Rob*"를 사용하여 성을 검색하면 "Rob", "Robert", "Robertson", "Roberto" 등의 성이 반환됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Zloof, M.M. (1977). "Query-by-Example: A data base language". IBM Systems Journal. 16 (4): 324–343. CiteSeerX 10.1.1.86.3485. doi:10.1147/sj.164.0324.
  2. ^ Zhu, Mingzhu; Wu, Yi-Fang Brook (2014-02-24). Search by multiple examples. ACM. pp. 667–672. doi:10.1145/2556195.2556206. ISBN 9781450323512.
  3. ^ "QBE", db4o, Developer works Java library, IBM, 27 March 2007

원천

  • 를 클릭합니다Zloof, Moshé M. (May 1975), "Query by Example", National Computer Conference, AFIPS Conference Proceedings, vol. 44, Anaheim, California: AFIPS Press, pp. 431–8, ISSN 0095-6880.
  • 를 클릭합니다Ramakrishnan, Raghu; Gehrke, Johannes, "6. QBE" (PDF), Database Management Systems (3rd ed.), Wisc.
  • 를 클릭합니다Date, Christopher ‘Chris’ J. (2004), "8. Relational Calculus", An Introduction to Database Systems, Addison‐Wesley Pearson, pp. 242–7, ISBN 978-0-321-18956-1.
  • 를 클릭합니다Oracle Definitions, Tech target.
  • 를 클릭합니다Zaiane, O. (1998), "5. Query-by-Example (QBE)", CC 354 notes, Canada: SFI.

외부 링크