US5924089A - Natural language translation of an SQL query - Google Patents

Natural language translation of an SQL query Download PDF

Info

Publication number
US5924089A
US5924089A US08/707,139 US70713996A US5924089A US 5924089 A US5924089 A US 5924089A US 70713996 A US70713996 A US 70713996A US 5924089 A US5924089 A US 5924089A
Authority
US
United States
Prior art keywords
user
database
box
window
relational
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US08/707,139
Inventor
Darryl Jon Mocek
Kester Li
Jonathan Michael Levine
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US08/707,139 priority Critical patent/US5924089A/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LI, KESTER, MOCEK, DARRYL JON, LEVINE, JONATHAN MICHAEL
Application granted granted Critical
Publication of US5924089A publication Critical patent/US5924089A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Definitions

  • This invention relates generally to methods of accessing information stored in a database management system (DBMS) , and in particular to a computer-implemented user interface providing a natural language translation of DBMS queries.
  • DBMS database management system
  • RDBMS Relational Database Management Systems
  • SQL Structured Query Language
  • SQL In RDBMS software, all data is externally structured into tables.
  • the SQL interface allows users to formulate relational operations on the tables either interactively, in batch files, or embedded in host languages such as C, COBOL, etc. Operators are provided in SQL that allow the user to manipulate the data, wherein each operator operates on either one or two tables and produces a new table as a result.
  • the power of SQL lies on its ability to link information from multiple tables or views together to perform complex sets of procedures with a single statement.
  • the present invention discloses a method, apparatus, and article of manufacture for displaying database management information on a computer.
  • the method comprises the steps of displaying a window on a computer display device, accepting a user-selected database command from a user input device coupled to the computer, interpreting the user-selected database command to produce a natural language translation of the command, and presenting the natural language translation of the command to the user on the display device.
  • the information displayed to the user includes a database table box having a list of database tables, an associated database field box having a list of database fields associated with the database tables, a relational condition box, and a search string edit box, in which the user may enter a combination of search strings and logical relationships between the search strings.
  • the present invention therefore presents the user with a list of selectable database tables, and fields associated with those tables, a box to enter search strings, and a list of selectable relational conditions to apply to the database fields and search strings.
  • the present invention interprets the user-selected values for these items, and presents, on the same screen, a natural language translation of the database command.
  • the user can read a plain language description of the current database command while the information is entered, and before the search command is transmitted to the relational database management system. This averts potential database command errors and the resulting processing delays, while at the same time, encouraging novice users to use the RDBMS, and to experiment with different SQL queries.
  • the present invention also provides full SQL functionality by allowing the user to construct search strings with logical relationships between search parameters and to create complex SQL commands by linking simpler SQL commands with logical conditional operators.
  • FIGS. 1 and 2 illustrate an exemplary computer hardware environment that could be used with the present invention
  • FIGS. 3A-3L are diagrams illustrating exemplary embodiments of the user interface provided by the present invention.
  • FIGS. 4A-4C are flow charts describing the operation of the present invention.
  • FIGS. 1 and 2 illustrate an exemplary computer hardware environment that could be used with the present invention.
  • a computer system 100 comprises a computer 106 coupled to I/O devices such as a monitor 102, a keyboard 108, a mouse device 110, a removable disk 112 or 114 and associated drive 116, a CDROM device (not shown), audio speakers (not shown), and a printer 118.
  • the computer 106 could also be coupled to other I/O devices, including a local area network (LAN) or wide area network (WAN) via interface cable 120.
  • the monitor 102 presents a display 104 visually depicting information from the computer system 100 to the user.
  • the computer 106 generally includes a processor and a memory including random access memory (RAM), read only memory (ROM), and/or other components.
  • the computer 106 operates under control of an operating system 126 such as WindowsTM, OS/2TM, MacintoshTM, AIXTM, UNIXTM, DOSTM, Windows95, Windows NTTMetc., stored in the memory to present data to the user on the display 102 and to accept and process commands from the user via keyboard 108 and mouse device 110.
  • an operating system 126 such as WindowsTM, OS/2TM, MacintoshTM, AIXTM, UNIXTM, DOSTM, Windows95, Windows NTTMetc.
  • the present invention is preferably implemented using one or more computer programs or applications 128 through a graphical user interface. These computer programs 128 are depicted as windows 124 presented on the display 104, operating under control of the operating system 126, to implement a graphical user interface 130.
  • the operating system and the computer programs implementing the present invention are tangibly embodied in a computer-readable medium, e.g. one or more of removable data storage devices 112, 114, such as a zip or floppy disc drive, or fixed data storage devices 132, including for example, a hard drive, CD-ROM drive, or tape drive.
  • removable data storage devices 112, 114 such as a zip or floppy disc drive
  • fixed data storage devices 132 including for example, a hard drive, CD-ROM drive, or tape drive.
  • the relational databases used with the present invention can be stored in data storage devices 132, 112, 114, or may be stored off-line and accessed via interface cable 120.
  • FIG. 1 is not intended to limit the present invention. Indeed, those skilled in the art will recognize that other alternative hardware environments may be used without departing from the scope of the present invention.
  • FIGS. 3A-3L illustrate exemplary embodiments of the user interface aspects of the present invention.
  • the present invention provides the user with the capability to define a database command SELECT statement before the records are retrieved, thus decreasing the time required to access and retrieve the records.
  • the operation of the present invention is described as follows.
  • FIG. 3A presents a diagram of an exemplary embodiment of the user-interface of the present invention.
  • the user interface comprises a table tab window 300 presented on the display 104 of the computer system 100, which includes a plurality of tabs 302-312 used to navigate the user interface.
  • the information shown in FIG. 3A is displayed when the user selects the table tab 302. This provides a list of the database tables the user has currently selected for use in the selected tables box 316.
  • the user must indicate whether a new SQL statement is being created or the user wishes to edit an existing SQL statement by selecting from radio buttons 314.
  • the user can then remove tables selected in the selected tables box 316 by pressing the remove button 320, or add tables by pressing the add button 318.
  • a standard WindowsTM "Open Dialog" window will appear. This is shown in FIG. 3B.
  • the user can choose to display different file types by selecting the files of type button 322.
  • the user may also browse through the directory and table listings and select database tables for opening. The user can select multiple SQL tables, but may only select one table at a time for non-SQL tables. If the user has chosen a non-SQL table, the add button 318 becomes gray, indicating that join operations cannot be performed across these tables.
  • the OK button 326 is selected, and the selected database table will appear in the selected tables listbox 316 depicted in FIG. 3A.
  • the user can then choose one or more tables in the selected tables listbox 316 and click on the remove button 320 to remove database tables from the selected tables listbox 316.
  • the user can remove a database table listed in the selected tables listbox 316 by clicking on the database table to be removed, and selecting the remove button 320. If the user attempts to remove a table after having created a partial or full SQL statement, a dialog box will appear on the display 104 warning the user that the current SQL statement will be lost, and the user will be forced to begin again. If this happens, all entries in all of the tab windows 302-312 will be deleted. The user can select on the next button 319 or any of tabs 302-312, to proceed.
  • FIG. 3C shows the join tab window of the present invention.
  • the join tab window 330 displays all of the database tables selected by the user using the tables tab window depicted and described with reference to FIG. 3A.
  • the join tab window 330 comprises a join window display box 331, table information boxes 338 which display the file, field, field type, and field width of the currently chosen database field.
  • Join button 346 is initially disabled, and becomes enabled when the user selects two fields in different tables in the join window display box 331. Once selected fields have been joined, as indicated by a join line 334 displayed in the join window display box 331, join button 346 becomes disabled until the user selects additional fields.
  • joins may be created by dragging a field, such as the "CUSTOMER -- ID” field depicted in the "CUSTOMER” table 332 from one of the tables, and dropping it in another table, such as the "ORDERS" table 336.
  • the unjoin button 348 is initially disabled until the user selects a joint relationship between two database tables by selecting the join line 334 between the database tables 332 and 336. If the user selects the unjoin button 348, the join between the two selected database tables is removed.
  • Alias button 345 allows user definition of specified data field table, or other relationships.
  • FIG. 3D presents an illustration of the relational operations dialog box 360 of the present invention.
  • This dialog box appears on the display 104 when the user selects the options button 350 of the join tab window 330.
  • the user selects whether the table join operation is an inner join, left outer join, or right outer join by making appropriate selections radio button 364 selections in the relational operations dialog box 360.
  • the user selects the relational options OK button 366, which returns causes the join window display box 331 to be presented on the display 104.
  • FIG. 3E presents the condition tab window 370 of the present invention.
  • the condition tab window 370 is presented on the display 104 when the user selects the condition tab 306.
  • the condition tab window 370 comprises a database table dropdown listbox 372 controlled by selecting a database table dropdown listbox tab 374, an associated field listbox 376, which displays the fields in the selected database table, a relational condition listbox 378, a search string edit box 380, and a natural language translation listbox 382.
  • the user creates the search portion of an SQL statement (that portion following the WHERE clause) by selecting a table from the database table dropdown listbox 372. This is accomplished by selecting the database table dropdown listbox tab 374.
  • the user also selects an associated database field from those available listed in the associated field listbox 376, and a relational conditional operator from those listed in the relational condition listbox 378.
  • the user enters any desired search string in the search string listbox 380.
  • the computer system 100 interprets the values selected above, and displays a natural language translation of the database commands selected above in the natural language translation listbox 382 in the condition tab window 370.
  • the user can now view a plain-language translation of the selected database command, and make any alterations or changes necessary to ensure that the proper data is retrieved, before actually submitting the SQL request.
  • the user can create an "or" condition by (1) entering values in each line in the search string listbox 380, such as entries 384 and 386, as shown in FIG. 3F, or (2) comma separating each item in one line of the search string listbox 380 listbox.
  • the user selects the condition tab window OK button 388. If the user requires additional search criteria, the "find on another field” button 390 is selected.
  • FIG. 3G is an exemplary embodiment of a second condition tab window 392.
  • the second condition tab window is presented on the display 104 in response to the user selecting the "find another field” button 390 in the first condition tab window 370.
  • the second condition tab window 392 differs from the first condition tab window 370 in that there are two radio buttons 394 at the top of the panel, indicating one or more logical condition operators. In the exemplary embodiment shown, these buttons are used to select whether the second condition should widen the search (by applying a logical "or” between conditions), or narrow the search (by applying a logical "and” between conditions.) By default, the "and" logical condition operator is selected.
  • the user proceeds to enter the database table, associated database field, relational conditional operator, and values in box 395 and search string as before.
  • the combined search criteria, or database command is interpreted and translated in the natural language translation listbox 382.
  • FIG. 3H shows an exemplary embodiment of a fields tab window 400.
  • the fields tab window 400 is used to customize the format for viewing database command results, and is presented on the display 104 when the user selects the fields tab 308.
  • the fields tab window 400 allows the user to select the database fields for viewing after the search is completed.
  • the user selects the database from the field tab window database dropdown listbox 402, which is controlled by the field tab window database dropdown listbox tab 404.
  • the user selects database fields from the field tab window field listbox 406, and adds these selections to the field tab window selected field listbox 408 by selecting add button 410.
  • Add button 410 is initially disabled, and enabled when the user selects a database field.
  • Selected database fields can also be removed from the field tab window selected field listbox 408 by selecting the remove button 412.
  • the remove button becomes active when fields in the field tab window selected field listbox 408.
  • the computer system 100 appends the field name to the database name and displays both on the field tab window selected field listbox 408 separated by a period delimiter.
  • FIG. 3I presents an exemplary embodiment of the sort tab window 414, which is selected by the sort tab 310.
  • the sort tab window 414 allows the user to sort data before viewing it on the display 104.
  • the sort tab window 414 contains a sort tab window database field listbox 416, which lists all of the database fields in the user-selected database tables. Using the mouse device 110, the user can double click on any of these fields or single click on the field and select the sort tab window add button 422 (shown disabled) to move them to the "fields to sort” 420.
  • the user can select the sort criteria as "ascending" or "descending” by using the sort order dropdown box 419, or by selecting the indicator icon 421 preceding each field.
  • buttons 421 as shown in FIG. 3J are presented.
  • the user can remove fields from the "fields to sort” listbox 420 by double clicking on the selections, or by single clicking on the selections and selecting the sort tab window remove button 424. All fields in the "fields to sort” listbox 424 can be cleared by selecting the sort tab window clear all button 426.
  • FIG. 3K presents an exemplary embodiment of the SQL tab window.
  • the SQL tab window 414 is presented on the display 104 when the user selects the SQL tab 312.
  • the SQL tab window 430 comprises an SQL statement edit box 440, in which an SQL statement generated by the foregoing user input is displayed.
  • the SQL statement word wraps within the box automatically. If the SQL statement is too long to view in the SQL statement edit box 440 in its entirety, the statement is word-wrapped and scroll bars are appended to the SQL statement edit box 440.
  • Each keyword in the SQL statement (such as SELECT, FROM, WHERE, ORDER BY) are placed on a new line to increase readability.
  • the user can select within this field and highlight information.
  • a dialog box appears and warns the user that all tabs except the tables 302 and SQL tabs 312 will become disabled, and other aspects of the user interface described herein will no longer be available for use.
  • the dialog box allows the user to proceed or return. If the user returns, the SQL tab window 430 is again presented on the display 104, with no changes made. If the user proceeds, the SQL statement edit box 440 will become active, and will allow manual SQL statement changes. The user retains the option of returning to the unmodified SQL statement (without the manual changes) by selecting the "restore SQL statement" button 444. This deletes all manual changes to the SQL statement listed in the SQL statement box 440.
  • the SQL tab window also comprises an SQL tab window database table dropdown listbox 434 and an SQL tab window associated field listbox 438, which allow the user to view the tables and fields and is provided primarily for user reference.
  • an SQL tab window database table dropdown listbox 434 When making editing changes to the SQL statement edit box 440. If the user selects the SQL tab window database table dropdown listbox tab 434, a list of all database tables that are currently open and available for searching are displayed in the SQL tab window database table dropdown listbox 434. When a database table is selected, the names of the fields associated with the selected database table are displayed in the SQL tab window associated fields listbox 438. When the user selects a field, the database field name will be placed in the SQL statement edit box 440 at the cursor position.
  • the user then may also drag a field name from the SQL tab window associated fields listbox 438 and drop it into the SQL statement edit box 440.
  • a field name When the user is dropping a field name, an extended underscore ( ) will appear in the SQL statement editbox 440 allowing the user to select where in the SQL statement edit box 440 the fieldname will be placed. If this is the first item to be changed, the database field name is appended to the SQL statement, and a dialog box appears to warn the user after the modifications have been made, the user must make any further modifications manually.
  • FIG. 3L illustrates an alternative embodiment of the user interface when the SQL tab 312 is selected.
  • This embodiment features a named SQL statement indicator 432 and edit box 440. This allows the user to give a simple, plain-language name for frequently used searches, thereby making the user interface easier to use. For example, the user may wish to name an SQL statement retrieving all customers in California whose orders exceeded $10,000 by naming the SQL statement "GOOD -- CAL.” Thereafter, using this feature, the user can use the term "GOOD -- CAL" in place of the equivalent SQL statement.
  • the user may also proceed directly to the SQL tab window 430 without entering information in the tab windows selected by tabs 302-312.
  • the user can click the SQL statement box 440 and manually enter an SQL SELECT statement. Since no SQL statement was created, no warning dialog box is required in this situation, however, as soon as the user begins entering data into the SQL statement box 440 manually, all tabs except the tables 302 and the SQL tabs 312 are disabled. If the user deletes the entire manually entered SQL SELECT statement, all tabs 302-312 become re-enabled.
  • the user selects DONE button 442. At this time, the SQL statement is parsed and sent to the SQL database. If the parser finds an error within the SQL statement, a dialog box indicates as such to the user.
  • FIGS. 4A-4C are flow charts illustrating the logical operation of the present invention.
  • the process begins with the computer 106 presenting a window 124 on the display 104. This is represented by block 500 in FIG. 4A.
  • the window 124 is the condition tab window 370 depicted in FIG. 3E.
  • the computer 106 accepts user-selected database commands from the a user input device such as the keyboard 108 and mouse device 110. This process is depicted by block 502.
  • the user-selected database commands are selected from a group comprising a database table dropdown listbox 372 having a list of database tables, the associated database field listbox 376, a relational condition listbox 378, and a search string edit box 380.
  • the database command is interpreted as depicted in blocks 504 and 506, and a natural language translation of the database command is presented to the user on the display 104.
  • This allows the user to select database commands from a menu structure and immediately see the result in plain language on the same display. The foregoing process is completed until, as shown in block 508, all commands have been accepted, and an SQL query has been defined.
  • block 510 presents the SQL tab window to the user to allow manual editing of the SQL command. If additional search criteria are required, a second condition tab window 392 is presented to the user on the display 104. This is depicted in block 514.
  • FIG. 4B illustrates the remainder of the process described above.
  • the computer 106 accepts a user-selected logical condition to define the logical relationship between the previous search criteria and the additional criteria about to be defined by the user. This requires that the user input a logical conditional operator such as an "or" which retrieves more data records, or an "and" which retrieves less data records. This process is depicted in block 516. If a logical conditional operator is not supplied, block 518 prompts interrupts processing, and prompts the user to enter a logical conditional operator. This process is visually depicted in FIG. 3G, where the user selects the logical conditional operator using radio buttons 394.
  • processing returns to block 502, and the computer 106 accepts additional user-selected database command information.
  • This information will include, for example, a second database table, a second associated database field, a second relational conditional operator, and a second user-defined search string. As before, this information is interpreted by block 504, and a natural language translation of the search request is presented to the user on the display device as the information is entered.
  • FIG. 4C is a flow diagram showing the operations used to present a window on the display 104.
  • a database table box is presented to the user on the display 104.
  • one or more user-selected database tables are accepted from a user input device, as shown in block 532.
  • the user-selected database tables and associated database fields are then displayed to the user by block 534.
  • a window is generated a database table box, database field box, a relational condition box, and a search string edit box. This is depicted in block 536.
  • the present invention discloses a method, apparatus, and article of manufacture for displaying database management information on a computer.
  • the method comprises the steps of displaying a window on a computer display device, accepting a user-selected database command from a user input device coupled to the computer, interpreting the user-selected database command to produce a natural language translation of the command, and presenting the natural language translation of the command to the user on the display device.

