WO2017057451A1 - データベースインタフェース提供プログラム、データベースインタフェース提供方法及びデータベースインタフェース提供装置 - Google Patents

データベースインタフェース提供プログラム、データベースインタフェース提供方法及びデータベースインタフェース提供装置 Download PDF

Info

Publication number
WO2017057451A1
WO2017057451A1 PCT/JP2016/078608 JP2016078608W WO2017057451A1 WO 2017057451 A1 WO2017057451 A1 WO 2017057451A1 JP 2016078608 W JP2016078608 W JP 2016078608W WO 2017057451 A1 WO2017057451 A1 WO 2017057451A1
Authority
WO
WIPO (PCT)
Prior art keywords
database
card
information
control unit
terminal device
Prior art date
Application number
PCT/JP2016/078608
Other languages
English (en)
French (fr)
Inventor
一樹 有田
成典 高橋
リン アール ヤマシタ
Original Assignee
株式会社ディビイ
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 株式会社ディビイ filed Critical 株式会社ディビイ
Publication of WO2017057451A1 publication Critical patent/WO2017057451A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to a database interface providing program, a database interface providing method, and a database interface providing apparatus for realizing an interface for intuitively extracting target information from a database.
  • DB database
  • knowledge of the structure of the DB and a query sentence for the extraction is required.
  • complex requests such as processing to combine multiple DBs (or tables), processing to extract operation results from the combined DBs, processing to add conditional statements, etc.
  • Advanced knowledge is required.
  • Patent Document 1 discloses that a hierarchical structure between data recorded in a DB is visualized, and even a user who does not have special knowledge about DB management can update data in the DB. .
  • the present invention has been made in view of such circumstances, and provides a database interface providing program, a database interface providing method, and a database interface providing apparatus that enable the extraction of information from a DB by an intuitive operation.
  • the purpose is to do.
  • the database interface providing program is a database interface providing program for causing a computer communicating with a database and an external device to execute access to the database based on an instruction from the external device.
  • An object selected from the external device that is displayed on a Web browser screen output to a display unit included in the device, transmits information on a plurality of types of objects that accept selection and placement operations on the Web browser screen, and is transmitted to the external device. And receiving information on the arrangement of the selected object, and creating a query to the database previously associated with the object type based on the received object type and arrangement information.
  • the database interface providing program according to the present invention is characterized in that the object is a card type object.
  • the database interface providing program according to the present invention is characterized in that each of the types of objects corresponds to a query element related to the database.
  • the database interface providing program transmits, to the external device, a list of next query elements that match the query elements corresponding to the objects associated with the objects arranged on the Web browser screen. It is characterized by making it.
  • the database interface providing program according to the present invention is characterized by causing a computer to convert a created query into a natural language indicating the operation content of the database and returning the converted natural language to the external device.
  • a central device that communicates with each of a database and a terminal device accesses the database and provides data from the database to the terminal device based on an instruction from the terminal device.
  • the central device displays information on a plurality of types of objects that are displayed on a Web browser screen that is output to a display unit included in the terminal device, and that receives selection and arrangement operations on the Web browser screen.
  • Sends to the device receives from the terminal device the selected object type and information on the arrangement of the selected object, and pre-corresponds to the object type based on the received object type and arrangement information To the attached database It characterized in that it created a Li.
  • a database interface providing apparatus provides a database interface that communicates with each of a database and an external device, and accesses the database and provides data from the database to the external device based on an instruction from the external device.
  • a transmission unit that transmits information of a plurality of types of objects that are displayed on a Web browser screen that is output to a display unit included in the external device and receives selection and arrangement operations on the Web browser screen, to the external device; Based on the received object type and arrangement information, the receiving unit that receives the selected object type and information on the arrangement of the selected object from the external device, and the object type are associated in advance. Create a query to the database Characterized in that it comprises a creation unit for.
  • an object selection and placement operation is accepted on a Web browser screen that exists between a database and an external device (terminal device) and is displayed on a display unit of the external device.
  • information is automatically supplemented from the query elements corresponding to the object types, and a query is created.
  • the automatic creation of the query is realized by the operation of selecting and arranging the objects associated with the query elements of the database.
  • the object is a card type
  • the database can be accessed by an operation of placing the card.
  • the type of object corresponds to a query element, and information is supplemented by the query element corresponding to the selected object and its arrangement, thereby creating an SQL. Since the arrangement of the query elements is restricted so as to conform to the SQL syntax, it is possible to guide the user so that the arrangement of the objects is not mistaken in the external device.
  • a list of processes (functions) that can be executed with respect to an object (query element) selected and arranged is transmitted to an external device in advance or after being selected for display as a guide.
  • the user can arrange objects corresponding to the elements of the query according to the guide, and can prevent an erroneous operation.
  • FIG. 5 is an explanatory diagram illustrating an example of a screen displayed after a database to be operated is selected using the interface illustrated in FIG. 4.
  • FIG. 6 is an explanatory diagram illustrating an example of a screen displayed when “Out Deck” is selected from the screen of FIG. 5.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the third embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the third embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the third embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the third embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the third embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the third embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the third embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the third embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the third embodiment. It is explanatory drawing which shows the example of the screen transition in Example 4.
  • FIG. It is explanatory drawing which shows the example of the screen transition in Example 4.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the fifth embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the fifth embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the fifth embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the fifth embodiment.
  • FIG. 10 is an explanatory diagram illustrating an example of screen transition in the fifth embodiment.
  • It is explanatory drawing which shows the example of the other interface displayed after selecting the operation target database.
  • It is a flowchart which shows an example of the process sequence performed between the DBIF provision apparatus and terminal device in a modification.
  • It is a flowchart which shows an example of the process sequence performed between the DBIF provision apparatus and terminal device in a modification.
  • FIG. 20 is an explanatory diagram illustrating a screen example according to the sixth embodiment.
  • FIG. 20 is an explanatory diagram illustrating a screen example according to the sixth embodiment.
  • FIG. 20 is an explanatory diagram illustrating a screen example according to the seventh embodiment.
  • FIG. 20 is an explanatory diagram illustrating a screen example in Example 8.
  • FIG. 20 is an ex
  • FIG. 1 is a block diagram showing the configuration of the information processing system in the present embodiment.
  • the information processing system in the present embodiment includes a DB interface providing device (hereinafter referred to as a DBIF providing device) 1, a plurality of terminal devices 2, a DB processing device 3, and a DB group 4.
  • the terminal device 1 is connected to a network N including the Internet.
  • the DBIF providing apparatus 2 is also connected to the network N, and is a server apparatus that accepts a connection from the terminal apparatus 1 via the network N and provides a Web application to the terminal apparatus 1.
  • the DB processing device 3 and the DB group 4 are connected directly or via a network including the Internet.
  • the DB group 4 may be composed of a plurality of DBs connected via a network, and includes a management DB in which information indicating the relationship between the DBs and between the tables in the DBs is recorded.
  • the terminal device 2 is a personal computer (PC: Personal Computer) used by the user. As long as the terminal device 2 can execute a Web browser program, various information terminals such as a desktop PC, a notebook PC (laptop PC), a tablet terminal, or a smartphone may be used.
  • PC Personal Computer
  • various information terminals such as a desktop PC, a notebook PC (laptop PC), a tablet terminal, or a smartphone may be used.
  • the DBIF providing device 1 is a device that provides an interface to the DB group 4 on a Web basis to the terminal device 2 used by the user.
  • the DBIF providing device 1 is a device that creates SQL (Structured Query Query Language) for extracting target information from the DB group 4 via the DB processing device 3 based on information from the terminal device 2.
  • SQL Structured Query Query Language
  • FIG. 2 is a block diagram showing an internal configuration of the DBIF providing apparatus 1 and the terminal apparatus 2 in the present embodiment.
  • the DBIF providing apparatus 1 includes a control unit 10, a storage unit 11, a temporary storage unit 12, and a communication unit 13.
  • the control unit 10 uses a CPU (Central Processing Unit).
  • the control unit 10 reads out and executes the Web server program and the DBIF providing program 1P stored in the storage unit 11, thereby exhibiting a Web server function and a GUI providing function for the DB group 4, and a plurality of them via the network N.
  • the terminal device 1 is provided with a Web page including the above-described GUI.
  • the temporary storage unit 12 uses a RAM such as a DRAM (Dynamic Random Access Memory). The temporary storage unit 12 temporarily stores information generated by the processing of the control unit 10.
  • the storage unit 11 uses a non-volatile storage medium such as a hard disk.
  • the storage unit 11 stores the DBIF providing program 1P described above.
  • the storage unit 11 constitutes a DB interface provided to the terminal device 1 and an engine for creating data for conversion to SQL based on JSON (JavaScript (registered trademark) Object Notation) analysis and JSON analysis. Resources (sources describing each page in various languages such as HTML, card information described later, still images, etc.) are stored.
  • JSON JavaScript (registered trademark) Object Notation
  • the communication unit 13 is connected to the network N, and realizes transmission and reception of information with the terminal device 1 via the network N.
  • the communication unit 13 is connected so as to be able to communicate with the DB processing device 3, and the control unit 10 realizes transmission / reception of a conversion request to SQL and a response based on SQL to the DB processing device 3 by the communication unit 13. .
  • the terminal device 2 includes a control unit 20, a storage unit 21, a temporary storage unit 22, a display unit 23, an operation unit 24, and a communication unit 25.
  • the control unit 20 uses a CPU.
  • the control unit 20 causes the terminal device 2 to exhibit various functions by reading and executing various programs stored in the storage unit 21.
  • the temporary storage unit 22 uses a RAM such as a DRAM.
  • the temporary storage unit 22 temporarily stores information generated by the processing of the control unit 20.
  • the storage unit 21 uses a non-volatile storage medium such as a hard disk or a flash memory.
  • the storage unit 21 stores a browser program 211 that receives an HTML-based Web page and causes the control unit 20 to display a Web browser function that causes the display unit 23 to display characters, images, or moving images included in the Web page.
  • the browser program 211 corresponds to Javascript (registered trademark) including a conversion function to JSON data.
  • the display unit 23 uses, for example, a liquid crystal display. Of course, other types of displays may be used.
  • the control unit 20 causes the display unit 23 to display various screens including characters or images.
  • the operation unit 24 uses an input interface such as a keyboard and a pointing device. The control unit 20 controls each component based on operation information input through the input interface.
  • the display unit 23 and the operation unit 24 may be integrally configured as a touch panel built-in display.
  • the communication unit 25 is connected to a network N including the Internet, and realizes transmission / reception of information to / from other devices via the network N.
  • the control unit 20 transmits and receives Web pages, DB extraction results, and the like to and from the DBIF providing apparatus 1 through the communication unit 25.
  • the data in the DB group 4 is accessed by the operation content on the browser screen displayed on the display unit 23 of the terminal device 2 based on the interface information transmitted from the DBIF providing device 1. Then, an SQL for operation is created.
  • the DBIF providing device 1 receives the result of the processing based on SQL from the DB processing device 3 and transfers it to the terminal device 2.
  • FIG. 3 is an explanatory diagram showing an example of the contents of data recorded in the DB group 4 in the present embodiment.
  • DB group 4 a relational database (Relational DB) is constructed.
  • the DB group 4 stores, for example, data related to business management in one company, and includes employee data, product data, sales data, and customer data as shown in FIG.
  • the employee data includes an employee table having attributes such as “employee name”, “height” and “weight” with “employee ID” as a primary key, and “affiliation ID” of each employee's affiliation. Includes the affiliation table included as an item.
  • the employee data includes a salary table that includes “payment amount” of salary of each employee as an item.
  • the product data includes a product table that includes “product ID”, “product name”, “unit price” and other attributes as items, and a “category table” that includes “category ID” and “category name” of the product.
  • the sales data includes a sales table including sales “number”, “product ID”, “employee ID” of the employee who sold, “customer ID” and other attributes as items. Includes a customer table having “customer ID” as a main key and attributes such as “customer code”, “customer name”, and customer “address” as items. Furthermore, each table has a relationship among the included attributes (keys). Information indicating the relationship shown in FIG. 3 is recorded in the management DB.
  • the content example of the DB shown in FIG. 3 is merely an example. It goes without saying that the present invention can be applied to any information as long as it is information recorded as a DB.
  • FIG. 4 is an explanatory diagram illustrating an example of the interface 231 displayed on the browser screen of the terminal device 2 according to the present embodiment.
  • the top page when the user logs in to the Web service provided by the business entity that manages the DBIF providing device 1 using the terminal device 2 includes a database and an account to which the logged-in account (user) has access authority A list of local data is displayed for selection.
  • the interface 231 includes buttons corresponding to new operations for creating new local data, copying, deleting, and uploading to the DB group 4.
  • the 2014 customer list, the sales data for the first half of 2015, the product data, and the employee data are output as a list regarding the data relating to the business management.
  • FIG. 5 is an explanatory diagram showing an example of a screen displayed after the operation target database is selected by the interface 231 shown in FIG.
  • access to the DB can be selected by three functions of “management deck”, “out deck”, and “modeling deck”.
  • the “management deck” is a function for accepting browsing and updating of each table in the DB and downloading of extracted data as will be described later.
  • the “management deck” is used when browsing records in each table included in the operation target database.
  • FIG. 5 shows a screen example displayed when employee data is selected. In FIG. 5, a list of cards 232 respectively corresponding to a plurality of tables in the selected DB and related tables is displayed.
  • a record in the table corresponding to the card 232 is displayed and can be downloaded as tabular data.
  • the “management deck” it is possible to save or delete a part of the displayed record after correcting it.
  • the upload operation is performed, the data processing is analyzed and modeled by the DB processing device 3 (or another device) via the DBIF providing device 1.
  • a relational database is automatically constructed based on the tabular data, and the DB group 4 is updated.
  • Modeling deck in FIG. 5 is a function that accepts a DB modeling operation of the DB group 4 for which the user has access authority. In contrast to the modeling that has been automatically performed by the upload operation of the “management deck” described above, the user can manually make additional corrections regarding item definitions, relationships between tables, and the like.
  • the “out deck” is a function that accepts an operation for extracting target information to a DB to which the user has access authority in the DB group 4.
  • FIG. 6 is an explanatory diagram showing an example of a screen displayed when “Out Deck” is selected from the screen of FIG.
  • a card type object hereinafter referred to as a card
  • a card corresponding to each item (column) included in the selected DB (for example, product data).
  • a card for example, product data
  • the interface 231 in which “out deck” is selected includes a deck 233 for arranging the cards 232. Information for drawing the card 232 and the deck 233 is described in Javascript (registered trademark).
  • Javascript registered trademark
  • item names of items (product ID, product name, category ID, unit price in the product table) corresponding to each card 232 are displayed on the card 232.
  • the user selects and selects each card 232 by the table name and the item name using the operation unit 24 of the terminal device 1 on the interface 231 in which “out deck” is selected, and drags the card 232 on the deck 233 in order from the upper left. Can be placed with and drop.
  • the type of the selected card 232 (corresponding table and item) and information on the position on the deck 233 are notified from the terminal device 2 to the DBID providing device 1.
  • FIG. 7A and 7B are flowcharts illustrating an example of a processing procedure executed between the DBIF providing apparatus 1 and the terminal apparatus 2 according to the present embodiment.
  • the processing shown below is executed at a timing when “out deck” is selected on the interface 231 displayed on the display unit 23 of the terminal device 2.
  • the control unit 10 of the DBIF providing device 1 transmits the card 232 included in the “out deck” interface 231 and interface information for drawing the deck 233 from the communication unit 13 to the terminal device 2 (step S101).
  • the control unit 20 receives the interface information by the communication unit 25 (step S201). Based on the received interface information, the control unit 20 displays a screen including the card 232 and the deck 233 corresponding to the selected operation target DB in the DB group 4 (step S202).
  • the control unit 20 receives selection of the card 232 on the interface 231 by the display unit 23 and the operation unit 24 (step S203), and temporarily stores information for identifying the card 232 selected and placed on the deck 233. (Step S204). The control unit 20 transmits information on the selected (arranged) card 232 to the DBIF providing apparatus 1 (step S205).
  • the control unit 10 of the DBIF providing apparatus 1 receives the information of the card 232 selected by the communication unit 13 (step S102), data of other items related to the item corresponding to the selected card 232, and the card 232 A list of processes (calculations, functions, etc.) related to the item corresponding to is transmitted to the terminal device 2 (step S103).
  • step S103 may be hierarchically included in advance in the information of the card 232 included in the interface information in S101.
  • step S205 and step S102, and the following step S206 are omitted.
  • the control unit 20 of the terminal device 2 receives data of other items related to the item corresponding to the selected card 232 and a list of processes related to the item corresponding to the card 232 (step S206). Based on the received information, the control unit 20 displays a list of all items (related items) in the table including items corresponding to the card 232 selected in step S203 at the bottom of the deck 233 (step S207). In step S ⁇ b> 207, a guide including a list of related processes is displayed in a balloon shape in the vicinity of the selected card 232.
  • the control unit 20 accepts any selection from the items or processing displayed in step S207 by the operation unit 24 (step S208), and stores information for identifying the selected item or processing in the temporary storage unit 22 (step S208). S209). Next, the control unit 20 determines whether or not the next card 232 is necessary for the selected item or process based on the interface information (step S210).
  • step S210 the next card 232 is necessary based on each item and process included in the interface information transmitted from the DBIF providing apparatus 1, restrictions on the arrangement of the cards 232, and grammatical restrictions between the cards 232. It can be determined whether or not there is.
  • the item or processing information selected from the control unit 20 may be sequentially transmitted to the DBIF providing apparatus 1 as in the processing of S205 described above.
  • the control unit 10 of the DBIF providing apparatus 1 analyzes the syntax from the combination of items and processing, determines whether or not the next card 232 is necessary, and returns.
  • step S210 If it is determined in step S210 that it is necessary (S210: YES), the control unit 20 returns the process to step S203 and accepts the next card 232 to be selected (S203). If it is determined in step S210 that it is unnecessary (S210: NO), the control unit 20 has selected whether or not to execute an operation on the DB based on the card 232 on the current deck 233 and its arrangement from the processing list. Is determined (step S211).
  • step S211 If it is determined in step S211 that execution is not selected (S211: NO), the control unit 20 returns the process to step S208, and accepts selection of other items and selection of the process (S208). In S208, selection of another card 232 may be accepted.
  • step S211 If it is determined in step S211 that execution has been selected (S211: YES), information for identifying the contents of the card 232 selected and placed on the deck 233, and the placement of each card 232 on the deck 233 Information on (row, column, order) is transmitted to the DBIF providing apparatus 1 (step S212). Information on the card 232 and its arrangement may be described based on JSON.
  • the DBIF providing apparatus 1 receives information for identifying the contents of the selected card 232 and information on the arrangement by the communication unit 13 (step S104).
  • the control unit 10 parses the received information (JSON) (step S105), and creates an SQL sentence corresponding to the received information (step S106).
  • control unit 10 may convert the generated SQL sentence into a plain natural language and send it back to the terminal device 2 in order to confirm the content of the process to be executed to the user. At this time, the process may proceed to the next step S107 only after receiving the user's confirmation. As a result, the user can perform processing after grasping what kind of processing is intuitively operated on the terminal device 2.
  • the control unit 10 transmits the SQL statement created in step S106 to the DB processing device 3, causes the DB processing device 3 to execute processing based on SQL (step S107), and receives the processing result (step S108).
  • the control unit 10 transmits information (information identifying the result) of the received processing result (extracted or calculated data) to the terminal device 2 through the communication unit 13 (step S109).
  • the information transmitted from the DBIF providing device 1 is received by the communication unit 25 (step S213), and the process ends.
  • the processing result can be downloaded by the “management deck” based on the received information.
  • the processing result itself may be transmitted and received.
  • FIG. 8 is an explanatory diagram showing an example of a syntax analysis result and an SQL sentence corresponding to the card 232 and its arrangement.
  • the example shown in FIG. 8 shows a group of cards 232 arranged on the deck 233 in order to perform an operation of combining item 1 and item 2 from the database, deleting duplicates and outputting as new 1 data.
  • an analysis result by syntax analysis of AST (Abstract Syntax Tree) from the arranged card group 232 and a corresponding SQL sentence are shown.
  • control unit 10 performs AST syntax analysis from the identification information and arrangement (matrix) of each of the cards 232 group described in JSON.
  • step S106 the control unit 10 automatically constructs a JOIN configuration and generates a WHERE phrase in the condition part based on the analysis result.
  • the control unit 10 on the DBIF providing apparatus 1 side automatically added these sentences or phrases from the AST parsing result. Create an SQL statement.
  • the control unit 10 automatically adds “INNERINJOIN” or “LEFT OUTER JOIN” depending on whether the selected card 232 includes a foreign key or whether it includes NULL.
  • the control unit 10 automatically generates a phrase based on the arrangement (upper and lower) of the cards 232 for arithmetic processing such as rearrangement (ORDER (BY) and grouping (GROUP BY). Handling of these phrases becomes more difficult as the nesting relationship of information becomes more complicated.
  • the SQL IF statement is automatically inserted and added on the DBIF providing apparatus 1 only by the placement operation of the card 232, so that the operability is improved. Significant contribution to improvement.
  • the user automatically creates an SQL sentence in the DBIF providing apparatus 1 through an intuitive operation of placing the card 232 on the deck 233 through the interface 231 on the browser screen of the display unit 23 of the terminal device 2. Is done. Thereby, the user can acquire the target information from the DB group 4.
  • a guide including a list narrowed down to other selectable items related to the card 232 and processing (operation contents, etc.) that can be executed is displayed on the interface 231. Therefore, the user can easily perform the operation without special knowledge about RDBMS and SQL.
  • Example 1 9 to 11 are explanatory diagrams illustrating examples of screen transition in the first embodiment.
  • 9 to 11 show examples of screen transitions when outputting the employee list from the employee data in FIG. 4 in the DB group 4 shown in FIG. 3 in the order of salary.
  • the control unit 20 of the terminal device 2 stores a card (data card) 232 corresponding to an item in the table associated with employee data. Displayed on the interface 231 in a selectable manner.
  • the card 232 corresponds to the items (attributes) of the affiliation table, employee table, and salary table (see FIG. 3).
  • the cards 232 corresponding to these related table items are arranged as selection candidates at the left end of the interface 231 in FIG. 9, and all the cards 232 can be displayed by scrolling.
  • a user drag-and-drop operation (selection and arrangement) on the employee name card 232 is accepted by the operation unit 24.
  • the employee name card 232 is arranged on the deck 233 of FIG. Yes.
  • the control unit 20 belongs to the arranged card 232 based on the interface information (other item data and processing information of the selected item).
  • Cards 234 corresponding to other items (output candidates) of the employee table to be displayed are displayed below the deck 233.
  • the list of cards 234 corresponds to the information items output from the DB group 4. Therefore, the control unit 20 receives a selection from the operation unit 24 as to which item to output from the list on the card 234.
  • the control unit 20 lists processing (functions) for the employee name item based on the interface information received from the DBIF providing apparatus 1.
  • a guide 235 including is displayed.
  • the guide 235 includes processing that can be executed on the DB group 4 based on the employee name item (execute as it is, search, aggregate, rearrange, calculate, and add data). Are listed.
  • FIG. 12 is an explanatory diagram showing an example of the contents of the card 232 corresponding to the processing.
  • the control unit 20 when the selection of “search” is accepted, the control unit 20 outputs a display requesting the arrangement of the card 232 corresponding to the “search condition” and the card 232 for inputting the contents.
  • the control unit 20 obtains the arrangement of the cards 232 corresponding to the “total condition”.
  • control unit 20 When the selection of “reorder” is received, the control unit 20 requests selection of the card 232 corresponding to the “reorder condition”. When selection of “calculate” is accepted, the control unit 20 requests selection of the card 232 corresponding to “calculation” as shown in FIG.
  • the control unit 20 arranges and displays the selected card 232 at a location designated by the user on the deck 233. Since the payment amount card 232 is arranged on the deck 233, the control unit 20 displays a card 234 corresponding to another item of the salary table to which the arranged card 232 belongs below the deck 233. Similarly, the control unit 20 lists a list of processes that can be executed on the payment amount card 232 in the guide 235. Since the purpose is to output the employee name as the amount of salary, the user selects “execute as it is” from the guide 235 or “execute” above the deck 233, and accepts this on the operation unit 24.
  • FIG. 11 shows a processing result based on selection and arrangement of the card 232 shown in FIGS. 9 and 10.
  • the control unit 20 displays the type (corresponding attribute) and arrangement information (row, column, number, etc.) of the selected card 232 as shown in FIG. Transmit to the DBIF providing apparatus 1.
  • the DBIF providing apparatus 1 creates an SQL from the received information on the type and arrangement of the card 232.
  • the control unit 10 creates an SQL by interpreting the type of the card 232 one by one from the first column of the first row of the card 232 (upper left in FIG. 10).
  • FIG. 10 shows a processing result based on selection and arrangement of the card 232 shown in FIGS. 9 and 10.
  • an SQL corresponding to the content of extracting the employee name by the employee name card 232 in the first line and sorting the extraction result by the salary payment card 232 in the second line is created. Is done.
  • the control unit 10 further transmits the created SQL to the DB processing device 3, receives the processing result, and transfers it to the terminal device 2.
  • the control unit 20 shifts to the function screen of “management deck” and displays the processing result as shown in FIG. FIG. 11 shows a result of outputting employee names in order of salary amount (ascending order by default).
  • the list of cards 234 in the deck 233 is all related items. Accordingly, the output result of FIG. 11 includes all related items (not shown).
  • the user can perform the operation based on the intuitive operation of the card 232 on the deck 233 and the list of selectable processes displayed on the guide 235, and the desired information can be obtained even without DB expertise. 4 can be obtained.
  • Example 2 13 to 18 are explanatory diagrams showing examples of screen transition in the second embodiment.
  • FIGS. 13 to 18 show examples of screen transitions when a list of product names is output from the product data of FIG. 4 in the DB group 4 shown in FIG. 3 at a price including tax.
  • the control unit 20 of the terminal device 2 interfaces the cards (data cards) 232 corresponding to the items of the plurality of tables included in the product data. 231 is displayed in a selectable manner.
  • a user's drag and drop operation (selection and arrangement) with respect to the product name card 232 is accepted by the operation unit 24, and as a result, the product name card 232 is arranged on the deck 233 of FIG. 13.
  • the control unit 20 sets the card 234 corresponding to another item of the product table to which the arranged card 232 belongs based on the interface information on the deck 233. Display below.
  • the control unit 20 displays a guide 235 including a list of processes (functions and the like) for the product name item based on the interface information.
  • the guide 235 in the example of FIG. 13 includes processing that can be performed on the DB group 4 based on the item of the product name (execute as it is, search, aggregate, rearrange, calculate, add data). ing.
  • the purpose is to output a list of product names at a price including tax, and since the unit price item is different from the price including tax, “add data” is selected from the guide 235 as shown by the underline in FIG. 20 is accepted by the operation unit 24.
  • the control unit 20 requests selection of the next card 232. Since the purpose is to calculate “price”, as shown in FIG. 14, selection of the card 232 corresponding to the product unit price is accepted and placed on the deck 233.
  • the control unit 20 lists the guide 235 and displays a list of processes that can be executed on the product unit price card 232 on the deck 233. Since the tax-inclusive price is output, a process of multiplying the tax rate is necessary, and “calculate” is selected from the guide 235.
  • the control unit 20 When the selection of “compute” is received, the control unit 20 further displays a guide 235.
  • the new guide 235 includes details of operations that can be selected (addition, subtraction, multiplication, division, rounding, truncation, character string combination, partial character string extraction, and character string length calculation). “Multiply” is selected from the guide 235 to output the price including tax.
  • the control unit 20 places a card 232 corresponding to “multiply” on the deck 233 and asks for input of a multiplier “ ? "Card 232 and a card 232 corresponding to the calculation result item are arranged.
  • the control unit 20 inserts the card 234 of “new card 1” which is an item of the calculation result as an item related to the cards 232 of the deck 233. Display below. Further, the control unit 20 displays a guide 235 including a list of possible processes (adding a (new) data card and inputting a value) for the “?” Card 232.
  • the user selects “input value” in order to input the value of the tax rate, and the control unit 20 accepts this through the operation unit 24.
  • FIG. 16 shows an example of a new guide 235 when “input value” is selected.
  • the control unit 20 accepts the selection of “input value”, the value input box, the “set” button for confirming the input of the value, and “cancel” for deletion.
  • a guide 235 including buttons is displayed.
  • the tax rate “1.08” as of September 2015 is entered. These values are input by the user's operation, and the control unit 20 receives the values through the operation unit 24.
  • FIG. 17 shows the interface 231 after a value is input to the “?” Card 232.
  • the control unit 20 displays the card 232 of “new card 1” corresponding to the item of the result of calculation (multiplication).
  • the list of the cards 234 corresponds to the information items output from the DB group 4, so that when the user's selection operation is accepted by the operation unit 24, the product ID, product number, and category ID are received from the product table. The item has been deselected so that it will not be output (grayed out). Then, the user selects “execute” above the deck 233, and the control unit 20 receives this via the operation unit 24.
  • FIG. 18 shows a processing result based on selection and arrangement of the card 232 shown in FIG.
  • the control unit 20 displays the type (corresponding attribute) and arrangement information (row, column, number, etc.) of the selected card 232 as shown in FIG. Transmit to the DBIF providing apparatus 1.
  • the DBIF providing apparatus 1 creates an SQL from the received information on the type and arrangement of the card 232.
  • the product name is extracted from the product table by the product name card 232 in the first row
  • the calculation result corresponding to the new card 1 is extracted from the extraction result by the product unit price card 232 in the second row. SQL corresponding to the content to be output is created.
  • the control unit 10 further transmits the created SQL to the DB processing device 3, receives the processing result, and transfers it to the terminal device 2.
  • the control unit 20 shifts to the function screen of “management deck” and displays the processing result as shown in FIG.
  • FIG. 18 shows the result of outputting the product name and the tax-included price of each product.
  • the result calculated as a new item (new card 1) is output.
  • FIGS. 13 to 18 even when computation is involved in outputting target information, a user who does not know SQL by selecting a card 232 and selecting a candidate for processing displayed on the guide 235. Even information can be acquired.
  • FIGS. 19 to 24 are explanatory diagrams showing examples of screen transition in the third embodiment.
  • FIGS. 19 to 24 show examples of screen transitions when the employee health status (BMI: Body Mass Index) is output from the employee data of FIG. 4 in the DB group 4 shown in FIG.
  • the control unit 20 of the terminal device 2 selects the card 232 corresponding to the items of the plurality of tables included in the employee data as the interface 231. Display as possible.
  • the card 232 corresponds to the items of the affiliation table, the employee table, and the salary table (see FIG. 3).
  • a user's drag-and-drop operation (selection and arrangement) on the card 232 corresponding to the height of the employee table is accepted by the operation unit 24.
  • the height card 232 is arranged on the deck 233 of FIG. Has been. Since the height card 232 is arranged on the deck 233, the control unit 20 places the card 234 corresponding to the other item in the employee table to which the arranged card 232 belongs based on the interface information below the deck 233. To display.
  • the control unit 20 displays a guide 235 including a list of processes (functions etc.) that can be executed for the height item.
  • the guide 235 includes processing that can be executed on the DB group 4 based on the employee name item (execute as it is, search, aggregate, rearrange, calculate, and add data). Are listed.
  • “Calculate” is selected for the height, and the control unit 20 accepts this through the operation unit 24 and further displays a guide 235.
  • the newly displayed guide 235 shows the contents of the operations that can be selected for the height item (addition, subtraction, multiplication, division, rounding, truncation, character string combination, partial character string extraction, character string length). Calculation). “Division” is selected from guide 235 to calculate BMI.
  • the control unit 20 places a card 232 corresponding to “division” on the deck 233 and requests input of a divisor.
  • a “?” Card 232 and a card 232 corresponding to the calculation result item are arranged.
  • the control unit 20 places the “new card” card 234, which is an item of the calculation result, as an item related to those cards 232 below the deck 233.
  • the control unit 20 displays a guide 235 including a list of possible processes (adding a (new) data card and inputting a value) for the “?” Card 232.
  • the user selects “input value”, and the control unit 20 receives this via the operation unit 24.
  • FIG. 21 shows an example of a new guide 235 when “input value” is selected.
  • “100” for converting the unit of height to the unit of meter is input.
  • the control unit 20 receives an input of “100” through the operation unit 24.
  • FIG. 22 shows the interface 231 after a value is input to the “?” Card 232.
  • the control unit 20 displays a card 232 of “new card 1” corresponding to the item of the result of calculation (division).
  • a drag-and-drop (selection and arrangement) on the card 232 corresponding to the “weight” of the employee in the employee table is newly received and displayed by the operation unit 24.
  • the purpose is to output the BMI as the employee's health status, so that “weight” is divided by “new card 1” which is the result of “height” ⁇ “100”.
  • the operation unit 24 accepts the arrangement of the “division” card 233 and the divisor position of the “new card 1” card 232 by the process “add data card”.
  • the control unit 20 newly arranges a card 232 of “new card 2” corresponding to the calculation result item next to the divisor card 232.
  • the “new card 3” card 232 to be selected is selected and arranged. This is because it is necessary to further divide “weight” ⁇ (“height” ⁇ “100”) by (“height” ⁇ 100) in order to output BMI.
  • FIG. 25 shows a processing result based on selection and arrangement of the card 232 shown in FIG.
  • the control unit 20 displays the type (corresponding attribute) and arrangement information (row, column, number, etc.) of the selected card 232 as shown in FIG. Transmit to the DBIF providing apparatus 1.
  • “Height” / “Division” card 232 in the first row is used to calculate “Height” / “100” for each record in the employee table, and “Weight” in the second row / (“ SQL corresponding to the content of division by “height” ⁇ “100”) and further (“height” ⁇ “100”) in the third row is created.
  • the control unit 20 transitions to the “management deck” screen and displays the processing result as shown in FIG. FIG. 25 shows the result of outputting the employee name, height and weight, and BMI value.
  • FIGS. 19 to 25 even when calculation is accompanied by the output of the target information, the user who does not know the SQL by selecting the card 232 and selecting the processing candidate displayed on the guide 235. Even information can be acquired.
  • Example 4 26 to 28 are explanatory diagrams illustrating examples of screen transition in the fourth embodiment. 26 to 28 show examples of screen transitions when the average value of the product unit price is output from the product data of FIG. 4 in the DB group 4 shown in FIG.
  • the control unit 20 of the terminal device 2 interfaces the card (data card) 232 corresponding to the item of the table associated with the product data. 231 is displayed in a selectable manner. Among these, a user's drag-and-drop operation (selection and arrangement) on the product unit price card 232 is accepted by the operation unit 24. As a result, the product unit price card 232 is arranged on the deck 233 of FIG.
  • the control unit 20 displays a guide 235 including a list of processes (functions) that can be executed for the product unit price.
  • aggregate is selected from the guide 235 as indicated by the underline in FIG. 26, and the control unit 20 receives this from the operation unit 24.
  • the control unit 20 displays a new guide 235 including the contents of aggregation that can be selected (average value, count, search for maximum value, search for minimum value, calculate total). To do.
  • output average value is selected from the guide 235, and the control unit 20 receives this from the operation unit 24.
  • the control unit 20 adds the card 232 corresponding to the function “output average value” to the deck 233. Place on top. Further, the control unit 20 arranges a card 232 corresponding to the tabulation result item. Then, the control unit 20 displays the card 234 of “new card 1” that is an item of the counting result below the deck 233. Further, in FIG. 27, the item “new card 1” (average value) newly added to the product table and items other than “new card 1” that is the output target when the user's selection operation is received by the operation unit 24 are displayed. The item is deselected so that it is not output (grayed out). Then, “execution” above the deck 233 is selected, and the control unit 20 receives this via the operation unit 24.
  • FIG. 28 shows a processing result based on selection and arrangement of the card 232 shown in FIG.
  • the control unit 20 provides DBIF with the type (corresponding attribute) and arrangement information (row, column, number, etc.) of the selected card 232 as shown in FIG. Transmit to device 1.
  • the SQL corresponding to the content of outputting the total result “output average value” for the product unit price of each record in the product table by the product unit price card 232 in the first row is created.
  • the control unit 20 shifts to the function screen of “management deck” and displays the processing result as shown in FIG.
  • FIG. 28 shows the result of outputting the average value of the product unit price (new card 1).
  • FIGS. 26 to 28 even when the output of the target information is accompanied by aggregation, a user who does not know SQL by selecting the card 232 and selecting the processing candidate displayed on the guide 235. Even information can be acquired.
  • FIG. 29 to FIG. 33 are explanatory diagrams showing examples of screen transition in the fifth embodiment. 29 to 33 show examples of screen transitions when a list of employee names of high-height employees is output from the employee data in FIG. 4 in the DB group 4 shown in FIG.
  • the control unit 20 of the terminal apparatus 2 selects the card 232 corresponding to the items in the plurality of tables included in the employee data as the interface 231. Display as possible.
  • the card 232 corresponds to the items of the affiliation table, the employee table, and the salary table (see FIG. 3).
  • the control unit 20 displays a guide 235 including a list of processes (functions) that can be executed on the height corresponding to the placed height card 232 based on the interface information.
  • “Search” is selected from the guide 235 as indicated by the underline in FIG. 29, and the control unit 20 accepts this through the operation unit 24.
  • the control unit 20 displays a new guide 235 including the contents of search conditions that can be selected in the new guide 235. Since the purpose is to search for a tall employee, “above” is selected from the guide 235, and the control unit 20 accepts this through the operation unit 24.
  • the control unit 20 places the “more” corresponding card 232 on the deck 233. Further, the control unit 20 arranges a “?” Card 232 that requests input of a numerical value “above” and a card 23 corresponding to the tabulation result item. Further, the control unit 20 displays a guide 235 including a list of possible processes (adding a (new) data card and inputting a value) for the “?” Card 232. Here, the user selects “input value” in order to input the numerical value of the search condition, and the control unit 20 accepts this through the operation unit 24.
  • FIG. 31 shows an example of a new guide 235 when “input value” is selected.
  • “180” for searching for a so-called tall employee is entered.
  • the control unit 20 receives an input of “180” through the operation unit 24.
  • FIG. 32 shows the interface 231 after a value is input to the “?” Card 232.
  • the “result 1” card 232 corresponding to the search (180 cm or more) result item is placed next to the “?” Card 232.
  • the user's operation is accepted and the selection is canceled (grayed out) so that items other than the “employee name” to be output are not output among the items in the employee table. Then, the user selects “execute” above the deck 233, and the control unit 20 receives this via the operation unit 24.
  • the control unit 20 showing the processing result based on the selection and arrangement of the card 232 shown in FIG. 32 is selected as shown in FIG. 32 when “execute” is selected by the operation unit 24.
  • the type (corresponding attribute) and arrangement information (row, column, number, etc.) of the card 232 are transmitted to the DBIF providing apparatus 1.
  • an SQL corresponding to the content of outputting a search result of “180” or “above” for the item “height” of each record in the employee table is created by the height card 232 in the first row.
  • the control unit 20 shifts to the function screen of “management deck” and displays the processing result as shown in FIG. FIG.
  • FIGS. 26 to 33 shows a result of searching for employees whose height is 180 cm or more. As shown in FIGS. 26 to 33, even when the output of the target information is accompanied by the aggregation, the user who does not know the SQL by selecting the card 232 and selecting the processing candidate displayed on the guide 235. Even information can be acquired.
  • the arrangement of the cards 232 is grammatically natural in Japanese.
  • the card names are changed according to the language used, so that the card 232 is easily understood according to the language used. It is good to design appropriately.
  • the “out deck” is an interface for realizing a function of receiving an operation for extracting target information to a DB to which the user has access authority in the DB group 4. It goes without saying that this interface is not limited to the above-described example and the forms of FIGS. 5 to 33, and examples of other interfaces 236 will be described below.
  • the interface shown in the following description is provided via a Web browser that operates on the terminal device 2.
  • FIG. 34 is an explanatory diagram showing an example of another interface 236 displayed after the operation target database is selected.
  • the interface 236 is displayed when the user selects (desired) the information extraction function from the database after selecting the operation target database in the DB group 4 displayed as in the “out deck”.
  • items (columns) included in a DB for example, product data
  • a card 232 corresponding to the processing content for each item are arranged (see FIG. 36).
  • the areas in which these cards 232 are arranged are classified according to the type of card, and include attributes (item (data card), calculation, condition, etc.) in Fig. 34.
  • the interface 236 includes a dialog screen 237.
  • the dialogue screen 237 is a screen for accepting selection and arrangement of the card 232 in a chat format, and is a screen for the user to input a response sentence that responds to the displayed question sentence in a natural language.
  • FIG. 35A and FIG. 35B are flowcharts illustrating an example of a processing procedure executed between the DBIF providing apparatus 1 and the terminal apparatus 2 in the modification. The processing shown below is started at the timing when the screen shown in FIG. 34 is displayed.
  • the control unit 10 of the DBIF providing device 1 transmits interface information for displaying the interface 236 on the terminal device 2 from the communication unit 13 to the terminal device 2 (step S301).
  • the control unit 20 of the terminal device 2 receives the interface information by the communication unit 25 (step S401), and displays the interface 236 based on the received interface information (step S402).
  • the control unit 20 displays the question text on the dialogue screen 237 in the interface 236 (step S403).
  • the question text is in an interactive format.
  • the first question sentence asks a table to be processed among the tables included in the operation target database.
  • the control unit 20 receives an input of a response text to the question text (step S404), and determines whether the received response text corresponds to the end of the response (step S405). When it is determined in step S405 that it does not correspond to the end (S405: NO), the control unit 20 transmits the received response text information to the DBIF providing apparatus 1 (step S406).
  • the control unit 10 of the DBIF providing apparatus 1 receives the response sentence information (step S302), recognizes the received response sentence, performs language analysis, syntax analysis, etc. as necessary, and includes a processing target included in the response sentence
  • the table, item, process or condition content is specified, and a related question sentence is created or extracted (step S303).
  • the control unit 10 transmits information identifying the specified table, item, process, or condition content and the created or extracted question sentence to the terminal device 2 (step S304).
  • the control unit 20 of the terminal device 2 receives the identification information and the related question text (step S407), and corresponds to the table, item, and process corresponding to the response text received in step S404 based on the received identification information.
  • the card 232 is displayed (step S408).
  • the control unit 20 returns the process to step S403, and displays the related question received in step S407 as the next question sentence (S403).
  • step S405 If it is determined in step S405 that it corresponds to the end (S405: YES), the control unit 20 transmits the content and arrangement information of the arranged correspondence card 232 to the DBIF providing apparatus 1 again (step S409).
  • the control unit 10 of the DBIF providing apparatus 1 receives the contents and arrangement information of the card 232 (step S305), parses the received information (step S306), and creates an SQL sentence corresponding to the received information (step S305). S307).
  • the control unit 10 stores the information received in step S305 and the created SQL sentence in association with each other (step S308), transmits the created SQL sentence to the DB processing apparatus 3, and based on the SQL in the DB processing apparatus 3.
  • the process is executed (step S309).
  • the generated SQL sentence is converted into a plain natural language, returned to the terminal device 2 in order to confirm the contents of the process to be executed to the user, and only after the user's confirmation is accepted. You may make it progress to step S309. As a result, the user can perform processing after grasping what processing the input operation in the interactive mode is performed on the terminal device 2.
  • the control unit 10 receives the processing result from the DB processing device 3 (step S310), and receives information (information identifying the result) of the received processing result (extracted or calculated data) via the communication unit 13 to the terminal device 2. Transmit (step S311).
  • the information transmitted from the DBIF providing device 1 is received by the communication unit 25 (step S410), and the process ends.
  • the processing result may be output based on the received information through an interface corresponding to another function that accepts data download or the like, for example, a “management deck”.
  • S401 to S410 described as processing of the terminal device 2 are executed based on interface information (for example, a program based on Javascript (registered trademark)) transmitted from the DBIF providing device 1 on the Web browser. Therefore, the subject of the processing is not limited to the control unit 20 depending on the design, but may be the DBIF providing apparatus 1. Further, some or all of the processes in steps S302 to S311 executed by the DBIF providing apparatus 1 may be executed on the terminal apparatus 2 side.
  • Example 6 36 to 37 are explanatory diagrams illustrating screen examples according to the sixth embodiment.
  • FIG. 36 the next question sentence is displayed on the dialog screen 237 after the response sentence to the first question is input.
  • the first question asks the table to be processed as described above.
  • a response message “Customers” is input, that is, the customer table is selected.
  • a related question sentence that is, a question sentence indicating which data in the target table is to be processed is displayed.
  • a card 232 corresponding to the selected customer table is displayed.
  • a response sentence “None” is input to the 13th question “Do you have anything else?” On the dialog screen 237, and it is determined that this corresponds to the end of the response. Is done. At this point, the corresponding cards 232 are sorted and arranged for each type.
  • the “Customers number” in the card 232 shown in FIG. 37 corresponds to a new card created as an item of the result of calculation (grouping) in the card 232 shown in FIGS. , A card 232 created in response to the response to the seventh question.
  • “3 or more” is set as the output condition based on the response sentences to the twelfth and thirteenth questions, but a card 232 of “3” in which a numerical value is input is created separately from this.
  • the card 232 corresponding to the calculation “ ⁇ ” may be selected and displayed.
  • the arranged card 232 may be moved by editing, or the contents (numerical values, etc.) of the card 232 may be editable.
  • FIG. 37 an SQL sentence created from the contents and position information of the card 232 arranged in association with the response sentence received on the dialogue screen 237 is displayed.
  • the arrangement of the card 232 and the corresponding SQL sentence are associated with each other and stored as a history in the DBIF providing apparatus 1, and the user uses the contents and arrangement of the card 232 from the history to extract other information. It is also possible.
  • FIG. 38 is an explanatory diagram illustrating a screen example according to the seventh embodiment.
  • FIG. 38 corresponds to the BMI output method shown in FIGS.
  • sequentially related question sentences are displayed, and each time a response sentence is input, the corresponding card 232 and further related question sentences are displayed.
  • the corresponding SQL sentence is displayed.
  • the user can realize the arrangement of the card 232 by inputting a response sentence in an interactive manner. That is, the operation can be performed without understanding the syntax and the like of the selection and arrangement of the card 232 as shown in FIGS.
  • Example 8 39 and 40 are explanatory diagrams illustrating screen examples according to the eighth embodiment.
  • Example 8 shows an example of a screen when a list of specific products is output from the product data of FIG. 4 in the DB group 4 shown in FIG. 39 and 40, related question sentences are displayed sequentially from the first question sentence, and each time a response sentence is input, the corresponding card 232 and the next question sentence are displayed.
  • a response sentence corresponding to the end of the response (“None” response sentence to “What else do you want to do?”) Is input, the corresponding SQL sentence is displayed.
  • the user can realize the arrangement of the card 232 by inputting a response sentence in an interactive manner. Even if the operations are complicated as shown in FIGS. 39 and 40, the user can operate the database by inputting a response sentence in an interactive manner.
  • DBIF providing device (central device) DESCRIPTION OF SYMBOLS 10 Control part 11 Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

