Fråga efter exempel
Query by Example ( QBE ) är ett databasfrågespråk för relationsdatabaser . Det utarbetades av Moshé M. Zloof vid IBM Research under mitten av 1970-talet, parallellt med utvecklingen av SQL . Det är det första grafiska frågespråket som använder visuella tabeller där användaren skulle ange kommandon, exempelelement och villkor. Många grafiska gränssnitt för databaser använder idéerna från QBE idag. Ursprungligen begränsad endast i syfte att hämta data , utökades QBE senare för att tillåta andra operationer, såsom infogning, borttagning och uppdatering, samt skapande av tillfälliga tabeller.
Motivationen bakom QBE är att en parser kan konvertera användarens handlingar till påståenden uttryckta i ett databasmanipulationsspråk, såsom SQL . Bakom kulisserna är det detta uttalande som faktiskt utförs. Ett lämpligt heltäckande gränssnitt kan minimera bördan för användaren att komma ihåg de finare detaljerna i SQL, och det är lättare och mer produktivt för slutanvändare (och även programmerare) att välja tabeller och kolumner genom att välja dem istället för att skriva in deras namn.
I samband med informationssökning har QBE en något annan innebörd. Användaren kan skicka in ett dokument, eller flera dokument, och be om att "liknande" dokument ska hämtas från en dokumentdatabas [se sök med flera exempel]. Likhetssökning baseras på att jämföra dokumentvektorer (se Vector Space Model ) .
QBE representerar avgörande arbete inom slutanvändarutveckling , ofta citerad i forskningsartiklar som ett tidigt exempel på detta ämne.
För närvarande stöds QBE i flera relationsdatabasgränssnitt, särskilt Microsoft Access , som implementerar "Visual Query by Example", såväl som Microsoft SQL Server Enterprise Manager. Det är också implementerat i flera objektorienterade databaser (t.ex. i db4o ).
QBE är baserad på den logiska formalismen som kallas tableau-fråga, även om QBE lägger till några tillägg till det, ungefär som SQL är baserat på den relationella algebra .
Exempel
Ett exempel med hjälp av Suppliers and Parts-databasen ges här för att illustrera hur QBE fungerar.
S | S# | SNAME | ÄGARE | SCITY |
---|---|---|---|---|
P.SX _ | J. DOE | ROM |
Som en allmän teknik
Termen syftar också på en allmän teknik som påverkas av Zloofs arbete där endast objekt med sökvärden används för att "filtrera" resultaten. Det ger en mjukvaruanvändare ett sätt att utföra frågor utan att behöva känna till ett frågespråk (som SQL ). Programvaran kan automatiskt generera frågor för användaren (vanligtvis bakom kulisserna). Här är några exempel:
Exempelformulär B :
.....Namn: Bob ..Adress: .....Stad: ....Stat: TX ..Postnummer:
Resulterande SQL :
SELECT * FROM Contacts WHERE Name = 'Bob' AND State = 'TX' ;
Observera hur tomma objekt inte genererar SQL- termer. Eftersom "Adress" är tom, finns det ingen sats genererad för den. Till exempel Form C :
.....Namn: ..Adress: .....Stad: Sampleton ....Stat: ..Postnummer: 12345
Resulterande SQL :
VÄLJ * FRÅN kontakter WHERE Stad = 'Sampleton' OCH Postnummer = '12345' ;
Mer avancerade versioner av QBE har andra jämförelseoperatörsalternativ, ofta via en rullgardinsmeny, som "Innehåller", "Innehåller inte", "Börjar med", "Större än" och så vidare.
En annan metod för textjämförelser är att tillåta ett eller flera jokertecken . Till exempel, om en asterisk betecknas som ett jokertecken i ett visst system, då sökning efter efternamn med "Rob * " skulle returnera (matcha) efternamn som "Rob", "Robert", "Robertson", " Roberto", etc.
Se även
- CRUD
- Microsoft fråga efter exempel
- GraphQL en QBE för JSON-gränssnitt.
- QBIC
- ^ Zloof, MM (1977). "Fråga-för-exempel: Ett databasspråk". IBM Systems Journal . 16 (4): 324–343. CiteSeerX 10.1.1.86.3485 . doi : 10.1147/sj.164.0324 .
- ^ Zhu, Mingzhu; Wu, Yi-Fang Brook (2014-02-24). Sök med flera exempel . ACM. s. 667–672. doi : 10.1145/2556195.2556206 . ISBN 9781450323512 .
- ^ "QBE", db4o , Developer Works Java library, IBM, 27 mars 2007
Källor
- Zloof, Moshé M. (maj 1975), "Query by Example", National Computer Conference , AFIPS Conference Proceedings, vol. 44, Anaheim, Kalifornien: AFIPS Press, s. 431–8, ISSN 0095-6880 .
- Ramakrishnan, Raghu ; Gehrke, Johannes , "6. QBE" (PDF) , Database Management Systems (3:e upplagan), Wisc .
- Date, Christopher 'Chris' J. (2004), "8. Relational Calculus", An Introduction to Database Systems , Addison‐Wesley Pearson, s. 242–7, ISBN 978-0-321-18956-1 .
- Oracle Definitions , Tech target .
- Zaiane, O. (1998), "5. Query-by-Example (QBE)" , CC 354 notes , Kanada: SFI .
externa länkar
- "Fråga efter exempel i Java med Hibernate" . JBoss.
-
Soylu, Ahmet; Giese, Martin; Jimenez-Ruiz, Ernesto; Vega-Gorgojo, Guillermo; Horrocks, Ian (2015). "Uppleva OptiqueVQS: ett multiparadigm- och ontologibaserat visuellt frågesystem för slutanvändare" ( PDF) . doi : 10.1007/s10209-015-0404-5 .
Visual Query System (VQS)