Abstract

A method, apparatus, and article of manufacture which provides for the display of database management information on a computer in a user-friendly way to minimize errors and maximize database usership. The invention displays a window in a graphical user interface on a computer display. The window allows the user to enter database tables, fields, and database commands selected from a displayed menu. The window also displays a natural language translation of the current status of the database command, allowing the user to see, in real time, the scope of the request and the databases affected.

Description

CROSS-REFERENCE TO RELATED APPLICATION
This application is related to the following and commonly-assigned patent applications:
application Ser. No. 08/708,117, now U.S. Pat. No. 5,787,418 entitled "FIND ASSISTANT FOR CREATING DATABASE QUERIES," filed on same date herewith, by Michael R. Hibbetts et al., and
application Ser. No. 08/707,140, now U.S. Pat. No. 5,842,209 entitled "USER INTERFACE FOR VISUALLY DEPICTING INNER/OUTER/LEFT/RIGHT JOINS IN A DATABASE SYSTEM," filed on same date herewith, by Darryl J. Mocek et al., both of which applications are incorporated by reference herein.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to methods of accessing information stored in a database management system (DBMS) , and in particular to a computer-implemented user interface providing a natural language translation of DBMS queries.
2. Description of Related Art
Large-scale integrated database management systems provide an efficient, consistent, and secure means for storing and retrieving vast amounts of data. This ability to manage massive amounts of information is a virtual necessity in business today.
Relational Database Management Systems (RDBMS) software using Structured Query Language (SQL) interfaces are well known in the art. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American National Standards Institute (ANSI) and the International Standards Organization (ISO).
In RDBMS software, all data is externally structured into tables. The SQL interface allows users to formulate relational operations on the tables either interactively, in batch files, or embedded in host languages such as C, COBOL, etc. Operators are provided in SQL that allow the user to manipulate the data, wherein each operator operates on either one or two tables and produces a new table as a result. The power of SQL lies on its ability to link information from multiple tables or views together to perform complex sets of procedures with a single statement.
Unfortunately, while powerful, the SQL interface can be difficult to use, especially for laypersons with little or no experience with databases or computers. This problem limits the application of RDBMS technology to provide business information, often to those who need it the most. Potential RDBMS users often fail to avail themselves to the benefits of RDBMS technology because they are either intimidated by or reluctant to learn new technology. Even if they are willing to learn, expensive and lengthy training may be required before these potential users achieve a basic functional capability. SQL's idiosyncrasies also have other negative consequences. For example, both novice and experienced SQL users often formulate improper SQL commands, and obtain search results which fail to disclose critical data or require the DBMS to search through more data than is required, lengthening the search, and placing unnecessary demands on DBMS processing.
SUMMARY OF THE INVENTION
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method, apparatus, and article of manufacture for displaying database management information on a computer. The method comprises the steps of displaying a window on a computer display device, accepting a user-selected database command from a user input device coupled to the computer, interpreting the user-selected database command to produce a natural language translation of the command, and presenting the natural language translation of the command to the user on the display device. In an exemplary embodiment presented herein, the information displayed to the user includes a database table box having a list of database tables, an associated database field box having a list of database fields associated with the database tables, a relational condition box, and a search string edit box, in which the user may enter a combination of search strings and logical relationships between the search strings.
The present invention therefore presents the user with a list of selectable database tables, and fields associated with those tables, a box to enter search strings, and a list of selectable relational conditions to apply to the database fields and search strings. The present invention interprets the user-selected values for these items, and presents, on the same screen, a natural language translation of the database command. As a result, the user can read a plain language description of the current database command while the information is entered, and before the search command is transmitted to the relational database management system. This averts potential database command errors and the resulting processing delays, while at the same time, encouraging novice users to use the RDBMS, and to experiment with different SQL queries.
The present invention also provides full SQL functionality by allowing the user to construct search strings with logical relationships between search parameters and to create complex SQL commands by linking simpler SQL commands with logical conditional operators.
BRIEF DESCRIPTION OF THE DRAWINGS
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
FIGS. 1 and 2 illustrate an exemplary computer hardware environment that could be used with the present invention;
FIGS. 3A-3L are diagrams illustrating exemplary embodiments of the user interface provided by the present invention; and
FIGS. 4A-4C are flow charts describing the operation of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
In the following description of the preferred embodiment, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration a specific embodiment in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
Hardware Environment
FIGS. 1 and 2 illustrate an exemplary computer hardware environment that could be used with the present invention. In the exemplary environment, a computer system 100 comprises a computer 106 coupled to I/O devices such as a monitor 102, a keyboard 108, a mouse device 110, a removable disk 112 or 114 and associated drive 116, a CDROM device (not shown), audio speakers (not shown), and a printer 118. The computer 106 could also be coupled to other I/O devices, including a local area network (LAN) or wide area network (WAN) via interface cable 120. The monitor 102 presents a display 104 visually depicting information from the computer system 100 to the user.
The computer 106 generally includes a processor and a memory including random access memory (RAM), read only memory (ROM), and/or other components. The computer 106 operates under control of an operating system 126 such as Windows™, OS/2™, Macintosh™, AIX™, UNIX™, DOS™, Windows95, Windows NT™etc., stored in the memory to present data to the user on the display 102 and to accept and process commands from the user via keyboard 108 and mouse device 110.
The present invention is preferably implemented using one or more computer programs or applications 128 through a graphical user interface. These computer programs 128 are depicted as windows 124 presented on the display 104, operating under control of the operating system 126, to implement a graphical user interface 130.
Generally, the operating system and the computer programs implementing the present invention are tangibly embodied in a computer-readable medium, e.g. one or more of removable data storage devices 112, 114, such as a zip or floppy disc drive, or fixed data storage devices 132, including for example, a hard drive, CD-ROM drive, or tape drive. Also, the relational databases used with the present invention can be stored in data storage devices 132, 112, 114, or may be stored off-line and accessed via interface cable 120.
Those skilled in the art will recognize that the exemplary environment illustrated in FIG. 1 is not intended to limit the present invention. Indeed, those skilled in the art will recognize that other alternative hardware environments may be used without departing from the scope of the present invention.
User Operation
The operation of the present invention is described with reference to FIGS. 3A-3L, which illustrate exemplary embodiments of the user interface aspects of the present invention.
The present invention provides the user with the capability to define a database command SELECT statement before the records are retrieved, thus decreasing the time required to access and retrieve the records. The operation of the present invention is described as follows.
Tables Tab Window
FIG. 3A presents a diagram of an exemplary embodiment of the user-interface of the present invention. The user interface comprises a table tab window 300 presented on the display 104 of the computer system 100, which includes a plurality of tabs 302-312 used to navigate the user interface. The information shown in FIG. 3A is displayed when the user selects the table tab 302. This provides a list of the database tables the user has currently selected for use in the selected tables box 316. First, the user must indicate whether a new SQL statement is being created or the user wishes to edit an existing SQL statement by selecting from radio buttons 314. The user can then remove tables selected in the selected tables box 316 by pressing the remove button 320, or add tables by pressing the add button 318. If the user selects the add button 318, a standard Windows™ "Open Dialog" window will appear. This is shown in FIG. 3B. The user can choose to display different file types by selecting the files of type button 322. Using standard Windows™ techniques, the user may also browse through the directory and table listings and select database tables for opening. The user can select multiple SQL tables, but may only select one table at a time for non-SQL tables. If the user has chosen a non-SQL table, the add button 318 becomes gray, indicating that join operations cannot be performed across these tables.
When the user has completed making database table selections, the OK button 326 is selected, and the selected database table will appear in the selected tables listbox 316 depicted in FIG. 3A. The user can then choose one or more tables in the selected tables listbox 316 and click on the remove button 320 to remove database tables from the selected tables listbox 316.
At any time in the definition of the SQL statement, the user can remove a database table listed in the selected tables listbox 316 by clicking on the database table to be removed, and selecting the remove button 320. If the user attempts to remove a table after having created a partial or full SQL statement, a dialog box will appear on the display 104 warning the user that the current SQL statement will be lost, and the user will be forced to begin again. If this happens, all entries in all of the tab windows 302-312 will be deleted. The user can select on the next button 319 or any of tabs 302-312, to proceed.
Join Tab Window
FIG. 3C shows the join tab window of the present invention. The join tab window 330 displays all of the database tables selected by the user using the tables tab window depicted and described with reference to FIG. 3A. The join tab window 330 comprises a join window display box 331, table information boxes 338 which display the file, field, field type, and field width of the currently chosen database field. Join button 346 is initially disabled, and becomes enabled when the user selects two fields in different tables in the join window display box 331. Once selected fields have been joined, as indicated by a join line 334 displayed in the join window display box 331, join button 346 becomes disabled until the user selects additional fields. Alternatively joins may be created by dragging a field, such as the "CUSTOMER-- ID" field depicted in the "CUSTOMER" table 332 from one of the tables, and dropping it in another table, such as the "ORDERS" table 336. The unjoin button 348 is initially disabled until the user selects a joint relationship between two database tables by selecting the join line 334 between the database tables 332 and 336. If the user selects the unjoin button 348, the join between the two selected database tables is removed. Alias button 345 allows user definition of specified data field table, or other relationships.
Relational Operations Dialog Box
FIG. 3D presents an illustration of the relational operations dialog box 360 of the present invention. This dialog box appears on the display 104 when the user selects the options button 350 of the join tab window 330. The user selects whether the table join operation is an inner join, left outer join, or right outer join by making appropriate selections radio button 364 selections in the relational operations dialog box 360. When this process is completed, the user selects the relational options OK button 366, which returns causes the join window display box 331 to be presented on the display 104.
Condition Tab Window
FIG. 3E presents the condition tab window 370 of the present invention. The condition tab window 370 is presented on the display 104 when the user selects the condition tab 306. The condition tab window 370 comprises a database table dropdown listbox 372 controlled by selecting a database table dropdown listbox tab 374, an associated field listbox 376, which displays the fields in the selected database table, a relational condition listbox 378, a search string edit box 380, and a natural language translation listbox 382. The user creates the search portion of an SQL statement (that portion following the WHERE clause) by selecting a table from the database table dropdown listbox 372. This is accomplished by selecting the database table dropdown listbox tab 374. The user also selects an associated database field from those available listed in the associated field listbox 376, and a relational conditional operator from those listed in the relational condition listbox 378. Next, the user enters any desired search string in the search string listbox 380. The computer system 100 then interprets the values selected above, and displays a natural language translation of the database commands selected above in the natural language translation listbox 382 in the condition tab window 370. The user can now view a plain-language translation of the selected database command, and make any alterations or changes necessary to ensure that the proper data is retrieved, before actually submitting the SQL request.
The user can create an "or" condition by (1) entering values in each line in the search string listbox 380, such as entries 384 and 386, as shown in FIG. 3F, or (2) comma separating each item in one line of the search string listbox 380 listbox.
If the user does not require any additional search criteria, the user selects the condition tab window OK button 388. If the user requires additional search criteria, the "find on another field" button 390 is selected.
Second Condition Tab Window
FIG. 3G is an exemplary embodiment of a second condition tab window 392. The second condition tab window is presented on the display 104 in response to the user selecting the "find another field" button 390 in the first condition tab window 370. The second condition tab window 392 differs from the first condition tab window 370 in that there are two radio buttons 394 at the top of the panel, indicating one or more logical condition operators. In the exemplary embodiment shown, these buttons are used to select whether the second condition should widen the search (by applying a logical "or" between conditions), or narrow the search (by applying a logical "and" between conditions.) By default, the "and" logical condition operator is selected. Once the logical condition operator has been selected, the user proceeds to enter the database table, associated database field, relational conditional operator, and values in box 395 and search string as before. When completed, the combined search criteria, or database command is interpreted and translated in the natural language translation listbox 382.
Fields Tab Window
FIG. 3H shows an exemplary embodiment of a fields tab window 400. The fields tab window 400 is used to customize the format for viewing database command results, and is presented on the display 104 when the user selects the fields tab 308. The fields tab window 400 allows the user to select the database fields for viewing after the search is completed. The user selects the database from the field tab window database dropdown listbox 402, which is controlled by the field tab window database dropdown listbox tab 404. The user then selects database fields from the field tab window field listbox 406, and adds these selections to the field tab window selected field listbox 408 by selecting add button 410. Add button 410 is initially disabled, and enabled when the user selects a database field. Selected database fields can also be removed from the field tab window selected field listbox 408 by selecting the remove button 412. The remove button becomes active when fields in the field tab window selected field listbox 408. When each of the desired fields are copied into the field tab window selected field listbox 408, the computer system 100 appends the field name to the database name and displays both on the field tab window selected field listbox 408 separated by a period delimiter.
Sort Tab Window
FIG. 3I presents an exemplary embodiment of the sort tab window 414, which is selected by the sort tab 310. The sort tab window 414 allows the user to sort data before viewing it on the display 104. The sort tab window 414 contains a sort tab window database field listbox 416, which lists all of the database fields in the user-selected database tables. Using the mouse device 110, the user can double click on any of these fields or single click on the field and select the sort tab window add button 422 (shown disabled) to move them to the "fields to sort" 420. The user can select the sort criteria as "ascending" or "descending" by using the sort order dropdown box 419, or by selecting the indicator icon 421 preceding each field. If the indicator icon 421 is selected, pop-up buttons 421 as shown in FIG. 3J are presented. Likewise, the user can remove fields from the "fields to sort" listbox 420 by double clicking on the selections, or by single clicking on the selections and selecting the sort tab window remove button 424. All fields in the "fields to sort" listbox 424 can be cleared by selecting the sort tab window clear all button 426.
SOL Tab Window
FIG. 3K presents an exemplary embodiment of the SQL tab window. The SQL tab window 414 is presented on the display 104 when the user selects the SQL tab 312.
The SQL tab window 430 comprises an SQL statement edit box 440, in which an SQL statement generated by the foregoing user input is displayed. The SQL statement word wraps within the box automatically. If the SQL statement is too long to view in the SQL statement edit box 440 in its entirety, the statement is word-wrapped and scroll bars are appended to the SQL statement edit box 440.
Each keyword in the SQL statement (such as SELECT, FROM, WHERE, ORDER BY) are placed on a new line to increase readability. Using the mouse device 110, the user can select within this field and highlight information. If the user attempts to modify information in the SQL statement edit box 440, a dialog box appears and warns the user that all tabs except the tables 302 and SQL tabs 312 will become disabled, and other aspects of the user interface described herein will no longer be available for use. The dialog box allows the user to proceed or return. If the user returns, the SQL tab window 430 is again presented on the display 104, with no changes made. If the user proceeds, the SQL statement edit box 440 will become active, and will allow manual SQL statement changes. The user retains the option of returning to the unmodified SQL statement (without the manual changes) by selecting the "restore SQL statement" button 444. This deletes all manual changes to the SQL statement listed in the SQL statement box 440.
The SQL tab window also comprises an SQL tab window database table dropdown listbox 434 and an SQL tab window associated field listbox 438, which allow the user to view the tables and fields and is provided primarily for user reference. When making editing changes to the SQL statement edit box 440. If the user selects the SQL tab window database table dropdown listbox tab 434, a list of all database tables that are currently open and available for searching are displayed in the SQL tab window database table dropdown listbox 434. When a database table is selected, the names of the fields associated with the selected database table are displayed in the SQL tab window associated fields listbox 438. When the user selects a field, the database field name will be placed in the SQL statement edit box 440 at the cursor position. Alternatively, the user then may also drag a field name from the SQL tab window associated fields listbox 438 and drop it into the SQL statement edit box 440. When the user is dropping a field name, an extended underscore ( ) will appear in the SQL statement editbox 440 allowing the user to select where in the SQL statement edit box 440 the fieldname will be placed. If this is the first item to be changed, the database field name is appended to the SQL statement, and a dialog box appears to warn the user after the modifications have been made, the user must make any further modifications manually.
FIG. 3L illustrates an alternative embodiment of the user interface when the SQL tab 312 is selected. This embodiment features a named SQL statement indicator 432 and edit box 440. This allows the user to give a simple, plain-language name for frequently used searches, thereby making the user interface easier to use. For example, the user may wish to name an SQL statement retrieving all customers in California whose orders exceeded $10,000 by naming the SQL statement "GOOD-- CAL." Thereafter, using this feature, the user can use the term "GOOD-- CAL" in place of the equivalent SQL statement.
The user may also proceed directly to the SQL tab window 430 without entering information in the tab windows selected by tabs 302-312. When this happens, the user can click the SQL statement box 440 and manually enter an SQL SELECT statement. Since no SQL statement was created, no warning dialog box is required in this situation, however, as soon as the user begins entering data into the SQL statement box 440 manually, all tabs except the tables 302 and the SQL tabs 312 are disabled. If the user deletes the entire manually entered SQL SELECT statement, all tabs 302-312 become re-enabled.
After the SQL statement is completely entered, the user selects DONE button 442. At this time, the SQL statement is parsed and sent to the SQL database. If the parser finds an error within the SQL statement, a dialog box indicates as such to the user.
Flow Control
FIGS. 4A-4C are flow charts illustrating the logical operation of the present invention. The process begins with the computer 106 presenting a window 124 on the display 104. This is represented by block 500 in FIG. 4A. In one embodiment, the window 124 is the condition tab window 370 depicted in FIG. 3E. Next, the computer 106 accepts user-selected database commands from the a user input device such as the keyboard 108 and mouse device 110. This process is depicted by block 502. The user-selected database commands are selected from a group comprising a database table dropdown listbox 372 having a list of database tables, the associated database field listbox 376, a relational condition listbox 378, and a search string edit box 380. After the user makes the selection, the database command is interpreted as depicted in blocks 504 and 506, and a natural language translation of the database command is presented to the user on the display 104. This allows the user to select database commands from a menu structure and immediately see the result in plain language on the same display. The foregoing process is completed until, as shown in block 508, all commands have been accepted, and an SQL query has been defined.
If no additional search criteria are desired, block 510 presents the SQL tab window to the user to allow manual editing of the SQL command. If additional search criteria are required, a second condition tab window 392 is presented to the user on the display 104. This is depicted in block 514.
FIG. 4B illustrates the remainder of the process described above. After presenting a second condition tab window 392 on the display device 104, the computer 106 accepts a user-selected logical condition to define the logical relationship between the previous search criteria and the additional criteria about to be defined by the user. This requires that the user input a logical conditional operator such as an "or" which retrieves more data records, or an "and" which retrieves less data records. This process is depicted in block 516. If a logical conditional operator is not supplied, block 518 prompts interrupts processing, and prompts the user to enter a logical conditional operator. This process is visually depicted in FIG. 3G, where the user selects the logical conditional operator using radio buttons 394.
After the logical conditional operator is supplied, processing returns to block 502, and the computer 106 accepts additional user-selected database command information. This information will include, for example, a second database table, a second associated database field, a second relational conditional operator, and a second user-defined search string. As before, this information is interpreted by block 504, and a natural language translation of the search request is presented to the user on the display device as the information is entered.
FIG. 4C is a flow diagram showing the operations used to present a window on the display 104. In block 530, a database table box is presented to the user on the display 104. Next, one or more user-selected database tables are accepted from a user input device, as shown in block 532. The user-selected database tables and associated database fields are then displayed to the user by block 534. Finally, a window is generated a database table box, database field box, a relational condition box, and a search string edit box. This is depicted in block 536.
Conclusion
This concludes the description of the preferred embodiment of the invention. The present invention discloses a method, apparatus, and article of manufacture for displaying database management information on a computer. The method comprises the steps of displaying a window on a computer display device, accepting a user-selected database command from a user input device coupled to the computer, interpreting the user-selected database command to produce a natural language translation of the command, and presenting the natural language translation of the command to the user on the display device.
The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.