DBからの情報の抽出を直感的な操作で実現するデータベースインタフェース提供プログラム、データベースインタフェース提供方法及びデータベースインタフェース提供装置を提供する。 データベース及び端末装置夫々と通信する中央装置が、前記端末装置からの指示に基づいて、前記データベースへアクセスして前記データベースからのデータを前記端末装置へ提供するデータベースインタフェース提供方法において、中央装置は、端末装置が備える表示部に出力されるWebブラウザ画面に表示されて選択及び配置操作を受け付ける複数種類のオブジェクトの情報を前記端末装置へ送信し、前記端末装置から、選択されたオブジェクトの種類、及び該選択されたオブジェクトの配置の情報を受信し、受信した情報に基づき、前記オブジェクトの種類に予め対応付けられている前記データベースへのクエリを作成する。

Description

データベースインタフェース提供プログラム、データベースインタフェース提供方法及びデータベースインタフェース提供装置
 本発明は、データベースから目的の情報を直感的に抽出するインタフェースを実現するデータベースインタフェース提供プログラム、データベースインタフェース提供方法及びデータベースインタエース提供装置に関する。
 膨大な量のデータが記録されているデータベース(以下、DBという)から目的の情報を抽出するためには、DBの構成及びその抽出のための問い合わせ文等の知識が必要になる。特に、複数のDB(又はテーブル)を結合させる処理、結合されたDBにおける演算結果を抽出する処理、又は条件文を加えて抽出する処理などの複雑な要求のためには、DB技術者並みの高度な知識が必要になる。
 従来、DB管理に関する特別な知識がないユーザであってもDBから目的の情報を抽出するために、種々の工夫がされてきた。例えば、クライアントソフトのGUI(Graphic User Interface)を簡易化するなどの工夫もその1つである。そして特許文献1にはDBに記録されているデータ間の階層構造を視覚化し、DB管理に関する特別な知識がないユーザであってもDB内のデータ更新等を可能とすることが開示されている。
特開2014-029597号公報
 上述したように、DBから目的の情報を抽出するためのインタフェースの操作性向上が求められている。
 本発明は斯かる事情に鑑みてなされたものであり、DBからの情報の抽出を直感的な操作で実現することを可能にするデータベースインタフェース提供プログラム、データベースインタフェース提供方法及びデータベースインタフェース提供装置を提供することを目的とする。
 本発明に係るデータベースインタフェース提供プログラムは、データベース及び外部装置夫々と通信するコンピュータに、前記外部装置からの指示に基づいて、前記データベースへのアクセスを実行させるデータベースインタフェース提供プログラムにおいて、コンピュータに、前記外部装置が備える表示部に出力されるWebブラウザ画面に表示され、該Webブラウザ画面上で選択及び配置操作を受け付ける複数種類のオブジェクトの情報を前記外部装置へ送信させ、前記外部装置から選択されたオブジェクトの種類、及び該選択されたオブジェクトの配置の情報を受信させ、受信したオブジェクトの種類及び配置の情報に基づき、前記オブジェクトの種類に予め対応付けられている前記データベースへのクエリを作成させることを特徴とする。
 本発明に係るデータベースインタフェース提供プログラムは、前記オブジェクトはカード型オブジェクトであることを特徴とする。
 本発明に係るデータベースインタフェース提供プログラムは、前記オブジェクトの種類は夫々、前記データベースに関連するクエリ要素に対応することを特徴とする。
 本発明に係るデータベースインタフェース提供プログラムは、前記コンピュータに、前記Webブラウザ画面上に配置されたオブジェクトに関連付けて、該オブジェクトが対応するクエリ要素に合致する次のクエリ要素のリストを前記外部装置へ送信させることを特徴とする。
 本発明に係るデータベースインタフェース提供プログラムは、コンピュータに、作成されたクエリを前記データベースへの操作内容を示す自然言語へ変換させ、変換後の自然言語を前記外部装置へ返信させることを特徴とする。
 本発明に係るデータベースインタフェース提供方法は、データベース及び端末装置夫々と通信する中央装置が、前記端末装置からの指示に基づいて、前記データベースへアクセスして前記データベースからのデータを前記端末装置へ提供するデータベースインタフェース提供方法において、前記中央装置は、前記端末装置が備える表示部に出力されるWebブラウザ画面に表示され、該Webブラウザ画面上で選択及び配置操作を受け付ける複数種類のオブジェクトの情報を前記端末装置へ送信し、前記端末装置から、選択されたオブジェクトの種類、及び該選択されたオブジェクトの配置の情報を受信し、受信したオブジェクトの種類及び配置の情報に基づき、前記オブジェクトの種類に予め対応付けられている前記データベースへのクエリを作成することを特徴とする。
 本発明に係るデータベースインタフェース提供装置は、データベース及び外部装置夫々と通信し、前記外部装置からの指示に基づいて、前記データベースへアクセスして前記データベースからのデータを前記外部装置へ提供するデータベースインタフェース提供装置において、前記外部装置が備える表示部に出力されるWebブラウザ画面に表示され、該Webブラウザ画面上で選択及び配置操作を受け付ける複数種類のオブジェクトの情報を前記外部装置へ送信する送信部と、前記外部装置から、選択されたオブジェクトの種類、及び該選択されたオブジェクトの配置の情報を受信する受信部と、受信したオブジェクトの種類及び配置の情報に基づき、前記オブジェクトの種類に予め対応付けられている前記データベースへのクエリを作成する作成部とを備えることを特徴とする。
 本発明では、データベースと外部装置(端末装置)との間に存在し、外部装置の表示部に表示されるWebブラウザ画面上でオブジェクトの選択及び配置操作が受け付けられ、選択されたオブジェクトの種類及びその配置に応じて、前記オブジェクトの種類に各対応しているクエリ要素から自動的に情報が補填されてクエリが作成される。これにより、データベースのクエリ要素に対応付けられているオブジェクトの選択及び配置の操作によりクエリの自動作成が実現する。
 本発明では、オブジェクトはカード型であり、カードを配置するという操作によってデータベースへのアクセスが可能になる。
 本発明では、オブジェクトの種類はクエリ要素に対応しており、選択されたオブジェクトに対応するクエリ要素及びその配置によって情報が補填されてSQLの作成が実現される。クエリ要素の配置がSQLの構文に沿うように制限されるようにしてあることで、外部装置にてユーザがオブジェクトの配置を誤らないように誘導することも可能である。
 本発明では、選択されて配置されたオブジェクト(クエリ要素)に対して実行できる処理(関数)のリストがガイドとして表示するべく予め、又は選択された後に外部装置へ送信される。これにより、ユーザはガイドに従ってクエリの要素に対応するオブジェクトを配置することができ、誤った操作がなされることを防止することが可能である。
 本発明では、選択されたオブジェクトの種類及び配置に対応するクエリによって、データベースに対してどのような処理が行なわれるかが自然言語に変換されて外部装置へ送信される。これによりユーザは、自身の操作結果がどのような処理に対応するかを認識することができる。
 本発明による場合、直感的な操作によってDBから容易に目的の情報を抽出することが可能になる。