Claims (24)

What is claimed is:
1. A computerized method of displaying database management system information comprising a plurality of database tables each including a plurality of associated database fields having database data, the method comprising the steps of:
(a) displaying a window on a display device coupled to a computer;
(b) accepting at least one user-selected database command selected from the window into the computer using a user input device coupled to the computer;
(c) interpreting the user-selected database commands to produce a natural language translation of the user-selected database commands;
(d) presenting the natural language translation of the user-selected database commands to the user in the window on the display device; and
(e) processing the user-selected database command to perform a database operation requested by the user-selected command.
2. The method of claim 1, wherein:
the window comprises a natural translation list box and at least one box selected from the group comprising a database table box having a list of the database tables, an associated database field box having a list of the associated database fields, a relational condition box, and a search string edit box; and
the user selected database command is selected from the group comprising a user-selected database table selected from the database table box, a user-selected database field selected from the database field box, a user-defined search string entered into the search parameter edit box, and a user-selected relational conditional operator selected from the relational condition box, the relational condition defining a selected relationship between the database data in the user-selected database field and the user-defined search string.
3. The method of 1, wherein:
the window includes a database table box having a list of the database tables, an associated database field box having a list of the associated database fields, a relational condition box, a search string edit box, and a natural translation list box; and
the user-selected database command comprises a user-selected database table selected from the database table box, a user-selected database field selected from the database field box, a user-defined search string entered into the search parameter edit box, and a user-selected relational conditional operator selected from the relational condition box, the relational condition defining a selected relationship between the database data in the user-selected database field and the user-defined search string.
4. The method of claim 3, wherein the step of displaying a window on the data display device comprises the steps of:
presenting a database table box comprising a list of the plurality of database tables to the user on the display device;
accepting one or more user-selected database tables from the user input device;
presenting the user-selected database tables and associated database fields to the user on the display device;
accepting one or more user-selected database table join relationships between the presented database tables to define joined database tables; and
generating a window comprising a database table box having a list of the joined database tables, a database field box having a list of the associated database fields, a relational condition box comprising a list of available relational conditional operators, a search string edit box, and a natural translation box.
5. The method of claim 3, wherein the window is used to enter an initial user selectable search criteria, further comprising the steps of:
presenting a second window used to enter a second user selectable search criteria on the data display device, the second window comprising a second database table box, a second associated database field box, the relational condition box, a second search string edit box, a plurality of logical condition radio buttons defining available logical condition operators, and the natural translation box;
accepting a user-selected logical conditional operator describing a logical relationship between the initial user selectable search criteria and the second user selectable search criteria;
accepting a second user-selected database table from the second database table box, a second associated database field from the second associated database field box, a second user-defined search parameter selected from the second search parameter edit box, a second user selected relational conditional operator selected from the relational condition box; and
generating the user-selected database command from the user selected database field, the second user-selected database field, the user-selected conditional operator, the second user-selected conditional operator, the user-defined search parameter, and the second user-defined search parameter.
6. The method of claim 5, further comprising the step of providing an error message in a dialog box on the display device if no logical conditional operator is selected.
7. The method of claim 5, wherein the logical condition operator is selected from the group comprising an "or" and an "and."
8. The method of claim 3, wherein the user defined search string comprises search parameters and logical relationships between the search parameters.
9. An apparatus for displaying database management information, comprising a plurality of database tables each including a plurality of associated database fields having database data, the apparatus comprising:
(a) a computer, comprising a processor and a memory storing the database tables;
(b) means, performed by the computer, for displaying a window on a display coupled to the computer;
(c) means, performed by the computer for accepting at least one user-selected database command selected from the window into the computer using a user input device coupled to the computer;
(d) means, performed by the computer, for interpreting the user-selected database commands to produce a natural language translation of the user-selected database commands;
(e) means, performed by the computer, for presenting a natural language translation of the user-selected database commands to the user in the window on the display; and
(f) means, performed by the computer, for processing the user-selected database command to perform a database operation requested by the user-selected command.
10. The apparatus of claim 9, wherein
the window comprises a natural translation list box and at least one box selected from the group comprising a database table box having a list of the database tables, an associated database field box having a list of the associated database fields, a relational condition box, and a search string edit box; and
the user selected database command is selected from the group comprising a user-selected database table selected from the database table box, a user-selected database field selected from the database field box, a user-defined search string entered into the search parameter edit box, and a user-selected relational conditional operator selected from the relational condition box, the relational condition defining a selected relationship between the database data in the user-selected database field and the user-defined search string.
11. The apparatus of claim 9, wherein:
the window includes a database table box having a list of the database tables, an associated database field box having a list of the associated database fields, a relational condition box, a search string edit box, and a natural translation list box; and
the user-selected database command comprises a user-selected database table selected from the database table box, a user-selected database field selected from the database field box, a user-defined search string entered into the search parameter edit box, and a user-selected relational conditional operator selected from the relational condition box, the relational condition defining a selected relationship between the database data in the user-selected database field and the user-defined search string.
12. The apparatus of claim 11, wherein the means for displaying the window on the display device comprises:
means, performed by the computer, for presenting a database table box comprising a list of the plurality of database tables to the user on the display device;
means, performed by the computer, for accepting one or more user-selected database tables from the user input device;
means, performed by the computer, for presenting the user-selected database tables and associated database fields to the user on the display device;
means, performed by the computer, for accepting one or more user-selected database table join relationships between the presented database tables to define joined database tables; and
means, performed by the computer, for generating a window comprising a database table box, having a list of the joined database tables, a database field box having a list of the associated database fields, a relational condition box, comprising a list of available conditional operators, a search string edit box, and a natural translation box.
13. The apparatus of claim 11, wherein the window is used to enter an initial user selectable search criteria, further comprising:
means, performed by the computer for presenting a second window used to enter a second user selectable search criteria on the data display device, the second window comprising a second database table box, a second associated database field box, the relational condition box, a second search string edit box, a plurality of logical condition radio buttons defining available logical condition operators, and the natural translation box;
means, performed by the computer, for accepting a user-selected logical conditional operator describing a logical relationship between the initial user selectable search criteria and the second user selectable search criteria;
means, performed by the computer, for accepting a second user-selected database table from the second database table box, a second associated database field from the second associated database field box, a second user-defined search parameter selected from the second search parameter edit box, a second user selected relational conditional operator selected from the relational condition box; and
means, performed by the computer, for generating the user-selected database command from the user selected database field, the second user-selected database field, the user-selected conditional operator, the second user-selected conditional operator, the user-defined search parameter, and the second user-defined search parameter.
14. The apparatus of claim 13, further comprising means, performed by the computer, for providing an error message in a dialog box on the display devices if no logical conditional operator is selected.
15. The method of claim 13, wherein the logical condition operator is selected from the group comprising an "or" and an "and."
16. The apparatus of claim 11, wherein the user-defined search string comprises search parameters and a logical relationship between the search parameters.
17. A program storage device, readable by a computer having a processor, and a memory storing a plurality of database tables each including a plurality of associated database fields having database data, tangibly embodying one or more programs of instructions executable by the computer to perform method steps of displaying database management system information on the display, the method comprising the steps of:
(a) displaying a window on the display device coupled to the computer;
(b) accepting at least one user-selected database command selected from the window into the computer using a user input device coupled to the computer;
(c) interpreting the user-selected database commands to produce a natural language translation of the user-selected database commands; and
(d) presenting the natural language translation of the user-selected database commands to the user in the window on the display device; and
(e) processing the user-selected database command to perform a database operation requested by the user-selected command.
18. The program storage device of claim 17, wherein:
the window comprises a natural translation list box and at least one box selected from a group comprising a database table box having a list of the database tables, an associated database field box having a list of the associated database fields, a relational condition box, and a search string edit box; and
the user selected database command is selected from a group comprising a user-selected database table selected from the database table box, a user-selected database field selected from the database field box, a user-defined search string entered into the search parameter edit box, and a user-selected relational conditional operator selected from the relational condition box, the relational condition defining a selected relationship between the database data in the user-selected database field and the user-defined search string.
19. The program storage device of claim 17, wherein:
the window includes a database table box having a list of the database tables, an associated database field box having a list of the associated database fields, a relational condition box, a search string edit box, and a natural translation list box; and
the user-selected database command comprises a user-selected database table selected from the database table box, a user-selected database field selected from the database field box, a user-defined search string entered into the search parameter edit box, and a user-selected relational conditional operator selected from the relational condition box, the relational condition defining a selected relationship between the database data in the user-selected database field and the user-defined search string.
20. The program storage device of claim 19, wherein the method step of displaying a window on the data display device comprises the steps of:
presenting a database table box comprising a list of the plurality of database tables to the user on the display device;
accepting one or more user-selected database tables from the user input device;
presenting the user-selected database tables and associated database fields to the user on the display device;
accepting one or more user-selected database table join relationships between the presented database tables to define joined database tables; and
generating a window comprising a database table box having a list of the joined database tables, a database field box having a list of the associated database fields, a relational condition box comprising a list of available relational conditional operators, a search string edit box, and a natural translation box.
21. The program storage device of claim 19, wherein the window is used to enter an initial user selectable search criteria, wherein the method steps further comprise the steps of:
presenting a second window used to enter a second user selectable search criteria on the data display device, the second window comprising a second database table box, a second associated database field box, the relational condition box, a second search string edit box, a plurality of logical condition radio buttons defining available logical condition operators, and the natural translation box;
accepting a user-selected logical conditional operator describing a logical relationship between the initial user selectable search criteria and the second user selectable search criteria;
accepting a second user-selected database table from the second database table box, a second associated database field from the second associated database field box, a second user-defined search parameter selected from the second search parameter edit box, a second user selected relational conditional operator selected from the relational condition box; and
generating the user-selected database command from the user selected database field, the second user-selected database field, the user-selected conditional operator, the second user-selected conditional operator, the user-defined search parameter, and the second user-defined search parameter.
22. The program storage device of claim 21, wherein the method steps further comprise the step of providing an error message in a dialog box on the display device if no logical conditional operator is selected.
23. The program storage device of claim 21, wherein the logical condition operator is selected from the group comprising an "or" and an "and."
24. The program storage device of claim 19, wherein the user defined search string comprises search parameters and logical relationships between the search parameters.
US08/707,139 1996-09-03 1996-09-03 Natural language translation of an SQL query Expired - Lifetime US5924089A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/707,139 US5924089A (en) 1996-09-03 1996-09-03 Natural language translation of an SQL query

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/707,139 US5924089A (en) 1996-09-03 1996-09-03 Natural language translation of an SQL query

Publications (1)

Publication Number Publication Date
US5924089A true US5924089A (en) 1999-07-13

Family

ID=24840506

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/707,139 Expired - Lifetime US5924089A (en) 1996-09-03 1996-09-03 Natural language translation of an SQL query

Country Status (1)

Country Link
US (1) US5924089A (en)

Cited By (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178413B1 (en) * 1998-05-20 2001-01-23 Technolines, Llc Database program with automatic creation of user features
US6189045B1 (en) * 1998-03-26 2001-02-13 International Business Machines Corp. Data type conversion for enhancement of network communication systems
US6212513B1 (en) * 1997-06-27 2001-04-03 International Business Machines Corporation Database access system
US6259969B1 (en) * 1997-06-04 2001-07-10 Nativeminds, Inc. System and method for automatically verifying the performance of a virtual robot
US6311323B1 (en) * 1997-05-27 2001-10-30 Microsoft Corporation Computer programming language statement building and information tool
US6314410B1 (en) 1997-06-04 2001-11-06 Nativeminds, Inc. System and method for identifying the context of a statement made to a virtual robot
WO2002010981A2 (en) * 2000-07-28 2002-02-07 Easyask, Inc. Distributed search system and method
US6356894B2 (en) * 1996-10-23 2002-03-12 Mazda Motor Corporation Document searching method for multilingual documents and storage medium therefore
US20020091942A1 (en) * 2000-01-07 2002-07-11 Geoffrey Cooper Automated generation of an english language representation of a formal network security policy
US20020100016A1 (en) * 2000-06-02 2002-07-25 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US6430531B1 (en) 1999-02-04 2002-08-06 Soliloquy, Inc. Bilateral speech system
US6442522B1 (en) * 1999-10-12 2002-08-27 International Business Machines Corporation Bi-directional natural language system for interfacing with multiple back-end applications
US20020129342A1 (en) * 2001-03-07 2002-09-12 David Kil Data mining apparatus and method with user interface based ground-truth tool and user algorithms
US20020158912A1 (en) * 2001-04-27 2002-10-31 Siemens Medical Solutions Health Services Corporation System and user interface for processing and navigating patient record information
US20030066058A1 (en) * 2001-10-01 2003-04-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
US20030105852A1 (en) * 2001-11-06 2003-06-05 Sanjoy Das Integrated storage appliance
US20030135479A1 (en) * 2001-11-06 2003-07-17 Hacigumus Vahit H. Method and system for providing access to a database
US6604090B1 (en) 1997-06-04 2003-08-05 Nativeminds, Inc. System and method for selecting responses to user input in an automated interface program
US6615111B2 (en) 1997-06-04 2003-09-02 Nativeminds, Inc. Methods for automatically focusing the attention of a virtual robot interacting with users
US20030182391A1 (en) * 2002-03-19 2003-09-25 Mike Leber Internet based personal information manager
US6629087B1 (en) 1999-03-18 2003-09-30 Nativeminds, Inc. Methods for creating and editing topics for virtual robots conversing in natural language
US20040002941A1 (en) * 2002-06-28 2004-01-01 Thorne Greg M. Computer-implemented data replacement graphical user interface system and method
US20040003373A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Token-oriented representation of program code with support for textual editing thereof
US20040003374A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Efficient computation of character offsets for token-oriented representation of program code
US20040006764A1 (en) * 2002-06-28 2004-01-08 Van De Vanter Michael L. Undo/redo technique for token-oriented representation of program code
US20040088158A1 (en) * 2002-10-31 2004-05-06 Phillip Sheu Structured natural language query and knowledge system
US20040117173A1 (en) * 2002-12-18 2004-06-17 Ford Daniel Alexander Graphical feedback for semantic interpretation of text and images
US20040225997A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Efficient computation of line information in a token-oriented representation of program code
US20040225998A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Undo/Redo technique with computed of line information in a token-oriented representation of program code
US20040250112A1 (en) * 2000-01-07 2004-12-09 Valente Luis Filipe Pereira Declarative language for specifying a security policy
US20050015368A1 (en) * 2003-07-15 2005-01-20 International Business Machines Corporation Query modelling tool having a dynamically adaptive interface
US20050015364A1 (en) * 2003-07-15 2005-01-20 International Business Machines Corporation Query model tool and method for visually grouping and ungrouping predicates
US20050015363A1 (en) * 2003-07-15 2005-01-20 International Business Machines Corporation Method and structure for representing complex query elements in a modelling tool
US20060224574A1 (en) * 2003-07-11 2006-10-05 International Business Machines Corporation Abstract data linking and joining interface
US20060294097A1 (en) * 2005-06-27 2006-12-28 Mcafee, Inc. System, method and computer program product for locating a subset of computers on a network
US20070055943A1 (en) * 2005-09-07 2007-03-08 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database applicaiton
US20070061308A1 (en) * 2005-09-12 2007-03-15 Microsoft Corporation Expanded search and find user interface
US20070100809A1 (en) * 2005-11-03 2007-05-03 International Business Machines Corporation Mixed mode (mechanical process and english text) query building support for improving the process of building queries correctly
US20070192475A1 (en) * 2002-09-26 2007-08-16 International Business Machines Corporation Integrated storage appliance
US20070233642A1 (en) * 2006-03-30 2007-10-04 Pahno Achilles N Explicit key paging
US20070244849A1 (en) * 2001-12-18 2007-10-18 Predovic Daniel T Method and system for access and display of data from large data sets
US20070294213A1 (en) * 2002-10-25 2007-12-20 International Business Machines Corporation Method and System for Providing Access to A Database
US20080249998A1 (en) * 2007-04-06 2008-10-09 Dettinger Richard D Techniques for processing data from a multilingual database
US20080288465A1 (en) * 2003-07-15 2008-11-20 International Business Machines Corporation Model content provider with reusable components for supporting a plurality of gui api's
US20090024593A1 (en) * 2007-07-16 2009-01-22 International Business Machines Corporation Query predicate generator to construct a database query predicate from received query conditions
US20090077534A1 (en) * 2007-09-17 2009-03-19 International Business Machines Corporation Method for assisting a user in the process of creating software code
US20090132506A1 (en) * 2007-11-20 2009-05-21 International Business Machines Corporation Methods and apparatus for integration of visual and natural language query interfaces for context-sensitive data exploration
US20090150304A1 (en) * 2002-05-10 2009-06-11 U.S. Bank National Association Automated transaction processing system and approach
US20090259576A1 (en) * 1996-11-12 2009-10-15 U.S. Bank National Association Transaction processing with core and distributor processor implementations
CN101206654B (en) * 2006-12-22 2010-04-14 英业达股份有限公司 Database inquiry system and method having intelligent inquiry capability
US20100257576A1 (en) * 2000-01-07 2010-10-07 Luis Valente Pdstudio design system and method
US8005875B2 (en) 2000-11-01 2011-08-23 Collegenet, Inc. Automatic data transmission in response to content of electronic forms satisfying criteria
WO2011145044A1 (en) 2010-05-17 2011-11-24 Green Sql Ltd Database translation system and method
USRE43391E1 (en) * 1992-04-30 2012-05-15 Straform Data Mgmt Limited Liability Company Database program with automatic creation of user features
US8396811B1 (en) 1999-02-26 2013-03-12 Syncada Llc Validation approach for auditing a vendor-based transaction
US20130110853A1 (en) * 2011-10-31 2013-05-02 Microsoft Corporation Sql constructs ported to non-sql domains
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
CN103646032A (en) * 2013-11-11 2014-03-19 漆桂林 Database query method based on body and restricted natural language processing
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8762238B2 (en) 2004-06-09 2014-06-24 Syncada Llc Recurring transaction processing system and approach
CN103886021A (en) * 2014-02-24 2014-06-25 上海上讯信息技术股份有限公司 Database audit result translation method and system based on natural language
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US8839139B2 (en) 2004-09-30 2014-09-16 Microsoft Corporation User interface for providing task management and calendar information
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US9015624B2 (en) 2004-08-16 2015-04-21 Microsoft Corporation Floating command object
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US9053466B2 (en) 2007-10-31 2015-06-09 International Business Machines Corporation Publishing and subscribing to calendar events information via categorical mapping methodology
US9098473B2 (en) 2007-06-29 2015-08-04 Microsoft Technology Licensing, Llc Accessing an out-space user interface for a document editor program
US9098837B2 (en) 2003-06-26 2015-08-04 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US20150324351A1 (en) * 2012-11-16 2015-11-12 Arria Data2Text Limited Method and apparatus for expressing time in an output text
US9223477B2 (en) 2004-08-16 2015-12-29 Microsoft Technology Licensing, Llc Command user interface for displaying selectable software functionality controls
US9251143B2 (en) 2012-01-13 2016-02-02 International Business Machines Corporation Converting data into natural language form
US9338114B2 (en) 2008-06-24 2016-05-10 Microsoft Technology Licensing, Llc Automatic conversation techniques
WO2016131045A1 (en) * 2015-02-13 2016-08-18 Thomson Reuters Global Resources Systems and methods for natural language question answering and analysis
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US9645698B2 (en) 2004-08-16 2017-05-09 Microsoft Technology Licensing, Llc User interface for displaying a gallery of formatting options applicable to a selected object
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US9690450B2 (en) 2004-08-16 2017-06-27 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US20180150508A1 (en) * 2016-11-26 2018-05-31 Mansur Nizamul Gouse Baban Structured Inquiry language
US20180165330A1 (en) * 2016-12-08 2018-06-14 Sap Se Automatic generation of structured queries from natural language input
US10031938B2 (en) 2006-12-04 2018-07-24 International Business Machines Corporation Determining Boolean logic and operator precedence of query conditions
US20180210883A1 (en) * 2017-01-25 2018-07-26 Dony Ang System for converting natural language questions into sql-semantic queries based on a dimensional model
US10169336B2 (en) 2017-01-23 2019-01-01 International Business Machines Corporation Translating structured languages to natural language using domain-specific ontology
US10445114B2 (en) 2008-03-31 2019-10-15 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US10482429B2 (en) 2003-07-01 2019-11-19 Microsoft Technology Licensing, Llc Automatic grouping of electronic mail
US11151131B2 (en) 2019-07-19 2021-10-19 Bank Of America Corporation Query generation from a natural language input
JP2022089166A (en) * 2020-12-03 2022-06-15 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド Method for generating data pair, apparatus, electronic device, and storage medium
US11500909B1 (en) * 2018-06-28 2022-11-15 Coupa Software Incorporated Non-structured data oriented communication with a database
US11604790B2 (en) 2020-08-31 2023-03-14 Unscrambl Inc Conversational interface for generating and executing controlled natural language queries on a relational database
US11727222B2 (en) 2016-10-31 2023-08-15 Arria Data2Text Limited Method and apparatus for natural language document orchestrator

Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4930071A (en) * 1987-06-19 1990-05-29 Intellicorp, Inc. Method for integrating a knowledge-based system with an arbitrary database system
US5157783A (en) * 1988-02-26 1992-10-20 Wang Laboratories, Inc. Data base system which maintains project query list, desktop list and status of multiple ongoing research projects
US5197005A (en) * 1989-05-01 1993-03-23 Intelligent Business Systems Database retrieval system having a natural language interface
US5237502A (en) * 1990-09-04 1993-08-17 International Business Machines Corporation Method and apparatus for paraphrasing information contained in logical forms
US5265014A (en) * 1990-04-10 1993-11-23 Hewlett-Packard Company Multi-modal user interface
US5265065A (en) * 1991-10-08 1993-11-23 West Publishing Company Method and apparatus for information retrieval from a database by replacing domain specific stemmed phases in a natural language to create a search query
US5323311A (en) * 1990-08-31 1994-06-21 Fujitsu Limited Classified-by-field dictionary generating apparatus, machine translation apparatus and machine translation system using these apparatuses
US5386556A (en) * 1989-03-06 1995-01-31 International Business Machines Corporation Natural language analyzing apparatus and method
US5412804A (en) * 1992-04-30 1995-05-02 Oracle Corporation Extending the semantics of the outer join operator for un-nesting queries to a data base
US5442780A (en) * 1991-07-11 1995-08-15 Mitsubishi Denki Kabushiki Kaisha Natural language database retrieval system using virtual tables to convert parsed input phrases into retrieval keys
US5446842A (en) * 1993-02-26 1995-08-29 Taligent, Inc. Object-oriented collaboration system
US5471611A (en) * 1991-03-13 1995-11-28 University Of Strathclyde Computerised information-retrieval database systems
US5519862A (en) * 1993-02-26 1996-05-21 Taligent, Inc. Concurrent processing apparatus with incremental command objects
US5548755A (en) * 1995-02-17 1996-08-20 International Business Machines Corporation System for optimizing correlated SQL queries in a relational database using magic decorrelation
US5555367A (en) * 1994-09-30 1996-09-10 General Electric Company Method and system for generating computer programs for queries formed by manipulating object-oriented diagrams
US5555169A (en) * 1992-05-20 1996-09-10 Hitachi, Ltd. Computer system and method for converting a conversational statement to computer command language
US5557791A (en) * 1991-08-23 1996-09-17 International Business Machines Corporation Outer join operations using responsibility regions assigned to inner tables in a relational database
US5579223A (en) * 1992-12-24 1996-11-26 Microsoft Corporation Method and system for incorporating modifications made to a computer program into a translated version of the computer program
US5584024A (en) * 1994-03-24 1996-12-10 Software Ag Interactive database query system and method for prohibiting the selection of semantically incorrect query parameters
US5583982A (en) * 1992-12-23 1996-12-10 Object Technology Licensing Corporation Dialog system
US5615367A (en) * 1993-05-25 1997-03-25 Borland International, Inc. System and methods including automatic linking of tables for improved relational database modeling with interface
US5623591A (en) * 1992-04-08 1997-04-22 Borland International, Inc. System and methods for building spreadsheet applications
US5680603A (en) * 1994-10-20 1997-10-21 International Business Machines Corporation Method and apparatus for reordering complex SQL queries containing inner and outer join operations
US5684999A (en) * 1993-12-06 1997-11-04 Matsushita Electric Industrial Co., Ltd. Apparatus and a method for retrieving image objects based on correlation with natural language sentence parameters
US5742827A (en) * 1992-11-02 1998-04-21 Fujitsu Limited Method of automatically forming program specifications and apparatus therefor

Patent Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4930071A (en) * 1987-06-19 1990-05-29 Intellicorp, Inc. Method for integrating a knowledge-based system with an arbitrary database system
US5157783A (en) * 1988-02-26 1992-10-20 Wang Laboratories, Inc. Data base system which maintains project query list, desktop list and status of multiple ongoing research projects
US5386556A (en) * 1989-03-06 1995-01-31 International Business Machines Corporation Natural language analyzing apparatus and method
US5197005A (en) * 1989-05-01 1993-03-23 Intelligent Business Systems Database retrieval system having a natural language interface
US5265014A (en) * 1990-04-10 1993-11-23 Hewlett-Packard Company Multi-modal user interface
US5323311A (en) * 1990-08-31 1994-06-21 Fujitsu Limited Classified-by-field dictionary generating apparatus, machine translation apparatus and machine translation system using these apparatuses
US5237502A (en) * 1990-09-04 1993-08-17 International Business Machines Corporation Method and apparatus for paraphrasing information contained in logical forms
US5471611A (en) * 1991-03-13 1995-11-28 University Of Strathclyde Computerised information-retrieval database systems
US5442780A (en) * 1991-07-11 1995-08-15 Mitsubishi Denki Kabushiki Kaisha Natural language database retrieval system using virtual tables to convert parsed input phrases into retrieval keys
US5557791A (en) * 1991-08-23 1996-09-17 International Business Machines Corporation Outer join operations using responsibility regions assigned to inner tables in a relational database
US5265065A (en) * 1991-10-08 1993-11-23 West Publishing Company Method and apparatus for information retrieval from a database by replacing domain specific stemmed phases in a natural language to create a search query
US5623591A (en) * 1992-04-08 1997-04-22 Borland International, Inc. System and methods for building spreadsheet applications
US5412804A (en) * 1992-04-30 1995-05-02 Oracle Corporation Extending the semantics of the outer join operator for un-nesting queries to a data base
US5555169A (en) * 1992-05-20 1996-09-10 Hitachi, Ltd. Computer system and method for converting a conversational statement to computer command language
US5742827A (en) * 1992-11-02 1998-04-21 Fujitsu Limited Method of automatically forming program specifications and apparatus therefor
US5583982A (en) * 1992-12-23 1996-12-10 Object Technology Licensing Corporation Dialog system
US5579223A (en) * 1992-12-24 1996-11-26 Microsoft Corporation Method and system for incorporating modifications made to a computer program into a translated version of the computer program
US5519862A (en) * 1993-02-26 1996-05-21 Taligent, Inc. Concurrent processing apparatus with incremental command objects
US5446842A (en) * 1993-02-26 1995-08-29 Taligent, Inc. Object-oriented collaboration system
US5615367A (en) * 1993-05-25 1997-03-25 Borland International, Inc. System and methods including automatic linking of tables for improved relational database modeling with interface
US5684999A (en) * 1993-12-06 1997-11-04 Matsushita Electric Industrial Co., Ltd. Apparatus and a method for retrieving image objects based on correlation with natural language sentence parameters
US5584024A (en) * 1994-03-24 1996-12-10 Software Ag Interactive database query system and method for prohibiting the selection of semantically incorrect query parameters
US5555367A (en) * 1994-09-30 1996-09-10 General Electric Company Method and system for generating computer programs for queries formed by manipulating object-oriented diagrams
US5680603A (en) * 1994-10-20 1997-10-21 International Business Machines Corporation Method and apparatus for reordering complex SQL queries containing inner and outer join operations
US5548755A (en) * 1995-02-17 1996-08-20 International Business Machines Corporation System for optimizing correlated SQL queries in a relational database using magic decorrelation

Cited By (166)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE43391E1 (en) * 1992-04-30 2012-05-15 Straform Data Mgmt Limited Liability Company Database program with automatic creation of user features
US6356894B2 (en) * 1996-10-23 2002-03-12 Mazda Motor Corporation Document searching method for multilingual documents and storage medium therefore
US20090259576A1 (en) * 1996-11-12 2009-10-15 U.S. Bank National Association Transaction processing with core and distributor processor implementations
US20070006142A1 (en) * 1997-05-27 2007-01-04 Microsoft Corporation Computer programming language statement building and information tool
US20020095658A1 (en) * 1997-05-27 2002-07-18 Microsoft Corporation Computer programming language statement building and information tool
US7814461B2 (en) 1997-05-27 2010-10-12 Microsoft Corporation Computer programming language statement building and information tool
US7322023B2 (en) 1997-05-27 2008-01-22 Microsoft Corporation Computer programming language statement building and information tool with non obstructing passive assist window
US6311323B1 (en) * 1997-05-27 2001-10-30 Microsoft Corporation Computer programming language statement building and information tool
US6259969B1 (en) * 1997-06-04 2001-07-10 Nativeminds, Inc. System and method for automatically verifying the performance of a virtual robot
US6604090B1 (en) 1997-06-04 2003-08-05 Nativeminds, Inc. System and method for selecting responses to user input in an automated interface program
US6314410B1 (en) 1997-06-04 2001-11-06 Nativeminds, Inc. System and method for identifying the context of a statement made to a virtual robot
US6615111B2 (en) 1997-06-04 2003-09-02 Nativeminds, Inc. Methods for automatically focusing the attention of a virtual robot interacting with users
US6532401B2 (en) 1997-06-04 2003-03-11 Nativeminds, Inc. Methods for automatically verifying the performance of a virtual robot
US6212513B1 (en) * 1997-06-27 2001-04-03 International Business Machines Corporation Database access system
US6189045B1 (en) * 1998-03-26 2001-02-13 International Business Machines Corp. Data type conversion for enhancement of network communication systems
US6178413B1 (en) * 1998-05-20 2001-01-23 Technolines, Llc Database program with automatic creation of user features
US6430531B1 (en) 1999-02-04 2002-08-06 Soliloquy, Inc. Bilateral speech system
US8396811B1 (en) 1999-02-26 2013-03-12 Syncada Llc Validation approach for auditing a vendor-based transaction
US6629087B1 (en) 1999-03-18 2003-09-30 Nativeminds, Inc. Methods for creating and editing topics for virtual robots conversing in natural language
US6442522B1 (en) * 1999-10-12 2002-08-27 International Business Machines Corporation Bi-directional natural language system for interfacing with multiple back-end applications
US20020091942A1 (en) * 2000-01-07 2002-07-11 Geoffrey Cooper Automated generation of an english language representation of a formal network security policy
US7478422B2 (en) 2000-01-07 2009-01-13 Securify, Inc. Declarative language for specifying a security policy
US20040250112A1 (en) * 2000-01-07 2004-12-09 Valente Luis Filipe Pereira Declarative language for specifying a security policy
US20100257576A1 (en) * 2000-01-07 2010-10-07 Luis Valente Pdstudio design system and method
US7047288B2 (en) * 2000-01-07 2006-05-16 Securify, Inc. Automated generation of an english language representation of a formal network security policy specification
US8074256B2 (en) 2000-01-07 2011-12-06 Mcafee, Inc. Pdstudio design system and method
US20020100016A1 (en) * 2000-06-02 2002-07-25 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US7127704B2 (en) * 2000-06-02 2006-10-24 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US20020059204A1 (en) * 2000-07-28 2002-05-16 Harris Larry R. Distributed search system and method
US7606805B2 (en) * 2000-07-28 2009-10-20 EasyAsk Acquisition, LLC Distributed search system and method
WO2002010981A3 (en) * 2000-07-28 2003-12-31 Easyask Inc Distributed search system and method
US20060149719A1 (en) * 2000-07-28 2006-07-06 Harris Larry R Distributed search system and method
WO2002010981A2 (en) * 2000-07-28 2002-02-07 Easyask, Inc. Distributed search system and method
US8402067B2 (en) 2000-11-01 2013-03-19 Collegenet, Inc. Automatic data transmission in response to content of electronic forms satisfying criteria
US9076113B2 (en) 2000-11-01 2015-07-07 Collegenet, Inc. Automatic data transmission in response to content of electronic forms satisfying criteria
US8005875B2 (en) 2000-11-01 2011-08-23 Collegenet, Inc. Automatic data transmission in response to content of electronic forms satisfying criteria
US20020129342A1 (en) * 2001-03-07 2002-09-12 David Kil Data mining apparatus and method with user interface based ground-truth tool and user algorithms
US20020129017A1 (en) * 2001-03-07 2002-09-12 David Kil Hierarchical characterization of fields from multiple tables with one-to-many relations for comprehensive data mining
US7555720B2 (en) 2001-04-27 2009-06-30 Siemens Medical Solutions Health Services Corporation System and user interface for processing and navigating patient record information
US20020158912A1 (en) * 2001-04-27 2002-10-31 Siemens Medical Solutions Health Services Corporation System and user interface for processing and navigating patient record information
US7117479B2 (en) 2001-10-01 2006-10-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
US20030066058A1 (en) * 2001-10-01 2003-04-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
US20030105852A1 (en) * 2001-11-06 2003-06-05 Sanjoy Das Integrated storage appliance
US7325051B2 (en) 2001-11-06 2008-01-29 International Business Machines Corporation Integrated storage appliance
US20030135479A1 (en) * 2001-11-06 2003-07-17 Hacigumus Vahit H. Method and system for providing access to a database
US7315847B2 (en) * 2001-11-06 2008-01-01 International Business Machines Corporation Method and system for providing access to a database
US7899844B2 (en) * 2001-12-18 2011-03-01 Siebel Systems, Inc. Method and system for access and display of data from large data sets
US20070244849A1 (en) * 2001-12-18 2007-10-18 Predovic Daniel T Method and system for access and display of data from large data sets
US20030182391A1 (en) * 2002-03-19 2003-09-25 Mike Leber Internet based personal information manager
US8069054B2 (en) 2002-05-10 2011-11-29 Syncada Llc Automated transaction processing system and approach
US20090150304A1 (en) * 2002-05-10 2009-06-11 U.S. Bank National Association Automated transaction processing system and approach
US7386834B2 (en) 2002-06-28 2008-06-10 Sun Microsystems, Inc. Undo/redo technique for token-oriented representation of program code
US7634460B2 (en) * 2002-06-28 2009-12-15 Sas Institute Inc. Computer-implemented data replacement graphical user interface system and method
US20040006764A1 (en) * 2002-06-28 2004-01-08 Van De Vanter Michael L. Undo/redo technique for token-oriented representation of program code
US20040003374A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Efficient computation of character offsets for token-oriented representation of program code
US20040003373A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Token-oriented representation of program code with support for textual editing thereof
US20040002941A1 (en) * 2002-06-28 2004-01-01 Thorne Greg M. Computer-implemented data replacement graphical user interface system and method
US7624170B2 (en) 2002-09-26 2009-11-24 International Business Machines Corporation Integrated storage appliance
US20070192475A1 (en) * 2002-09-26 2007-08-16 International Business Machines Corporation Integrated storage appliance
US7840545B2 (en) * 2002-10-25 2010-11-23 International Business Machines Corporation Method and system for providing access to a database
US20070294213A1 (en) * 2002-10-25 2007-12-20 International Business Machines Corporation Method and System for Providing Access to A Database
US20040088158A1 (en) * 2002-10-31 2004-05-06 Phillip Sheu Structured natural language query and knowledge system
US7263517B2 (en) * 2002-10-31 2007-08-28 Biomedical Objects, Inc. Structured natural language query and knowledge system
US20100063968A1 (en) * 2002-10-31 2010-03-11 Biomedical Objects, Inc. Structured natural language query and knowledge system
US20070294233A1 (en) * 2002-10-31 2007-12-20 Biomedical Objects, Inc. Structured natural language query and knowledge system
US7620542B2 (en) 2002-10-31 2009-11-17 Biomedical Objects, Inc. Structured natural language query and knowledge system
US20040117173A1 (en) * 2002-12-18 2004-06-17 Ford Daniel Alexander Graphical feedback for semantic interpretation of text and images
US20040225998A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Undo/Redo technique with computed of line information in a token-oriented representation of program code
US20040225997A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Efficient computation of line information in a token-oriented representation of program code
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US9098837B2 (en) 2003-06-26 2015-08-04 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US10482429B2 (en) 2003-07-01 2019-11-19 Microsoft Technology Licensing, Llc Automatic grouping of electronic mail
US20060224574A1 (en) * 2003-07-11 2006-10-05 International Business Machines Corporation Abstract data linking and joining interface
US20050015363A1 (en) * 2003-07-15 2005-01-20 International Business Machines Corporation Method and structure for representing complex query elements in a modelling tool
US8458164B2 (en) 2003-07-15 2013-06-04 International Business Machines Corporation Query model tool and method for visually grouping and ungrouping predicates
US20050015364A1 (en) * 2003-07-15 2005-01-20 International Business Machines Corporation Query model tool and method for visually grouping and ungrouping predicates
US20050015368A1 (en) * 2003-07-15 2005-01-20 International Business Machines Corporation Query modelling tool having a dynamically adaptive interface
US20080288465A1 (en) * 2003-07-15 2008-11-20 International Business Machines Corporation Model content provider with reusable components for supporting a plurality of gui api's
US7984060B2 (en) 2003-07-15 2011-07-19 International Business Machines Corporation Model content provider with reusable components for supporting a plurality of GUI API's
US8762238B2 (en) 2004-06-09 2014-06-24 Syncada Llc Recurring transaction processing system and approach
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US9015624B2 (en) 2004-08-16 2015-04-21 Microsoft Corporation Floating command object
US9690448B2 (en) 2004-08-16 2017-06-27 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US9645698B2 (en) 2004-08-16 2017-05-09 Microsoft Technology Licensing, Llc User interface for displaying a gallery of formatting options applicable to a selected object
US10521081B2 (en) 2004-08-16 2019-12-31 Microsoft Technology Licensing, Llc User interface for displaying a gallery of formatting options
US9864489B2 (en) 2004-08-16 2018-01-09 Microsoft Corporation Command user interface for displaying multiple sections of software functionality controls
US9223477B2 (en) 2004-08-16 2015-12-29 Microsoft Technology Licensing, Llc Command user interface for displaying selectable software functionality controls
US10437431B2 (en) 2004-08-16 2019-10-08 Microsoft Technology Licensing, Llc Command user interface for displaying selectable software functionality controls
US10635266B2 (en) 2004-08-16 2020-04-28 Microsoft Technology Licensing, Llc User interface for displaying selectable software functionality controls that are relevant to a selected object
US9690450B2 (en) 2004-08-16 2017-06-27 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US8839139B2 (en) 2004-09-30 2014-09-16 Microsoft Corporation User interface for providing task management and calendar information
US20080059887A1 (en) * 2005-06-27 2008-03-06 Mcafee, Inc. System, method and computer program product for locating a subset of computers on a network
US20060294097A1 (en) * 2005-06-27 2006-12-28 Mcafee, Inc. System, method and computer program product for locating a subset of computers on a network
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US20070055943A1 (en) * 2005-09-07 2007-03-08 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database applicaiton
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US20070061308A1 (en) * 2005-09-12 2007-03-15 Microsoft Corporation Expanded search and find user interface
US8627222B2 (en) * 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US9513781B2 (en) 2005-09-12 2016-12-06 Microsoft Technology Licensing, Llc Expanded search and find user interface
US10248687B2 (en) 2005-09-12 2019-04-02 Microsoft Technology Licensing, Llc Expanded search and find user interface
US8442992B2 (en) 2005-11-03 2013-05-14 International Business Machines Corporation Mixed mode (mechanical process and english text) query building support for improving the process of building queries correctly
US20070100809A1 (en) * 2005-11-03 2007-05-03 International Business Machines Corporation Mixed mode (mechanical process and english text) query building support for improving the process of building queries correctly
US8214383B2 (en) * 2005-11-03 2012-07-03 International Business Machines Corporation Mixed mode (mechanical process and english text) query building support for improving the process of building queries correctly
US7574421B2 (en) 2006-03-30 2009-08-11 Hewlett-Packard Development Company, L.P. Explicit key paging
US20070233642A1 (en) * 2006-03-30 2007-10-04 Pahno Achilles N Explicit key paging
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US10482637B2 (en) 2006-06-01 2019-11-19 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8638333B2 (en) 2006-06-01 2014-01-28 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US10031938B2 (en) 2006-12-04 2018-07-24 International Business Machines Corporation Determining Boolean logic and operator precedence of query conditions
CN101206654B (en) * 2006-12-22 2010-04-14 英业达股份有限公司 Database inquiry system and method having intelligent inquiry capability
US7680780B2 (en) 2007-04-06 2010-03-16 International Business Machines Corporation Techniques for processing data from a multilingual database
US20080249998A1 (en) * 2007-04-06 2008-10-09 Dettinger Richard D Techniques for processing data from a multilingual database
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US10642927B2 (en) 2007-06-29 2020-05-05 Microsoft Technology Licensing, Llc Transitions between user interfaces in a content editing application
US10592073B2 (en) 2007-06-29 2020-03-17 Microsoft Technology Licensing, Llc Exposing non-authoring features through document status information in an out-space user interface
US9098473B2 (en) 2007-06-29 2015-08-04 Microsoft Technology Licensing, Llc Accessing an out-space user interface for a document editor program
US9619116B2 (en) 2007-06-29 2017-04-11 Microsoft Technology Licensing, Llc Communication between a document editor in-space user interface and a document editor out-space user interface
US10521073B2 (en) 2007-06-29 2019-12-31 Microsoft Technology Licensing, Llc Exposing non-authoring features through document status information in an out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8229940B2 (en) * 2007-07-16 2012-07-24 International Business Machines Corporation Query predicate generator to construct a database query predicate from received query conditions
US20090024593A1 (en) * 2007-07-16 2009-01-22 International Business Machines Corporation Query predicate generator to construct a database query predicate from received query conditions
US8307334B2 (en) * 2007-09-17 2012-11-06 International Business Machines Corporation Method for assisting a user in the process of creating software code
US20090077534A1 (en) * 2007-09-17 2009-03-19 International Business Machines Corporation Method for assisting a user in the process of creating software code
US9053466B2 (en) 2007-10-31 2015-06-09 International Business Machines Corporation Publishing and subscribing to calendar events information via categorical mapping methodology
US20090132506A1 (en) * 2007-11-20 2009-05-21 International Business Machines Corporation Methods and apparatus for integration of visual and natural language query interfaces for context-sensitive data exploration
US10445114B2 (en) 2008-03-31 2019-10-15 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US10997562B2 (en) 2008-06-20 2021-05-04 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US9338114B2 (en) 2008-06-24 2016-05-10 Microsoft Technology Licensing, Llc Automatic conversation techniques
US9875009B2 (en) 2009-05-12 2018-01-23 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
WO2011145044A1 (en) 2010-05-17 2011-11-24 Green Sql Ltd Database translation system and method
US9135297B2 (en) 2010-05-17 2015-09-15 Green Sql Ltd. Database translation system and method
US20130110853A1 (en) * 2011-10-31 2013-05-02 Microsoft Corporation Sql constructs ported to non-sql domains
US10169337B2 (en) 2012-01-13 2019-01-01 International Business Machines Corporation Converting data into natural language form
US9858270B2 (en) 2012-01-13 2018-01-02 International Business Machines Corporation Converting data into natural language form
US9251143B2 (en) 2012-01-13 2016-02-02 International Business Machines Corporation Converting data into natural language form
US9633010B2 (en) 2012-01-13 2017-04-25 International Business Machines Corporation Converting data into natural language form
US9904676B2 (en) * 2012-11-16 2018-02-27 Arria Data2Text Limited Method and apparatus for expressing time in an output text
US10311145B2 (en) 2012-11-16 2019-06-04 Arria Data2Text Limited Method and apparatus for expressing time in an output text
US20150324351A1 (en) * 2012-11-16 2015-11-12 Arria Data2Text Limited Method and apparatus for expressing time in an output text
US11580308B2 (en) 2012-11-16 2023-02-14 Arria Data2Text Limited Method and apparatus for expressing time in an output text
US10853584B2 (en) 2012-11-16 2020-12-01 Arria Data2Text Limited Method and apparatus for expressing time in an output text
CN103646032B (en) * 2013-11-11 2017-01-04 漆桂林 A kind of based on body with the data base query method of limited natural language processing
CN103646032A (en) * 2013-11-11 2014-03-19 漆桂林 Database query method based on body and restricted natural language processing
CN103886021A (en) * 2014-02-24 2014-06-25 上海上讯信息技术股份有限公司 Database audit result translation method and system based on natural language
CN103886021B (en) * 2014-02-24 2018-10-02 上海上讯信息技术股份有限公司 A kind of database audit result interpretation method and system based on natural language
US10409846B2 (en) 2015-02-13 2019-09-10 Thomson Reuters Global Resources Unlimited Company Systems and methods for natural language question answering and analysis
WO2016131045A1 (en) * 2015-02-13 2016-08-18 Thomson Reuters Global Resources Systems and methods for natural language question answering and analysis
US11727222B2 (en) 2016-10-31 2023-08-15 Arria Data2Text Limited Method and apparatus for natural language document orchestrator
US20180150508A1 (en) * 2016-11-26 2018-05-31 Mansur Nizamul Gouse Baban Structured Inquiry language
US20180165330A1 (en) * 2016-12-08 2018-06-14 Sap Se Automatic generation of structured queries from natural language input
US10657124B2 (en) * 2016-12-08 2020-05-19 Sap Se Automatic generation of structured queries from natural language input
US10169336B2 (en) 2017-01-23 2019-01-01 International Business Machines Corporation Translating structured languages to natural language using domain-specific ontology
US20180210883A1 (en) * 2017-01-25 2018-07-26 Dony Ang System for converting natural language questions into sql-semantic queries based on a dimensional model
US11500909B1 (en) * 2018-06-28 2022-11-15 Coupa Software Incorporated Non-structured data oriented communication with a database
US11669520B1 (en) 2018-06-28 2023-06-06 Coupa Software Incorporated Non-structured data oriented communication with a database
US11609908B2 (en) 2019-07-19 2023-03-21 Bank Of America Corporation Query generation from a natural language input
US11609907B2 (en) 2019-07-19 2023-03-21 Bank Of America Corporation Query generation from a natural language input
US11640396B2 (en) 2019-07-19 2023-05-02 Bank Of America Corporation Query generation from a natural language input
US11151131B2 (en) 2019-07-19 2021-10-19 Bank Of America Corporation Query generation from a natural language input
US11604790B2 (en) 2020-08-31 2023-03-14 Unscrambl Inc Conversational interface for generating and executing controlled natural language queries on a relational database
JP2022089166A (en) * 2020-12-03 2022-06-15 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド Method for generating data pair, apparatus, electronic device, and storage medium
US11748340B2 (en) 2020-12-03 2023-09-05 Beijing Baidu Netcom Science And Technology Co., Ltd. Data pair generating method, apparatus, electronic device and storage medium

Similar Documents

Publication Publication Date Title
US5924089A (en) Natural language translation of an SQL query
US5787418A (en) Find assistant for creating database queries
US5842209A (en) User interface for visually depicting inner/outer/left/right joins in a database system
US6219670B1 (en) Method and apparatus for filtering a table list before opening with a graphical user interface
US6609122B1 (en) Navigation of view relationships in database system
EP0583053B1 (en) Graphical database access
US6313834B1 (en) Multi-format and multi-view synchronized data editor
EP0575358B1 (en) Database management system graphical query front end
US6553371B2 (en) Method and system for specifying and displaying table joins in relational database queries
US7644371B2 (en) User interface and method to facilitate hierarchical specification of queries using an information taxonomy
US6768997B2 (en) System and method for creating a search query using movable elements in a graphical user interface
US5418950A (en) System for interactive clause window construction of SQL queries
US6192367B1 (en) Data file editor presenting semi-formatted view
US5764973A (en) System for generating structured query language statements and integrating legacy systems
US6243703B1 (en) Method of accessing and displaying subsystem parameters including graphical plan table data
US5911138A (en) Database search facility having improved user interface
US8135758B2 (en) Customizable, dynamic and on-demand database-informer for relational databases
US7203675B1 (en) Methods, systems and data structures to construct, submit, and process multi-attributal searches
US5721901A (en) Method and apparatus for displaying a dialog box enabling user selections from a database
EP0541298A2 (en) Graphical data base query system
EP1341097A2 (en) Interactively comparing records in a database
US6343294B1 (en) Data file editor for multiple data subsets
EP0690367A1 (en) User interface for managing media spanning for database tables
US6915298B1 (en) User-defined relationships for diagramming user-defined database relations
US6502092B1 (en) Referential integrity navigation in a database system

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MOCEK, DARRYL JON;LEVINE, JONATHAN MICHAEL;LI, KESTER;REEL/FRAME:008250/0424;SIGNING DATES FROM 19961119 TO 19961120

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12