本実施の形態における情報処理システムの構成を示すブロック図である。 本実施の形態における端末装置及びDBIF提供装置の内部構成を示すブロック図である。 本実施の形態におけるDB群に記録されているデータの内容例を示す説明図である。 本実施の形態の端末装置のブラウザ画面に表示されるインタフェースの例を示す説明図である。 図4に示したインタフェースにて操作対象のデータベースを選択した後に表示される画面の例を示す説明図である。 図5の画面から「アウトデッキ」が選択された場合に表示される画面例を示す説明図である。 本実施の形態のDBIF提供装置及び端末装置間で実行される処理手順の一例を示すフローチャートである。 本実施の形態のDBIF提供装置及び端末装置間で実行される処理手順の一例を示すフローチャートである。 カードとその配置に対応する構文解析結果及びSQL文の例を示す説明図である。 実施例1における画面遷移の例を示す説明図である。 実施例1における画面遷移の例を示す説明図である。 実施例1における画面遷移の例を示す説明図である。 処理に対応するカードの内容例を示す説明図である。 実施例2における画面遷移の例を示す説明図である。 実施例2における画面遷移の例を示す説明図である。 実施例2における画面遷移の例を示す説明図である。 実施例2における画面遷移の例を示す説明図である。 実施例2における画面遷移の例を示す説明図である。 実施例2における画面遷移の例を示す説明図である。 実施例3における画面遷移の例を示す説明図である。 実施例3における画面遷移の例を示す説明図である。 実施例3における画面遷移の例を示す説明図である。 実施例3における画面遷移の例を示す説明図である。 実施例3における画面遷移の例を示す説明図である。 実施例3における画面遷移の例を示す説明図である。 実施例3における画面遷移の例を示す説明図である。 実施例4における画面遷移の例を示す説明図である。 実施例4における画面遷移の例を示す説明図である。 実施例4における画面遷移の例を示す説明図である。 実施例4における画面遷移の例を示す説明図である。 実施例5における画面遷移の例を示す説明図である。 実施例5における画面遷移の例を示す説明図である。 実施例5における画面遷移の例を示す説明図である。 実施例5における画面遷移の例を示す説明図である。 操作対象のデータベースを選択した後に表示される他のインタフェースの例を示す説明図である。 変形例におけるDBIF提供装置及び端末装置間で実行される処理手順の一例を示すフローチャートである。 変形例におけるDBIF提供装置及び端末装置間で実行される処理手順の一例を示すフローチャートである。 実施例6における画面例を示す説明図である。 実施例6における画面例を示す説明図である。 実施例7における画面例を示す説明図である。 実施例8における画面例を示す説明図である。 実施例8における画面例を示す説明図である。
 以下、本発明をその実施形態を示す図面に基づいて具体的に説明する。なお、以下に示す実施の形態は例示であって、本発明は以下の構成に限られないことは勿論である。
 図1は、本実施の形態における情報処理システムの構成を示すブロック図である。本実施の形態における情報処理システムは、DBインタフェース提供装置(以下、DBIF提供装置という)1、複数の端末装置2、DB処理装置3、及びDB群4を含む。端末装置1はインターネットを含むネットワークNに接続されている。DBIF提供装置2もネットワークNに接続されており、ネットワークNを介して端末装置1からの接続を受け付け、端末装置1向けにWebアプリケーションを提供するサーバ装置である。DB処理装置3及びDB群4は、直接的又はインターネットを含むネットワークを介して接続されている。DB群4はネットワークを介して接続されている複数のDBから構成されてもよく、各DB間及びDB内のテーブル同士の関係を示す情報を記録した管理DBを含む。
 端末装置2は、ユーザが使用するパーソナルコンピュータ(PC:Personal Computer )である。端末装置2は、Webブラウザプログラムを実行可能な装置であれば、デスクトップ型PC、ノートPC(ラップトップ型PC)、タブレット端末、又はスマートフォン等の種々の情報端末を用いてよい。
 DBIF提供装置1は、ユーザが使用する端末装置2へWebベースにてDB群4へのインタフェースを提供する装置である。DBIF提供装置1は、端末装置2からの情報に基づき、DB処理装置3を介してDB群4から目的の情報を抽出するためのSQL(Structured Query Language )を作成する装置である。
 図2は、本実施の形態におけるDBIF提供装置1及び端末装置2の内部構成を示すブロック図である。DBIF提供装置1は、制御部10、記憶部11、一時記憶部12、及び通信部13を備える。
 制御部10は、CPU(Central Processing Unit )を用いる。制御部10は記憶部11に記憶されているWebサーバプログラム及びDBIF提供プログラム1Pを読み出して実行することにより、Webサーバ機能、及びDB群4に対するGUI提供機能を発揮し、ネットワークNを介して複数の端末装置1に上述のGUIを含むWebページを提供する。一時記憶部12は、DRAM(Dynamic Random Access Memory)等のRAMを用いる。一時記憶部12は、制御部10の処理によって生成される情報を一時的に記憶する。
 記憶部11は、ハードディスク等の不揮発性の記憶媒体を用いる。記憶部11には上述したDBIF提供プログラム1Pが記憶されている。また記憶部11は、JSON(JavaScript(登録商標) Object Notation)の解析、及び、JSONの解析に基づくSQLへの変換用データを作成するためのエンジン、端末装置1へ提供するDBインタフェースを構成するリソース(HTMLを始めとする各種言語にて各ページを記述したソース、後述するカード情報、静止画像等)が記憶されている。
 通信部13は、ネットワークNに接続されており、ネットワークNを介した端末装置1との間での情報の送受信を実現する。また通信部13は、DB処理装置3と通信することが可能に接続されており、制御部10は通信部13によってDB処理装置3へSQLへの変換リクエスト及びSQLに基づくレスポンスの送受信を実現する。
 端末装置2は、制御部20、記憶部21、一時記憶部22、表示部23、操作部24及び通信部25を備える。
 制御部20は、CPUを用いる。制御部20は、記憶部21に記憶されている各種プログラムを読み出して実行することにより、端末装置2に多様な機能を発揮させる。一時記憶部22は、DRAM等のRAMを用いる。一時記憶部22は、制御部20の処理によって生成される情報を一時的に記憶する。
 記憶部21は、ハードディスク又はフラッシュメモリ等の不揮発性の記憶媒体を用いる。記憶部21には、HTMLベースのWebページを受信し、Webページに含まれる文字、画像、又は動画像を表示部23へ表示させるWebブラウザ機能を制御部20に発揮させるブラウザプログラム211が記憶されている。特にブラウザプログラム211は、JSONデータへの変換機能を含むJavascript(登録商標)に対応している。
 表示部23は、例えば液晶ディスプレイを用いる。勿論他の種類のディスプレイを用いてもよい。制御部20は、表示部23へ文字又は画像を含む各種画面を表示させる。操作部24は、キーボード及びポインティングデバイス等の入力インタフェースを用いる。制御部20は、入力インタフェースによって入力した操作情報に基づいて各構成部を制御する。なお表示部23及び操作部24は、タッチパネル内蔵型ディスプレイとして一体的に構成されてもよい。
 通信部25は、インターネットを含むネットワークNに接続されており、ネットワークNを介した他装置との間での情報の送受信を実現する。制御部20は通信部25によって、DBIF提供装置1との間でWebページ、DBの抽出結果等を送受信する。
 このように構成される情報処理システムでは、DBIF提供装置1から送信されるインタフェース情報に基づいて端末装置2の表示部23に表示されるブラウザ画面での操作内容により、DB群4におけるデータにアクセスし、操作するためのSQLを作成する。DBIF提供装置1は、SQLに基づく処理の結果をDB処理装置3から受信し、端末装置2へ転送する。
 図3は、本実施の形態におけるDB群4に記録されているデータの内容例を示す説明図である。DB群4では関係データベース(Relational DB )が構築されている。DB群4は例えば、1つの企業における業務管理に係るデータを記憶しており、図3に示すように、従業員データ、商品データ、売上データ及び顧客データを含む。従業員データは、「従業員ID」を主キーとして「従業員名」、「身長」、「体重」等の属性を項目として持つ従業員テーブル、各従業員の所属先の「所属ID」を項目として含む所属テーブルを含む。また従業員データは、各従業員の給与の「支払額」を項目として含む給与テーブルを含む。商品データは、「商品ID」を主キーとして「商品番号」、「商品名」、「単価」等の属性を項目として含む商品テーブル、商品の「カテゴリID」及び「カテゴリ名」を含むカテゴリテーブルを含む。売上データは、「売上ID」を主キーとして売上「個数」、「商品ID」、販売した従業員の「従業員ID」、「顧客ID等の属性を項目として含む売上テーブルを含む。顧客データは、「顧客ID」を主キーとして「顧客コード」、「顧客名」、顧客の「住所」等の属性を項目として持つ顧客テーブルを含む。更に各テーブル同士は、含まれる属性(キー)同士で関連を持っている。図3中で示される関連性を示す情報は管理DBに記録されている。なお図3に示したDBの内容例はあくまで例示である。DBとして記録されている情報であれば、いかなる情報であっても本発明が適用できることは勿論である。
 次に、DBIF提供装置1から送信されるインタフェース情報について、該インタフェース情報により表示されるブラウザ上の画面例及びフローチャートを参照して具体的に説明する。図4は、本実施の形態の端末装置2のブラウザ画面に表示されるインタフェース231の例を示す説明図である。ユーザが端末装置2を用いてDBIF提供装置1を管理する事業者から提供されるWebサービスにログインした場合のトップページには、ログインしたアカウント(ユーザ)がアクセス権限を有しているデータベース及びアカウント用のローカルデータの一覧が選択可能に表示される。また、図4に示すように、インタフェース231は、新たなローカルデータの新規作成、コピー、削除、及びDB群4へのアップロードの各操作に対応するボタンを含む。図4の例では、業務管理に係るデータに関し、2014年度顧客リスト、2015年度上期の売上データ、商品データ及び従業員データがリストとして出力されている。
 図5は、図4に示したインタフェース231にて操作対象のデータベースを選択した後に表示される画面の例を示す説明図である。図5に示すように、データベースを選択した後のインタフェース231では、「マネージメントデッキ」、「アウトデッキ」、及び「モデリングデッキ」の3つの機能によりDBへのアクセスが選択可能である。「マネージメントデッキ」はDB内の各テーブルの閲覧及び内容更新、及び後述するように抽出されたデータのダウンロード等を受け付ける機能である。例えば「マネージメントデッキ」は、操作対象のデータベースに含まれる各テーブルのレコードを閲覧する際に用いる。図5には例として、従業員データが選択された場合に表示される画面例を示している。図5では、選択されたDB内の複数のテーブル及び関連するテーブルに夫々対応するカード232のリストが表示されている。いずれかのカード232を選択した場合、カード232に対応するテーブル内のレコードが表示され、表形式のデータでダウンロードが可能である。また、「マネージメントデッキ」上では、表示されたレコードの一部を修正した上での保存、又は削除が可能である。更に、レコードを追加してアップロードすることが可能である。アップロード操作が行なわれた場合、DBIF提供装置1を経由してDB処理装置3(又は他装置)にて、データ定義の解析及びモデリングを行なわれる。そして表形式データに基づいて自動的にリレーショナルデータベースが構築され、DB群4の更新が実行される。
 図5中の「モデリングデッキ」はDB群4の内、ユーザがアクセス権限を有しているDBのモデリング操作を受け付ける機能である。上述の「マネージメントデッキ」のアップロード操作によって引き続き自動的に行なわれたモデリングに対して、ユーザは項目の定義、テーブル間の関連等について追加修正を手動で行なうことが可能である。「アウトデッキ」はDB群4の内、ユーザがアクセス権限を有しているDBに対して目的の情報を抽出するための操作を受け付ける機能である。
 以下の説明では主に「アウトデッキ」にて実現される操作について説明する。
 図6は、図5の画面から「アウトデッキ」が選択された場合に表示される画面例を示す説明図である。図6に示すように「アウトデッキ」が選択されたインタフェース231には、選択されているDB(例えば商品データ)に含まれる各項目(カラム)に対応するカード型のオブジェクト(以下、カードという)232群のリストを含む。項目はテーブル別に存在してテーブル及び項目名で識別できる。また「アウトデッキ」が選択されたインタフェース231は、カード232を配置するためのデッキ233を含む。カード232及びデッキ233を描画するための情報は、Javascript(登録商標)により記述されている。図6の例ではカード232には、各カード232が対応する項目(商品テーブルにおける商品ID、商品名、カテゴリID、単価)の項目名が表示されている。ユーザは「アウトデッキ」が選択されているインタフェース231上で、端末装置1の操作部24を用いて各カード232をテーブル名及び項目名で識別して選択し、デッキ233上に左上から順にドラッグアンドドロップで配置することができる。選択されたカード232の種類(対応するテーブル及び項目)、及びそのデッキ233上での位置の情報は、端末装置2からDBID提供装置1へ通知される。
 図6の表示及び以下に説明する「アウトデッキ」が選択されているインタフェース231における操作に対応する処理についてフローチャートを参照して説明する。図7A及び7Bは、本実施の形態のDBIF提供装置1及び端末装置2間で実行される処理手順の一例を示すフローチャートである。以下に示す処理は、端末装置2の表示部23に表示されているインタフェース231にて「アウトデッキ」が選択されたタイミングで実行される。
 DBIF提供装置1の制御部10は、「アウトデッキ」のインタフェース231が含むカード232、及びデッキ233を描画するためのインタフェース情報を通信部13から端末装置2へ送信する(ステップS101)。
 端末装置2では制御部20は、インタフェース情報を通信部25により受信する(ステップS201)。制御部20は、受信したインタフェース情報に基づき、DB群4の内の選択されている操作対象のDBに対応するカード232及びデッキ233を含む画面を表示する(ステップS202)。
 制御部20は、表示部23及び操作部24により、インタフェース231上のカード232の選択を受け付け(ステップS203)、選択されてデッキ233上に配置されたカード232を識別する情報を一時記憶部22に記憶する(ステップS204)。制御部20は、選択(配置)されたカード232の情報をDBIF提供装置1へ送信する(ステップS205)。
 DBIF提供装置1の制御部10は、通信部13により選択されたカード232の情報を受信し(ステップS102)、選択されたカード232に対応する項目に関連する他の項目のデータ、及びカード232に対応する項目に関連する処理(演算、関数等)のリストを端末装置2へ送信する(ステップS103)。
 なお、ステップS103の各カード232の項目に関連する他の項目データ及び処理の情報は予め、S101におけるインタフェース情報に含まれるカード232の情報の中に階層的に含まれる構成としてもよい。この場合ステップS205及びステップS102、並びに以下のステップS206は省略される。
 端末装置2の制御部20は、選択されたカード232に対応する項目に関連する他の項目のデータ、及びカード232に対応する項目に関連する処理のリストを受信する(ステップS206)。制御部20は、受信した情報に基づきステップS203で選択されたカード232に対応する項目を含むテーブルの全項目(関連する項目)のリストをデッキ233の下部に表示する(ステップS207)。ステップS207では、関連する処理のリストを含むガイドを、選択されたカード232の近傍にフキダシ状に表示する。
 制御部20は、ステップS207で表示した項目、又は処理からいずれかの選択を操作部24により受け付け(ステップS208)、選択された項目又は処理を識別する情報を一時記憶部22に記憶する(ステップS209)。次に、選択された項目又は処理に対して次のカード232が必要であるか否か、制御部20はインタフェース情報に基づき判断する(ステップS210)。
 ステップS210においては、DBIF提供装置1から送信されるインタフェース情報に含まれる各項目及び処理、カード232の配置の制約、及びカード232間の文法上の制約に基づいて、次にカード232が必要であるか否かが判断可能である。なお上述のS205の処理のように、制御部20から選択された項目又は処理の情報を逐次DBIF提供装置1へ送信するようにしてもよい。この場合、DBIF提供装置1の制御部10が、項目及び処理の組み合わせから構文の解析を行なって次のカード232が必要であるか否かを判断して返信する。
 ステップS210にて必要であると判断された場合(S210:YES)、制御部20は処理をステップS203へ戻して次の選択されるべきカード232を受け付ける(S203)。ステップS210にて不要であると判断された場合(S210:NO)、制御部20は、処理のリストから現在のデッキ233上のカード232及びその配置に基づくDBに対する操作の実行が選択されたか否かを判断する(ステップS211)。
 ステップS211にて実行が選択されていないと判断された場合(S211:NO)、制御部20は処理をステップS208へ戻し、他の項目の選択、処理の選択を受け付ける(S208)。S208では他のカード232の選択を受け付けてもよい。
 ステップS211にて実行が選択されたと判断された場合(S211:YES)、選択されてデッキ233上に配置されているカード232の内容を識別する情報と、各カード232のデッキ233上での配置(行、列、順序)の情報をDBIF提供装置1へ送信する(ステップS212)。カード232及びその配置の情報はJSONに基づき記述されるとよい。
 DBIF提供装置1は、選択されたカード232の内容を識別する情報及び配置の情報を通信部13により受信する(ステップS104)。制御部10は、受信された情報(JSON)を構文解析し(ステップS105)、受信した情報に対応するSQL文を作成する(ステップS106)。
 なお制御部10は、作成されるSQL文を平易な自然言語に変換し、実行する処理の内容をユーザに確認するべく端末装置2へ返信するようにしてもよい。このときユーザの確認を受け付けて初めて次のステップS107へ進めるようにしてもよい。これによりユーザは端末装置2で直感的に操作したことがどのような処理になるのかを把握してから処理を行なうことが出来る。
 制御部10はステップS106で作成したSQL文をDB処理装置3へ送信してDB処理装置3においてSQLに基づく処理を実行させ(ステップS107)、処理結果を受信する(ステップS108)。制御部10は、受信した処理結果(抽出又は演算されたデータ)の情報(結果を識別する情報)を通信部13により端末装置2へ送信する(ステップS109)。
 端末装置2では、DBIF提供装置1から送信された情報を通信部25により受信し(ステップS213)、処理を終了する。なお処理結果は、受信した情報に基づき「マネージメントデッキ」によりダウンロードすることが可能である。ステップS109及びS213にて、処理結果自体を送受信するようにしてもよい。
 ステップS104~S106における処理について概要を説明する。図8は、カード232とその配置に対応する構文解析結果及びSQL文の例を示す説明図である。図8に示す例では、データベースから項目1と項目2とを合わせると共に重複を削除して新規1のデータとして出力するという操作を行なうためにデッキ233上に配置されるカード232群を示している。また配置されたカード群232からAST(Abstract Syntax Tree)の構文解析による解析結果と、対応するSQL文を示している。
 図8に示すようにS105において制御部10は、JSONで記述されたカード232群夫々の識別情報、及び配置(行列)から、ASTの構文解析を行なう。ステップS106において制御部10は、解析結果に基づいてJOIN構成の構築及び条件部分のWHERE 句の生成を自動的に行なう。図8に示すようにSELECT、JOIN、WHERE に相当するカード232が存在せずとも、DBIF提供装置1側で制御部10が、AST構文解析結果から自動的にこれらの文、又は句を追加したSQL文を作成する。例えばJOINに関して制御部10は、選択されたカード232に外部キーが含まれるか否か、NULLを含むか否かの条件によって「INNER JOIN」又は「LEFT OUTER JOIN 」を自動的に加える。また制御部10は、並べ替え(ORDER BY)、グループ化(GROUP BY)などの演算処理についてはカード232の配置(上、下)に基づいて句を自動的に生成する。これらの句の扱いは、情報の入れ子関係が複雑になる程に難解になるところ、カード232の配置操作のみによってDBIF提供装置1側で自動的に挿入追加等したSQL文を作成するので操作性向上への貢献度が著しい。
 このように、ユーザは端末装置2の表示部23のブラウザ画面上のインタフェース231にて、カード232をデッキ233上に配置する直感的操作によって、DBIF提供装置1にてSQL文が自動的に作成される。これにより、ユーザはDB群4から目的の情報を取得することができる。しかも、カード232が選択された場合に、カード232に関連する選択可能な他の項目及び実行できる処理(演算内容等)に絞られたリストを含むガイドがインタフェース231に表示される。したがってユーザは、RDBMS及びSQLについての専門的な知識がなくとも、操作が容易に可能である。
 以下、DBIF提供装置1により提供されるインタフェース231により、カード232の操作について具体的な実施例1~5を挙げて説明する。
 (実施例1)
 図9~図11は、実施例1における画面遷移の例を示す説明図である。図9~図11では、図3に示したDB群4の内、図4の従業員データから従業員のリストを給与の額順に出力する際の画面遷移の例を示す。図9に示すように、DBIF提供装置1から送信されたインタフェース情報に基づき、端末装置2の制御部20は、従業員データに関連付けられているテーブルの項目に対応するカード(データカード)232をインタフェース231に選択可能に表示する。図9の例では、所属テーブル、従業員テーブル、給与テーブル(図3参照)の項目(属性)に対応するカード232である。これらの関連するテーブルの項目に対応するカード232は、選択候補として図9中インタフェース231の左端に配置されており、スクロールによって全カード232が表示可能である。これらの内の従業員名のカード232に対するユーザのドラッグアンドドロップ操作(選択及び配置)が操作部24により受け付けられ、その結果、図9のデッキ233上に従業員名のカード232が配置されている。デッキ233上に従業員名のカード232が配置されたことを契機として、制御部20はインタフェース情報(選択された項目の他の項目データ及び処理の情報)に基づき、配置されたカード232が所属する従業員テーブルの他の項目(出力候補)に対応するカード234がデッキ233の下方に表示する。カード234のリストはDB群4から出力される情報の項目に対応する。したがって制御部20は、カード234のリストからいずれの項目を出力するかを、操作部24にて選択を受け付ける。
 更に、デッキ233上に従業員名のカード232が配置されたことを契機として、制御部20はDBIF提供装置1から受信したインタフェース情報に基づき、従業員名の項目に対する処理(関数等)のリストを含むガイド235を表示する。図9の例では、ガイド235には、従業員名の項目に基づきDB群4に対して実行できる処理(このまま実行する、検索する、集計する、並び替えする、演算する、データを足す)が挙げられている。
 ガイド235における「このまま実行する」は、「従業員名」をそのまま抽出する処理に対応する。その他の「検索する」「集計する」「並び替える」「演算する」「データ(レコード)を足す」に対しては、処理に対応する新たなカード232の配置が求められる。図12は、処理に対応するカード232の内容例を示す説明図である。図12に示すように、制御部20は「検索する」の選択を受け付けた場合、「検索条件」に対応するカード232及びその内容を入力するためのカード232の配置を求める表示を出力する。「集計する」の選択を受け付けた場合、制御部20は「集計条件」に対応するカード232の配置を求める。「並び替えする」の選択を受け付けた場合、制御部20は「並び替え条件」に対応するカード232の選択を求める。「演算する」の選択が受け付けられた場合、制御部20は、図12に示すような「演算」に対応するカード232の選択を求める。
 図10に戻り説明を続ける。従業員名を給与の額順(降順又は昇順は問わない)に出力することを目的とするので、次に図10に示すように従業員テーブルとは異なる給与テーブルの支払額に対応するカード232が選択される。更にユーザは、選択した支払額に対応するカード232を従業員名のカード232の下に配置する。制御部20は選択されたカード232をデッキ233上のユーザによる指定箇所に配置して表示する。デッキ233上に支払額のカード232が配置されていることにより、制御部20は、配置されたカード232が所属する給与テーブルの他の項目に対応するカード234をデッキ233の下方に表示する。同様にして制御部20は、支払額のカード232に対して実行できる処理のリストをガイド235に挙げている。従業員名を給与の額に出力することが目的なので、ガイド235から「このまま実行する」、又はデッキ233の上方の「実行」をユーザが選択し、これを操作部24にて受け付ける。
 図11は、図9及び図10に示したカード232の選択及び配置に基づく処理結果を示す。制御部20は、「実行」が操作部24により選択された場合、図10に示したように選択されたカード232の種類(対応する属性)及び配置の情報(行、列、番目等)をDBIF提供装置1へ送信する。DBIF提供装置1は、受信したカード232の種類及び配置の情報からSQLを作成する。このとき制御部10は、カード232の1行目の1列目(図10中左上)から1行ずつ、1列ずつ順にカード232の種類を解釈してSQLを作成する。図10の例では、1行目の従業員名のカード232により従業員名の抽出を行ない、2行目の給与支払額のカード232により抽出結果のソートを行なうという内容に対応するSQLが作成される。制御部10は更に作成したSQLをDB処理装置3へ送信し、処理結果を受信して端末装置2へ転送する。制御部20は、処理結果を受信した場合、図11に示すように、「マネージメントデッキ」の機能画面に遷移させて処理結果を表示する。図11には、従業員名が給与の額順(デフォルトで昇順)に出力された結果が示されている。なお、図10にて、デッキ233のカード234のリストは関連する項目全てであった。したがって図11の出力結果は関連項目全てを含んでいる(図示は省略)。
 このようにしてユーザは、デッキ233上のカード232の直感的な操作及びガイド235に表示される選択可能な処理のリストに基づく操作によって、DB専門的な知識がなくとも所望の情報をDB群4から取得することが可能である。
 (実施例2)
 図13~図18は、実施例2における画面遷移の例を示す説明図である。図13~図18では、図3に示したDB群4の内、図4の商品データから商品名のリストを税込み価格で出力する際の画面遷移の例を示す。図13に示すように、DBIF提供装置1から送信されたインタフェース情報に基づき、端末装置2の制御部20は、商品データに含まれる複数のテーブルの項目に対応するカード(データカード)232をインタフェース231に選択可能に表示する。これらの内、商品名のカード232に対するユーザのドラッグアンドドロップ操作(選択及び配置)が操作部24により受け付けられ、その結果、図13のデッキ233上に商品名のカード232が配置されている。デッキ233上に商品名のカード232が配置されたことを契機として、制御部20はインタフェース情報に基づき、配置されたカード232が所属する商品テーブルの他の項目に対応するカード234をデッキ233の下方に表示する。更に、デッキ233上に商品名のカード232が配置されたことにより、制御部20はインタフェース情報に基づき、商品名の項目に対する処理(関数等)のリストを含むガイド235を表示する。図13の例におけるガイド235には、商品名の項目に基づきDB群4に対して実行できる処理(このまま実行する、検索する、集計する、並び替えする、演算する、データを足す)が挙げられている。
 商品名のリストを税込み価格で出力することを目的とし、単価の項目は税込み価格とは異なるから、図13中の下線で示すように、ガイド235から「データを足す」が選択され、制御部20は操作部24によりこれを受け付ける。「データを足す」が選択されたことにより、制御部20は次のカード232の選択を求める。「価格」を算出することを目的とするから図14に示すように商品単価に対応するカード232の選択が受け付けられ、デッキ233に配置されている。デッキ233上の商品単価のカード232に対して実行できる処理のリストを、制御部20がガイド235に挙げて表示する。税込み価格を出力するので税率を掛ける処理が必要であるから、ガイド235から「演算する」が選択される。「演算する」の選択を受け付けた場合、制御部20は更にガイド235を表示する。新たなガイド235には、選択できる演算の内容(足し算、引き算、掛け算、割り算、四捨五入、切り捨て、文字列の結合、部分文字列抽出、文字列の長さを計算)が挙げられている。税込み価格を出力するためにガイド235の中から「掛け算」が選択される。
 図15に示すように、制御部20は、ガイド235に含まれるリストから「掛け算」が選択された場合、「掛け算」に対応するカード232をデッキ233上に配置し、乗数の入力を求める「?」のカード232、更に演算結果の項目に対応するカード232を配置させる。「掛け算」及び「?」のカード232が配置されたことを契機として、制御部20はそれらのカード232に関連する項目として演算結果の項目となる「新規カード1」のカード234をデッキ233の下方に表示する。更に制御部20は、「?」のカード232に対して可能な処理((新たな)データカードを足す、値を入力する)のリストを含むガイド235を表示する。ここでは税率の値を入力するために「値を入力する」をユーザが選択し、制御部20はこれを操作部24にて受け付ける。
 図16には、「値を入力する」が選択された場合の新たなガイド235の例が示されている。制御部20は図16に示すように、「値を入力する」の選択を受け付けた場合、値の入力ボックスと、値の入力を確定させるための「設定」ボタンと消去するための「キャンセル」ボタンとを含むガイド235を表示する。図16では2015年9月現在の税率「1.08」が入力されている。これらの値はユーザの操作により入力され、制御部20は操作部24によってこれを受け付ける。
 図17は、「?」カード232に値が入力された後のインタフェース231を示している。図17に示すように、制御部20は演算(掛け算)の結果の項目に対応する「新規カード1」のカード232を表示する。また図17ではカード234のリストはDB群4から出力される情報の項目に対応するから、ユーザの選択操作を操作部24により受け付けたことによって商品テーブルから商品ID、商品番号、及びカテゴリIDの項目は出力しないように選択が解除されている(グレーアウト)。そしてデッキ233の上方の「実行」をユーザが選択し、制御部20はこれを操作部24にて受け付ける。
 図18は、図17に示したカード232の選択及び配置に基づく処理結果を示す。制御部20は、「実行」が操作部24により選択された場合、図17に示したように選択されたカード232の種類(対応する属性)及び配置の情報(行、列、番目等)をDBIF提供装置1へ送信する。DBIF提供装置1は、受信したカード232の種類及び配置の情報からSQLを作成する。図17の例では、1行目の商品名のカード232により商品テーブルから商品名の抽出を行ない、2行目の商品単価のカード232により抽出結果に対して新規カード1に対応する演算結果を出力するという内容に対応するSQLが作成される。制御部10は更に作成したSQLをDB処理装置3へ送信し、処理結果を受信して端末装置2へ転送する。制御部20は、処理結果を受信した場合、図18に示すように、「マネージメントデッキ」の機能画面に遷移させて処理結果を表示する。図18には、商品名と各商品の税込み価格が出力された結果が示されている。税込み価格は、新たな項目(新規カード1)として演算された結果が出力されている。図13~図18にて示したように、目的の情報の出力に演算が伴う場合もカード232の選択及びガイド235に表示される処理の候補を選択する操作によって、SQLを知らないユーザであっても情報を取得することが可能である。
 (実施例3)
 図19~25は、実施例3における画面遷移の例を示す説明図である。図19~24では、図3に示したDB群4の内、図4の従業員データから従業員の健康状態(BMI:Body Mass Index )を出力する際の画面遷移の例を示す。図19に示すように、DBIF提供装置1から送信されたインタフェース情報に基づき、端末装置2の制御部20は、従業員データに含まれる複数のテーブルの項目に対応するカード232をインタフェース231に選択可能に表示する。図19の例では、所属テーブル、従業員テーブル、給与テーブル(図3参照)の項目に対応するカード232である。これらの内、従業員テーブルの身長に対応するカード232に対するユーザのドラッグアンドドロップ操作(選択及び配置)が操作部24により受け付けられ、その結果、図19のデッキ233上に身長のカード232が配置されている。デッキ233上に身長のカード232が配置されていることにより、制御部20はインタフェース情報に基づき、配置されたカード232が所属する従業員テーブルの他の項目に対応するカード234をデッキ233の下方に表示する。
 更に、デッキ233上に身長のカード232が配置されたことを契機として、制御部20は身長の項目に対して実行することが可能な処理(関数等)のリストを含むガイド235を表示する。図19の例では、ガイド235には、従業員名の項目に基づきDB群4に対して実行できる処理(このまま実行する、検索する、集計する、並び替えする、演算する、データを足す)が挙げられている。
 従業員の健康状態を出力することを目的とするので、身長に対して「演算する」が選択され、制御部20はこれを操作部24により受け付け、更にガイド235を表示する。新たに表示されたガイド235には、身長の項目に対して選択できる演算の内容(足し算、引き算、掛け算、割り算、四捨五入、切り捨て、文字列の結合、部分文字列抽出、文字列の長さを計算)が挙げられている。BMIを演算するためにガイド235の中から「割り算」が選択される。
 図20に示すように、ガイド235に含まれるリストから「割り算」の処理が選択された場合、制御部20は「割り算」に対応するカード232をデッキ233上に配置し、除数の入力を求める「?」のカード232、更に演算結果の項目に対応するカード232を配置させる。「割り算」及び「?」のカード232が配置されたことを契機として、制御部20はそれらのカード232に関連する項目として演算結果の項目となる「新規カード」のカード234をデッキ233の下方に表示する。更に制御部20は、「?」のカード232に対して可能な処理((新たな)データカードを足す、値を入力する)のリストを含むガイド235が表示する。ここでは除数を入力するために「値を入力する」をユーザが選択し、制御部20はこれを操作部24にて受け付ける。
 図21には、「値を入力する」が選択された場合の新たなガイド235の例が示されている。図21では、身長の単位をメートル単位に変換するための「100」が入力されている。制御部20は「100」の入力を操作部24によって受け付ける。
 図22は、「?」カード232に値が入力された後のインタフェース231を示している。図22に示すように制御部20は演算(割り算)の結果の項目に対応する「新規カード1」のカード232を表示する。
 次に図23に示すように、新たに従業員テーブルの従業員の「体重」に対応するカード232に対するドラッグアンドドロップ(選択及び配置)が操作部24により受け付けられ、表示される。従業員の健康状態としてBMIを出力することを目的とするので、「身長」÷「100」の結果である「新規カード1」で、「体重」を除算するためである。したがってそして上述と同様に、「割り算」のカード233と、「データカードを足す」という処理により「新規カード1」のカード232の除数の位置への配置が操作部24により受け付けられている。制御部20は、演算結果の項目に対応する「新規カード2」のカード232を新たに、除数のカード232の横に配置させる。
 図24に示すように、新たに「割り算」のカード233と、「データカードを足す」という処理により「身長」÷「100」の結果である「新規カード1」と、演算結果の項目に対応する「新規カード3」のカード232が選択され配置されている。BMIを出力するためには「体重」÷(「身長」÷「100」)を更に(「身長」÷100)で除算する必要があるためである。また、従業員テーブルと新たに追加された項目「新規カード1」(身長÷100)、「新規カード2」(体重/(身長÷100))及び「新規カード3」(BMI値)の内、出力の対象である「従業員名」「身長」「体重」「新規カード3」以外の項目は出力されないようにユーザの操作を受け付けて選択が解除されている(グレーアウト)。そしてBMI値の出力のためにデッキ233の上方の「実行」をユーザが選択し、制御部20はこれを操作部24にて受け付ける。
 図25には、図24に示したカード232の選択及び配置に基づく処理結果を示す。制御部20は、「実行」が操作部24により選択された場合、図24に示したように選択されたカード232の種類(対応する属性)及び配置の情報(行、列、番目等)をDBIF提供装置1へ送信する。図24の例では、1行目の「身長」及び「割り算」のカード232により従業員テーブルにおいて各レコードに対して「身長」÷「100」の演算、2行目の「体重」÷(「身長」÷「100」)、3行目の更に(「身長」÷「100」)による除算という内容に対応するSQLが作成される。制御部20は、処理結果を受信した場合、図25に示すように、「マネージメントデッキ」の画面に遷移させて処理結果を表示する。図25には、従業員名、身長及び体重、並びにBMI値が出力された結果が示されている。図19~図25にて示したように、目的の情報の出力に演算が伴う場合もカード232の選択及びガイド235に表示される処理の候補を選択する操作によって、SQLを知らないユーザであっても情報を取得することが可能である。
 (実施例4)
 図26~28は、実施例4における画面遷移の例を示す説明図である。図26~28では、図3の示したDB群4の内、図4の商品データから商品単価の平均値を出力する際の画面遷移の例を示す。図26に示すように、DBIF提供装置1から送信されたインタフェース情報に基づき、端末装置2の制御部20は、商品データに関連付けられているテーブルの項目に対応するカード(データカード)232をインタフェース231に選択可能に表示する。これらの内、商品単価のカード232に対するユーザのドラッグアンドドロップ操作(選択及び配置)が操作部24により受け付けられ、その結果、図13のデッキ233上に商品単価のカード232が配置されている。図26では、商品単価のカード232の選択に対し、制御部20は、商品単価に対して実行可能な処理(関数)のリストを含むガイド235を表示している。
 商品の単価の平均値を出力することを目的とするから、図26中の下線で示すようにガイド235から「集計する」が選択され、制御部20は操作部24によりこれを受け付ける。「集計する」が選択されたことにより、制御部20は選択できる集計の内容(平均値を出す、数える、最大値を探す、最小値を探す、合計を出す)を含む新たなガイド235を表示する。平均値を出力することを目的とするから、ガイド235の中から「平均値を出す」が選択され、制御部20はこれを操作部24により受け付ける。
 図27に示すように、制御部20は、ガイド235に含まれるリストから選択された「平均値を出す」が選択された場合、「平均値を出す」の関数に対応するカード232をデッキ233上に配置する。更に制御部20は、集計結果の項目に対応するカード232を配置する。そして制御部20は、集計結果の項目となる「新規カード1」のカード234をデッキ233の下方に表示する。また図27では商品テーブルと新たに追加された項目「新規カード1」(平均値)の内、ユーザの選択操作を操作部24により受け付けたことによって出力の対象である「新規カード1」以外の項目は出力されないように選択が解除されている(グレーアウト)。そしてデッキ233の上方の「実行」が選択され、制御部20はこれを操作部24により受け付ける。
 図28には、図27に示したカード232の選択及び配置に基づく処理結果を示す。制御部20は、実行が操作部24により選択された場合、図27に示したように選択されたカード232の種類(対応する属性)及び配置の情報(行、列、番目等)をDBIF提供装置1へ送信する。図27の例では、1行目の商品単価のカード232により商品テーブルにおける各レコードの商品単価に対し「平均値を出す」という集計結果を出力するという内容に対応するSQLが作成される。制御部20は、処理結果を受信した場合、図28に示すように、「マネージメントデッキ」の機能画面に遷移させて処理結果を表示する。図28には、商品単価の平均値(新規カード1)が出力された結果が示されている。図26~図28にて示したように、目的の情報の出力に集計が伴う場合もカード232の選択及びガイド235に表示される処理の候補を選択する操作によって、SQLを知らないユーザであっても情報を取得することが可能である。
 (実施例5)
 図29~図33は、実施例5における画面遷移の例を示す説明図である。図29~33では、図3の示したDB群4の内、図4の従業員データから高身長の従業員の従業員名のリストを出力する際の画面遷移の例を示す。図29に示すように、DBIF提供装置1から送信されたインタフェース情報に基づき、端末装置2の制御部20は、従業員データに含まれる複数のテーブルの項目に対応するカード232をインタフェース231に選択可能に表示する。図29の例では、所属テーブル、従業員テーブル、給与テーブル(図3参照)の項目に対応するカード232である。これらの内、従業員テーブルの身長に対応するカード232に対するユーザのドラッグアンドドロップ操作(選択及び配置)が操作部24により受け付けられ、その結果、従業員テーブルの身長のカード232が図13のデッキ233上に配置されている。また図29に示すように、制御部20はインタフェース情報に基づき、配置された身長のカード232に対応して身長に対して実行可能な処理(関数)のリストを含むガイド235を表示する。
 高身長の従業員の検索結果を出力することを目的とするから、図29中の下線で示すようにガイド235から「検索する」が選択され、制御部20はこれを操作部24により受け付ける。「検索する」の選択により、制御部20は新たなガイド235には選択できる検索条件の内容を含む新たなガイド235を表示する。高身長の従業員を検索することを目的とするから、ガイド235の中から「以上」が選択され、制御部20は操作部24によりこれを受け付ける。
 図30に示すように、ガイド235に含まれるリストから選択された「以上」の関数が選択された場合、制御部20は「以上」対応するカード232をデッキ233上に配置する。更に制御部20は、「以上」の数値の入力を求める「?」のカード232、及び集計結果の項目に対応するカード23を配置する。更に制御部20は、「?」のカード232に対して可能な処理((新たな)データカードを足す、値を入力する)のリストを含むガイド235を表示する。ここでは検索条件の数値を入力するために「値を入力する」をユーザが選択し、制御部20はこれを操作部24にて受け付ける。
 図31には、「値を入力する」が選択された場合の新たなガイド235の例が示されている。図31では、所謂高身長の従業員を検索するための「180」が入力されている。制御部20は「180」の入力を操作部24によって受け付ける。
 図32には、「?」カード232に値が入力された後のインタフェース231を示している。図22に示すように、検索(180cm以上)の結果の項目に対応する「結果1」のカード232を「?」カード232の隣に配置させる。更に図32では従業員テーブルの項目の内、出力の対象である「従業員名」以外の項目は出力されないようにユーザの操作を受け付けて選択が解除されている(グレーアウト)。そしてデッキ233の上方の「実行」をユーザが選択し、制御部20はこれを操作部24にて受け付ける。
 図33には、図32に示したカード232の選択及び配置に基づく処理結果を示す制御部20は、「実行」が操作部24により選択された場合、図32に示したように選択されたカード232の種類(対応する属性)及び配置の情報(行、列、番目等)をDBIF提供装置1へ送信する。図32の例では、1行目の身長のカード232により従業員テーブルにおける各レコードの「身長」の項目に対し「180」「以上」という検索結果を出力するという内容に対応するSQLが作成される。制御部20は、処理結果を受信した場合、図33に示すように、「マネージメントデッキ」の機能画面に遷移させて処理結果を表示する。図33には、身長が180cm以上である従業員が検索された結果が示されている。図26~図33にて示したように、目的の情報の出力に集計が伴う場合もカード232の選択及びガイド235に表示される処理の候補を選択する操作によって、SQLを知らないユーザであっても情報を取得することが可能である。
 なお上述の例においてカード232の配置は、日本語の文法的に自然な配置であったが、使用言語に応じて各カード名を変更し、使用言語に応じて理解し易い配置となるように適宜設計されるとよい。
 (変形例)
 上述の実施形態では主に「アウトデッキ」にて実現される操作について説明した。なお「アウトデッキ」はDB群4の内、ユーザがアクセス権限を有しているDBに対して目的の情報を抽出するための操作を受け付ける機能を実現するためのインタフェースであった。このインタフェースは上述の例及び図5~33の形態に限られないことは勿論であり、以下、他のインタフェース236の例について説明する。以下の説明において示すインタフェースは、端末装置2で動作するWebブラウザを介して提供される。
 図34は、操作対象のデータベースを選択した後に表示される他のインタフェース236の例を示す説明図である。インタフェース236は、「アウトデッキ」同様、ユーザが表示されるDB群4の内の操作対象のデータベースを選択した後、そのデータベースからの情報の抽出機能を選択(所望)した場合に表示される。インタフェース236には、後述するように選択されているDB(例えば商品データ)に含まれる各項目(カラム)及び各項目への処理内容に対応するカード232が配置される(図36参照)。これらのカード232が配置される領域は、カードの種類で分別されており、図34では属性として(項目(データカード)、演算、条件等を含む。そしてインタフェース236には、対話画面237が含まれている。対話画面237は、チャット形式にてカード232の選択及び配置を受け付ける画面であり、表示される質問文に対して自然言語で応える応答文をユーザが入力するための画面である。
 図35A及び図35Bは、変形例におけるDBIF提供装置1及び端末装置2間で実行される処理手順の一例を示すフローチャートである。以下に示す処理は、図34に示した画面が表示されるタイミングで実行が開始される。
 DBIF提供装置1の制御部10は、インタフェース236を端末装置2にて表示するためのインタフェース情報を通信部13から端末装置2へ送信する(ステップS301)。
 端末装置2の制御部20は、インタフェース情報を通信部25により受信し(ステップS401)、受信したインタフェース情報に基づき、インタフェース236を表示する(ステップS402)。
 制御部20は、インタフェース236内の対話画面237に、質問文を表示させる(ステップS403)。ステップS403において質問文は対話形式となる。最初の質問文は例えば、操作対象のデータベースに含まれる各テーブルの内の処理対象のテーブルを問うものである。
 制御部20は、質問文に対する応答文の入力を受け付け(ステップS404)、受け付けた応答文が応答の終了に対応するか否かを判断する(ステップS405)。ステップS405にて終了に対応しないと判断された場合(S405:NO)、制御部20は受け付けた応答文の情報をDBIF提供装置1へ送信する(ステップS406)。
 DBIF提供装置1の制御部10は、応答文の情報を受信し(ステップS302)、受信した応答文を認識し、必要に応じて言語解析、構文解析等を行なって応答文に含まれる処理対象のテーブル、項目、処理又は条件内容を特定し、更に関連の質問文を作成又は抽出する(ステップS303)。制御部10は特定したテーブル、項目、処理又は条件内容を識別する情報と、作成又は抽出した質問文とを端末装置2へ向けて送信する(ステップS304)。
 端末装置2の制御部20は、識別の情報及び関連の質問文を受信し(ステップS407)、受信した識別情報に基づき、ステップS404で受け付けた応答文に対応するテーブル、項目、処理に対応するカード232を表示させる(ステップS408)。そして制御部20は、処理をステップS403へ戻し、ステップS407で受信した関連の質問を次の質問文として表示させる(S403)
 ステップS405に終了に対応すると判断された場合(S405:YES)、制御部20は、配置されている対応カード232の内容及び配置情報を改めてDBIF提供装置1へ向けて送信する(ステップS409)。
 DBIF提供装置1の制御部10は、カード232の内容及び配置情報を受信し(ステップS305)、受信した情報を構文解析し(ステップS306)、受信した情報に対応するSQL文を作成する(ステップS307)。
 制御部10はステップS305で受信した情報と作成されたSQL文とを対応付けて記憶し(ステップS308)、作成されたSQL文をDB処理装置3へ送信してDB処理装置3においてSQLに基づく処理を実行させる(ステップS309)。なおステップS309における処理を行なう前に、作成されたSQL文を平易な自然言語に変換し、実行する処理の内容をユーザに確認するべく端末装置2へ返信し、ユーザの確認を受け付けて初めて次のステップS309へ進めるようにしてもよい。これによりユーザは端末装置2で対話形式での入力操作がどのような処理になるかを把握してから処理を行なうことが出来る。
 制御部10は、DB処理装置3から処理結果を受信し(ステップS310)、受信した処理結果(抽出又は演算されたデータ)の情報(結果を識別する情報)を通信部13により端末装置2へ送信する(ステップS311)。
 端末装置2では、DBIF提供装置1から送信された情報を通信部25により受信し(ステップS410)、処理を終了する。なお処理結果は、受信した情報に基づき、データのダウンロード等を受け付ける他の機能、例えば「マネージメントデッキ」に対応するインタフェースにて出力されるとよい。
 なお端末装置2の処理として説明したS401~S410は、Webブラウザ上でDBIF提供装置1から送信されるインタフェース情報(例えばJavascript(登録商標)によるプログラム)に基づいて実行される。したがって処理の主体は、設計によっては制御部20とは限らず、DBIF提供装置1であってもよい。また、DBIF提供装置1にて実行されるステップS302~S311の処理の内の一部又は全部についても、端末装置2側で実行されるものとしてもよい。
 以下、DBIF提供装置1により提供されるインタフェース236により、カード232の操作について具体的な実施例6~8を挙げて説明する。
 (実施例6)
 図36~37は、実施例6における画面例を示す説明図である。実施例6では、図3に示したDB群4の内、図4の顧客リストから条件を満たすもの出力する際の画面変化の例を示す。図36では、対話画面237にて最初の質問への応答文の入力後に次の質問文が表示されている。最初の質問は上述したように処理対象のテーブルを問うものである。これに対し「Customers 」の応答文が入力されており、つまり顧客テーブルが選択されている。そして次に関連の質問文、即ち対象テーブル内のいずれのデータを処理対象とするのかの質問文が表示されている。またこのとき、選択された顧客テーブルに対応するカード232が表示されている。
 図37では、対話画面237にて第13番目の「他にしたいことはありますか?」の質問文に対して「なし」という応答文が入力されており、これは応答の終了に対応すると判断される。この時点で、対応するカード232が種類毎に分別されて配置されている。なお図37に示されているカード232の内の「 Customers数」は、図9~図33に示したカード232の内、演算(グループ化)の結果の項目として作成される新規カードに対応し、第7番目の質問に対する応答文に対応して作成されるカード232である。また図37では、第12番目及び第13番目の質問に対する応答文に基づき、出力する条件として「3以上」としているが、数値が入力された「3」のカード232が作成され、これと別途、「≧」の演算に対応するカード232が選択されて表示されるようにしてもよい。更に配置されたカード232を編集により動かしたり、カード232の中身(数値等)を編集可能としたりしてもよい。
 図37では、対話画面237にて受け付けられた応答文に対応付けて配置されたカード232の内容及び位置情報から作成されるSQL文が表示されている。なお、カード232の配置とこれに対応するSQL文は対応付けてDBIF提供装置1にて履歴として記憶され、ユーザは履歴から同様のカード232の内容及び配置を利用して他の情報抽出に用いることも可能である。
 (実施例7)
 図38は、実施例7における画面例を示す説明図である。実施例7では、図3に示したDB群4の内、図4の従業員データから条件を満たすもの出力する際の画面例を示す。なお図38は、図19~図25に示したBMIの出力方法に対応している。図38でも順次関連している質問文が表示され、応答文が入力される都度、対応カード232及び更に次の関連の質問文が表示される。応答の終了に対応する応答文(「他にしたいことはありますか?」に対する「なし」の応答文)が入力されると、対応するSQL文が表示される。このように、ユーザは対話形式にて応答文の入力をすることによってカード232の配置を実現できる。つまり、図19~図25に示したようなカード232の選択及び配置の構文等を理解しておらずとも操作が可能である。
 (実施例8)
 図39及び図40は、実施例8における画面例を示す説明図である。実施例8では、図3に示したDB群4の内、図4の商品データから特定の商品のリストを出力する際の画面例を示す。図39及び図40においても、最初の質問文から順次、関連する質問文が表示され、応答文が入力される都度、対応カード232及び次の質問文が表示される。応答の終了に対応する応答文(「他にしたいことはありますか?」に対する「なし」の応答文)が入力されると、対応するSQL文が表示される。このように、ユーザは対話形式にて応答文の入力をすることによってカード232の配置を実現できる。図39及び図40に示すような複雑な演算であっても対話形式にてユーザは応答文を入力をすることによってデータベースに対する操作を行なうことができる。
 今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 1 DBIF提供装置(中央装置)
 10 制御部
 11 記憶部
 13 通信部
 1P DBIF提供プログラム
 2 端末装置(外部装置)
 20 制御部
 23 表示部
 231 インタフェース
 232 カード型オブジェクト(オブジェクト)
 235 ガイド(リスト)
 4 DB群(データベース)

Claims (7)

  1.  データベース及び外部装置夫々と通信するコンピュータに、前記外部装置からの指示に基づいて、前記データベースへのアクセスを実行させるデータベースインタフェース提供プログラムにおいて、
     コンピュータに、
     前記外部装置が備える表示部に出力されるWebブラウザ画面に表示され、該Webブラウザ画面上で選択及び配置操作を受け付ける複数種類のオブジェクトの情報を前記外部装置へ送信させ、
     前記外部装置から選択されたオブジェクトの種類、及び該選択されたオブジェクトの配置の情報を受信させ、
     受信したオブジェクトの種類及び配置の情報に基づき、前記オブジェクトの種類に予め対応付けられている前記データベースへのクエリを作成させる
     ことを特徴とするデータベースインタフェース提供プログラム。
  2.  前記オブジェクトはカード型オブジェクトであること
     を特徴とする請求項1に記載のデータベースインタフェース提供プログラム。
  3.  前記オブジェクトの種類は夫々、前記データベースに関連するクエリ要素に対応する
     ことを特徴とする請求項1に記載のデータベースインタフェース提供プログラム。
  4.  前記コンピュータに、
     前記Webブラウザ画面上に配置されたオブジェクトに関連付けて、該オブジェクトが対応するクエリ要素に合致する次のクエリ要素のリストを前記外部装置へ送信させる
     ことを特徴とする請求項1に記載のデータベースインタフェース提供プログラム。
  5.  コンピュータに、
     作成されたクエリを前記データベースへの操作内容を示す自然言語へ変換させ、
     変換後の自然言語を前記外部装置へ返信させる
     ことを特徴とする請求項1に記載のデータベースインタフェース提供プログラム。
  6.  データベース及び端末装置夫々と通信する中央装置が、前記端末装置からの指示に基づいて、前記データベースへアクセスして前記データベースからのデータを前記端末装置へ提供するデータベースインタフェース提供方法において、
     前記中央装置は、
     前記端末装置が備える表示部に出力されるWebブラウザ画面に表示され、該Webブラウザ画面上で選択及び配置操作を受け付ける複数種類のオブジェクトの情報を前記端末装置へ送信し、
     前記端末装置から、選択されたオブジェクトの種類、及び該選択されたオブジェクトの配置の情報を受信し、
     受信したオブジェクトの種類及び配置の情報に基づき、前記オブジェクトの種類に予め対応付けられている前記データベースへのクエリを作成する
     ことを特徴とするデータベースインタフェース提供方法。
  7.  データベース及び外部装置夫々と通信し、前記外部装置からの指示に基づいて、前記データベースへアクセスして前記データベースからのデータを前記外部装置へ提供するデータベースインタフェース提供装置において、
     前記外部装置が備える表示部に出力されるWebブラウザ画面に表示され、該Webブラウザ画面上で選択及び配置操作を受け付ける複数種類のオブジェクトの情報を前記外部装置へ送信する送信部と、
     前記外部装置から、選択されたオブジェクトの種類、及び該選択されたオブジェクトの配置の情報を受信する受信部と、
     受信したオブジェクトの種類及び配置の情報に基づき、前記オブジェクトの種類に予め対応付けられている前記データベースへのクエリを作成する作成部と
     を備えることを特徴とするデータベースインタフェース提供装置。
     
PCT/JP2016/078608 2015-09-29 2016-09-28 データベースインタフェース提供プログラム、データベースインタフェース提供方法及びデータベースインタフェース提供装置 WO2017057451A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015192117A JP2018190000A (ja) 2015-09-29 2015-09-29 データベースインタフェース提供プログラム、データベースインタフェース提供方法及びデータベースインタフェース提供装置
JP2015-192117 2015-09-29

Publications (1)

Publication Number Publication Date
WO2017057451A1 true WO2017057451A1 (ja) 2017-04-06

Family

ID=58423953

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/078608 WO2017057451A1 (ja) 2015-09-29 2016-09-28 データベースインタフェース提供プログラム、データベースインタフェース提供方法及びデータベースインタフェース提供装置

Country Status (2)

Country Link
JP (1) JP2018190000A (ja)
WO (1) WO2017057451A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06223118A (ja) * 1992-06-15 1994-08-12 Fuji Xerox Co Ltd データベース検索システム
JPH08171508A (ja) * 1994-12-19 1996-07-02 Canon Inc データベース管理方法及び装置
JPH10187512A (ja) * 1996-12-27 1998-07-21 Hitachi Ltd データベース構築及びデータベース操作用プログラム生成方法
JP2003288355A (ja) * 2002-03-27 2003-10-10 Acot:Kk データベースシステム
JP2011070265A (ja) * 2009-09-24 2011-04-07 Fujifilm Corp 情報検索装置、及び情報検索方法
JP2012123578A (ja) * 2010-12-07 2012-06-28 Canon Marketing Japan Inc 情報処理装置、情報処理方法、及びコンピュータプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06223118A (ja) * 1992-06-15 1994-08-12 Fuji Xerox Co Ltd データベース検索システム
JPH08171508A (ja) * 1994-12-19 1996-07-02 Canon Inc データベース管理方法及び装置
JPH10187512A (ja) * 1996-12-27 1998-07-21 Hitachi Ltd データベース構築及びデータベース操作用プログラム生成方法
JP2003288355A (ja) * 2002-03-27 2003-10-10 Acot:Kk データベースシステム
JP2011070265A (ja) * 2009-09-24 2011-04-07 Fujifilm Corp 情報検索装置、及び情報検索方法
JP2012123578A (ja) * 2010-12-07 2012-06-28 Canon Marketing Japan Inc 情報処理装置、情報処理方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
JP2018190000A (ja) 2018-11-29

Similar Documents

Publication Publication Date Title
RU2683507C2 (ru) Извлечение значений атрибутов на основе идентифицированных записей
RU2679977C1 (ru) Создание запросов для выполнения по многомерным структурам данных
CN110738037B (zh) 用于自动生成电子表格的方法、装置、设备及存储介质
US11042591B2 (en) Analytical search engine
US8065267B2 (en) Information processing device, file data merging method, file naming method, and file data output method
KR102345001B1 (ko) 특허 문서 작성 장치, 방법, 컴퓨터 프로그램, 컴퓨터로 판독 가능한 기록매체, 서버 및 시스템
CN108140018A (zh) 创作用于基于文本的文档的视觉表示
CN106796578A (zh) 知识自动化系统
US20210157977A1 (en) Display system, program, and storage medium
US20130290837A1 (en) Method and Apparatus for Correcting Document Formatting Based on Source Document
CN104715003A (zh) 使用数据传播功能输入数据的方法和系统
JP2016091244A (ja) 情報処理装置、プログラム
WO2020026366A1 (ja) 特許評価判定方法、特許評価判定装置、および特許評価判定プログラム
CN116821103B (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN110929100B (zh) 获取取值路径的方法、装置、存储介质和电子设备
CN114072787A (zh) 用于促进文档审核的快速数据输入的系统和方法
US20120191725A1 (en) Document ranking system with user-defined continuous term weighting
JP6549173B2 (ja) 計算機システム及び文章データの検索方法
WO2017057451A1 (ja) データベースインタフェース提供プログラム、データベースインタフェース提供方法及びデータベースインタフェース提供装置
JP5104329B2 (ja) ドキュメント検索システム
US11301636B2 (en) Analyzing resumes and highlighting non-traditional resumes
US20180181555A1 (en) Rewriting forms for constrained interaction
JP4956298B2 (ja) 辞書構築支援装置
JP6244521B2 (ja) データベース処理プログラム、データベース処理方法及びデータベース処理装置
JP2006221616A (ja) 情報処理装置ならびにファイルデータマージ方法およびファイル名称付与方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16851622

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16851622

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP