WO2015052812A1 - Data-linking support device and data-linking support method - Google Patents

Data-linking support device and data-linking support method Download PDF

Info

Publication number
WO2015052812A1
WO2015052812A1 PCT/JP2013/077628 JP2013077628W WO2015052812A1 WO 2015052812 A1 WO2015052812 A1 WO 2015052812A1 JP 2013077628 W JP2013077628 W JP 2013077628W WO 2015052812 A1 WO2015052812 A1 WO 2015052812A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
tables
information
data
columns
Prior art date
Application number
PCT/JP2013/077628
Other languages
French (fr)
Japanese (ja)
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 三菱電機株式会社
Priority to PCT/JP2013/077628 priority Critical patent/WO2015052812A1/en
Priority to JP2015541381A priority patent/JP6017055B2/en
Publication of WO2015052812A1 publication Critical patent/WO2015052812A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations

Definitions

  • the present invention relates to a data linkage support apparatus and a data linkage support method.
  • the definition of the data linkage relationship is generally created by referring to the table definition information described in the table definition document of each system database.
  • Patent Document 1 all of the cooperation source table and the cooperation destination table or sampled record data is captured. Analyzing the contents of the data and guessing the correspondence, create a record of the linkage destination table from the record of the linkage source table.
  • table definition information is limited.
  • a so-called schema matching technique exists as a technique for automatically extracting the correspondence between similar columns (for example, see Non-Patent Document 1).
  • table definition information related to the structure of two schemas or two schemas, each of which is a collection of tables is received as an input.
  • the column similarity is determined from the name and data type of the table column, the relationship between the tables, and the like. Thereby, the correspondence between columns of different tables is extracted.
  • Schema matching technology mainly uses table definition information. Records (that is, actual data) may be used, but use is limited.
  • column format information such as whether the date data is “YYMMDD” or “YYYY / MM / DD” is extracted from the record and used as metadata.
  • Y is a one-digit value of the year
  • M is a one-digit value of the month
  • D is a one-digit value of the day.
  • April 1, 2013 is expressed as “2013/04/01” in the format of “YYYY / MM / DD”.
  • schema matching technology In the schema matching technology, the column name has been most often used as a criterion for similarity. Since column naming rules often differ between systems, it has been considered that schema matching technology is not suitable for processing to automatically extract data linkage relationships between systems. However, the maintenance of data item dictionaries to absorb differences in naming rules makes it possible to extract similar columns between systems with different naming rules. The maintenance of data item dictionaries was previously done manually, but in recent years, automatic dictionary generation technology has been developed. For this reason, schema matching technology can be used even in fields such as automatic extraction of data linkage relationships.
  • the data linkage relationship is automatically extracted using the records of the linkage source table and the linkage destination table. It is necessary to use all records in order to increase the accuracy of extracting data linkages. In that case, it is necessary to process a large number of records. When such a process is executed on a large-scale system, there is a high possibility that the processing time does not fall within a practical time. Inevitably, the system to be processed must be narrowed down. As a result, the automatically extracted data linkage relationship becomes a local solution, and when it is reviewed from an overall viewpoint, unnecessary data linkage is discovered.
  • Sampling technology can be used to reduce the number of records used. However, it is difficult to perform sampling while considering the reference relationship between tables. As a result of sampling, a table that originally has a reference relationship may appear to have no reference relationship.
  • Patent Document 1 As described above, the technique that requires the use of records as in Patent Document 1 has a problem that the range of systems that can be applied is limited by the amount of records.
  • Patent Document 1 has a problem that it is essential to prepare a record in advance. For example, if the linkage destination table is a newly created table, there is no record that can be used, and therefore, the data linkage relationship cannot be automatically extracted.
  • the record preparation is not essential. Correspondence between similar columns can be extracted only from metadata such as table definition information. Therefore, there is an advantage that the amount of data to be handled can be reduced compared with the technique using records. The entire large-scale system can be processed.
  • the schema matching technique is a technique for finding similar columns. Therefore, there is a problem that not only the data linkage relationship but also the referential integrity constraint between tables and the semantic reference relationship are extracted without distinction. In particular, when there are many synonymous columns in the database, many correspondences that are not data linkage relationships are detected even if the correspondences are correct from the viewpoint of schema matching technology.
  • the schema matching technique has a problem that it is not considered that the layout of the cooperation destination table needs to be created by the table operation from the cooperation source table in order to perform data cooperation.
  • the object of the present invention is, for example, to efficiently and accurately determine from which table column the data stored in the column of the table to be linked is extracted in data linkage.
  • a data linkage support apparatus includes: A device that supports data linkage of a database having a plurality of tables, Primary key information indicating whether or not each of the plurality of columns included in each of the plurality of tables is a primary key, and attributes of data stored in each of the plurality of columns included in each of the plurality of tables An information storage unit that stores attribute information indicating the reference relationship information indicating the reference relationship between the plurality of tables; A table selection unit that selects, from the plurality of tables, one table including two or more columns serving as primary keys and serving as a linkage destination of data linkage; A column specifying unit for specifying the two or more columns from a plurality of columns included in the table selected by the table selection unit based on the primary key information stored in the information storage unit; Based on the primary key information, the attribute information, and the reference relationship information stored in the information storage unit, two of the plurality of tables connected by a reference relationship from a table other than the table selected by the table selection unit A table extraction unit that is a combination
  • the data linkage support apparatus efficiently and accurately determines from which table column the data stored in the column of the table that is the linkage destination is extracted in the data linkage. Judgment can be made.
  • FIG. 2 is a block diagram showing a configuration of a data cooperation support apparatus according to the first embodiment.
  • 4 is a table showing an example of input information according to the first embodiment.
  • surface which shows the example of the information with which the input information which concerns on Embodiment 1, and reference relationship information were synthesize
  • 5 is a flowchart showing an example of the operation of the data linkage support apparatus according to the first embodiment.
  • surface which shows the example of the information by which the cooperation origin information which concerns on Embodiment 1, and reference relationship information were synthesize
  • FIG. 3 is a conceptual diagram showing schema matching between a virtual table and a target table according to the first embodiment.
  • 5 is a flowchart showing an example of the operation of the data linkage support apparatus according to the first embodiment.
  • the conceptual diagram which shows the schema matching with the cooperation origin table and target table which concern on Embodiment 1.
  • FIG. The conceptual diagram which shows the schema matching with the cooperation origin table and virtual table which concern on Embodiment 1.
  • FIG. FIG. 3 is a diagram illustrating an example of a hardware configuration of a data cooperation support apparatus according to the first embodiment.
  • FIG. 1 is a block diagram showing a configuration of a data cooperation support apparatus 100 according to the present embodiment.
  • a data linkage support apparatus 100 is an apparatus that supports data linkage of a database having a plurality of tables.
  • Data linkage supported by the data linkage support apparatus 100 may be data linkage between different instances of the database, data linkage between different schemas of the same instance, or between different tables of the same schema. Data linkage may be used.
  • the data cooperation support apparatus 100 includes an information storage unit 101, a table selection unit 102, a column specification unit 103, a table extraction unit 104, a table combination unit 105, and a recommendation determination unit 106.
  • the data cooperation support device 100 includes hardware such as a processing device, a storage device, an input device, and an output device.
  • the hardware is used by each unit of the data cooperation support apparatus 100.
  • the processing device is used to perform calculation, processing, reading, writing, or the like of data or information in each unit of the data cooperation support device 100.
  • the storage device is used to store the data or information.
  • the input device is used to input the data or information.
  • the output device is used to output the data or information.
  • the information storage unit 101 stores cooperation source information 111, cooperation destination information 112, reference relationship information 113, and input information 114 using a storage device.
  • the collaboration source information 111 is information that defines a plurality of tables (that is, collaboration source tables) of a database (that is, the collaboration source database) that is a collaboration source of data collaboration.
  • the collaboration source information 111 includes primary key information and attribute information of the collaboration source database.
  • the primary key information of the cooperation source database is information indicating whether each of a plurality of columns included in each of the plurality of cooperation source tables is a primary key.
  • the attribute information of the cooperation source database is information indicating attributes (for example, column names, data types) of data stored in the plurality of columns included in the plurality of cooperation source tables.
  • the cooperation destination information 112 is information that defines a plurality of tables (that is, cooperation destination tables) of a database (that is, a cooperation destination database) that is a cooperation destination of data cooperation within a range in which the above-described data cooperation relationship is already given. It is. When the data stored in each column of one linkage destination table has already been determined from which column (that is, the linkage source table, another linkage destination table, or a combination of these tables) should be extracted
  • the linkage destination table is a linkage destination table to which a data linkage relationship has already been given.
  • the cooperation destination information 112 includes the primary key information and attribute information of the cooperation destination table to which the data cooperation relationship has already been given among the primary key information and attribute information of the cooperation destination database.
  • the primary key information of the cooperation destination database is information indicating whether each of a plurality of columns included in each of the plurality of cooperation destination tables is a primary key.
  • the attribute information of the cooperation destination database is information indicating data attributes (for example, column names and data types) stored in each of a plurality of columns included in each of the plurality of cooperation destination tables.
  • the reference relationship information 113 is information indicating a reference relationship between tables. In this embodiment, not only the referential integrity constraint between tables but also a semantic reference relationship is regarded as a “reference relationship”. If a column included in one of the two tables corresponds to a column included in the other table and the column of the one table is set as a foreign key, there is a referential integrity constraint. Become. A column included in one of the two tables corresponds to a column included in the other table, but there is a semantic reference relationship when the column of the one table is not set as a foreign key It will be.
  • the reference relationship information 113 can be created by any method.
  • the input information 114 is created manually by a user of the client device 200 (for example, a personal computer) or automatically created by a client program executed on the client device 200.
  • the input information 114 is input from the client device 200 via the input device.
  • the input information 114 is information that defines a cooperation destination table (that is, a target table) that has not yet been given a data cooperation relationship.
  • the input information 114 includes primary key information and attribute information of the target table.
  • the table selection unit 102 reads the input information 114 stored in the information storage unit 101.
  • the table selection unit 102 selects a target table defined by the read input information 114.
  • the table selection unit 102 selects one table as a cooperation destination of data cooperation including two or more columns serving as primary keys from a plurality of tables in the cooperation source database and the cooperation destination database. .
  • the column specifying unit 103 is a primary key from a plurality of columns included in the target table selected by the table selection unit 102 based on the primary key information included in the input information 114 read by the table selection unit 102. Identify a column (ie, two or more columns as described above).
  • the table extraction unit 104 reads the cooperation source information 111, the cooperation destination information 112, and the reference relationship information 113 stored in the information storage unit 101.
  • the table extraction unit 104 based on the primary key information and attribute information included in the read linkage source information 111 and the linkage destination information 112, and the read reference relationship information 113, a plurality of tables of the linkage source database and the linkage destination database. Among them, combinations of two or more tables that satisfy the following conditions (1) and (2) are extracted from tables other than the target table selected by the table selection unit 102.
  • the two or more tables are connected by a reference relationship. For example, when the first table of the three tables refers to the second table and the second table refers to the third table, the three tables are connected by a reference relationship. Will be.
  • the column corresponding to the column specified by the column specifying unit 103 is divided into the two or more tables and exists as a primary key of each table.
  • two columns are specified by the column specifying unit 103, a column similar to one of the two columns exists as a primary key in one of the two tables, and the two columns exist in the other of the two tables.
  • the columns corresponding to the two columns are divided into the two tables and exist as the primary key of each table.
  • the table combining unit 105 combines the tables included in the combination extracted by the table extracting unit 104 to create one table (that is, a virtual table).
  • the recommendation determining unit 106 performs schema matching between the target table selected by the table selecting unit 102 and the virtual table created by the table combining unit 105. Based on the result of the schema matching, the recommendation determination unit 106 determines whether it is recommended to use the combination extracted by the table extraction unit 104 for data linkage of the target table selected by the table selection unit 102. When “to be recommended”, the recommendation determination unit 106 outputs recommendation information 161 that recommends that the combination extracted by the table extraction unit 104 be used for data linkage of the target table selected by the table selection unit 102. The data is output to the client device 200 via the device.
  • the recommendation determination unit 106 selects a table indicating that there is no table that can be used for data linkage of the target table selected by the table selection unit 102 or a combination extracted by the table extraction unit 104. Information indicating that use of the target table selected by the unit 102 for data linkage is not recommended is output to the client device 200 via the output device.
  • the table combining unit 105 when two or more combinations are extracted by the table extracting unit 104, the table combining unit 105 combines the tables included in the combination for each combination extracted by the table extracting unit 104 and virtually Create a table.
  • the recommendation determination unit 106 performs schema matching between the target table selected by the table selection unit 102 and the virtual table created by the table combination unit 105 for each combination extracted by the table extraction unit 104. Based on the result of the schema matching, the recommendation determination unit 106 recommends that one combination among the combinations extracted by the table extraction unit 104 be used for data linkage of the target table selected by the table selection unit 102.
  • the recommended information 161 is output.
  • the recommendation determination unit 106 uses the table selection unit 102 to recommend that the combination extracted by the table extraction unit 104 be used for data linkage of the target table selected by the table selection unit 102. From the plurality of columns included in the selected target table, a column for which no corresponding column exists in the virtual table created by the table combining unit 105 is extracted. When the recommendation determining unit 106 extracts such a column, the column corresponding to the column extracted from the table other than the target table selected by the table selecting unit 102 among the plurality of tables of the cooperation source database and the cooperation destination database. And a table that can be joined to the virtual table created by the table joining unit 105 is detected.
  • the recommendation determining unit 106 reads the cooperation source information 111 and the cooperation destination information 112 stored in the information storage unit 101.
  • the recommendation determination unit 106 is selected by the table selection unit 102 from among the plurality of tables of the cooperation source database and the cooperation destination database based on the primary key information and the attribute information included in the read cooperation source information 111 and the cooperation destination information 112.
  • a table including a column corresponding to the extracted column is detected from tables other than the target table.
  • the recommendation determining unit 106 determines whether the detected table can be combined with the virtual table created by the table combining unit 105.
  • the recommendation determining unit 106 outputs the recommended information 161 after adding the detected table to the combination extracted by the table extracting unit 104. If “cannot be combined”, the recommendation determining unit 106 ignores the detected table and outputs the recommendation information 161. That is, when the recommendation determining unit 106 detects a table that includes a column corresponding to the extracted column and can be combined with the virtual table created by the table combining unit 105, the recommendation determining unit 106 extracts the detected table and the table extracting unit 104. Recommendation information 161 that recommends using the combination with the table for data linkage of the target table selected by the table selection unit 102 is output.
  • a conventional schema matching technique can be implemented in the part of the recommendation determination unit 106 that performs schema matching.
  • two or more columns among the plurality of columns included in the target table defined by the input information 114 are primary keys.
  • the data linkage relationship can be extracted using an arbitrary method for the target table.
  • FIG. 2 is a table showing an example of the input information 114.
  • input information 114 includes column name, data type, and primary / foreign key information (that is, attribute information and primary key information). As described above, the input information 114 is information that defines the target table. For example, the input information 114 indicates that the “company code”, “order detail ID”, and “order ID” columns of the target table are primary keys.
  • the table selection unit 102 When the input information 114 shown in FIG. 2 is input by the client device 200 and stored in the information storage unit 101, the table selection unit 102 reads the input information 114. The table selection unit 102 selects a target table defined by the read input information 114.
  • FIG. 3 is a table showing an example of information obtained by combining the input information 114 and the reference relation information 113.
  • the main / foreign key information included in the input information 114 is also reference relationship information 113 of the target table.
  • the reference relationship information 113 is information indicating a reference relationship between tables.
  • the reference relationship information 113 indicates that the “company code”, “order detail ID”, and “order ID” columns, which are primary keys of the target table, are also external keys.
  • the reference relationship information 113 indicates that the “store ID”, “product code”, and “brand ID” columns are also external keys.
  • the items in black in FIG. 3 are columns that have corresponding columns in the foreign key reference table.
  • a table corresponding to the “store name”, “store address”, “store manager_employee ID”, and “store manager name” columns exists in the reference table of the “store ID” column.
  • the reference relationship information 113 can be created by an arbitrary method as described above.
  • a function for creating the reference relationship information 113 can be implemented in the column specifying unit 103.
  • the column specifying unit 103 performs schema matching between the target table and other tables.
  • the column corresponding to the “store ID” column is included as a primary key, and the columns corresponding to the “store name”, “store address”, “store manager_employee ID”, and “store manager name” columns are not included.
  • the column specifying unit 103 refers to the reference relationship information 113 for the “store ID”, “store name”, “store address”, “store manager_employee ID”, and “store manager name” columns.
  • the “store ID” column is set as the external key.
  • the “store name”, “store address”, “store manager_employee ID”, and “store manager name” columns are linked to the “store ID” column.
  • FIG. 4 is a flowchart showing an example of the operation of the data cooperation support apparatus 100.
  • FIG. 5 is a table showing an example of information obtained by combining the cooperation source information 111 and the reference relationship information 113 and provisional virtual table information 301 described later.
  • the column specifying unit 103 refers to main / foreign key information (that is, main key information of the target table) included in the input information 114.
  • the column specifying unit 103 specifies the column that is the primary key of the target table selected by the table selecting unit 102 based on the referenced information.
  • the column specifying unit 103 generates key item information 302 indicating a list of specified columns.
  • the column specifying unit 103 generates key item information 302 as shown in FIG. 5 from the main / foreign key information included in the input information 114 shown in FIG.
  • the key item information 302 indicates that the “company code”, “order detail ID”, and “order ID” columns in the target table are primary keys.
  • step S12 the table extraction unit 104 acquires the cooperation source information 111, the cooperation destination information 112, and the reference relationship information 113 from the information storage unit 101. Further, the table extraction unit 104 acquires the key item information 302 from the column specifying unit 103.
  • the table extraction unit 104 acquires information obtained by combining the cooperation source information 111 and the reference relationship information 113 as illustrated in FIG.
  • the collaboration source information 111 is information that defines each collaboration source table in the same format as the input information 114 shown in FIG.
  • the reference relationship information 113 is information indicating a reference relationship between tables in the same format as the reference relationship information 113 shown in FIG.
  • the order table linkage source information 111 indicates that the “order ID” column of the order table is the primary key.
  • the order table reference relation information 113 indicates that the “company code” column of the order table is a foreign key.
  • the reference relationship information 113 of the order table includes a reference relationship record 303 indicating that the “company code” column of the order table refers to the “company code” column of the company table.
  • the company table linkage source information 111 indicates that the “company code” column of the company table is the primary key.
  • the company table reference relationship information 113 indicates that there is no foreign key in the company table.
  • the cooperation source information 111 of the order detail table indicates that the “order detail ID” and “order ID” columns of the order detail table are the primary keys.
  • the reference relationship information 113 in the order detail table indicates that the “order ID” and “store ID” columns in the order detail table are external keys.
  • the reference relationship information 113 of the order detail table includes a reference relationship record 304 indicating that the “order ID” column of the order detail table refers to the “order ID” column of the order table.
  • the table extraction unit 104 refers to the cooperation source information 111, the cooperation destination information 112, and the key item information 302 acquired in step S12, and all or part of the columns that are the primary keys of the target table. Select the table that contains the corresponding column. The table extraction unit 104 regards the selected table as the current virtual table.
  • the table extraction unit 104 determines that the “order ID” column indicated by the key item information 302 is similar to the “order ID” column indicated by the link source information 111 of the order table, and the order table Select.
  • the table extraction unit 104 regards the order table as a current virtual table.
  • the order table is one of cooperation source tables, but may be one of cooperation destination tables different from the target table.
  • step S14 the table extraction unit 104 refers to the cooperation source information 111, the cooperation destination information 112, and the key item information 302 acquired in step S12, and among the columns that are the primary keys of the target table, Determine if there are any columns not included in the virtual table. If there is a column not included in the current virtual table, the table extraction unit 104 proceeds to step S15. If all the columns that are the primary keys of the target table are included in the current virtual table, the table extraction unit 104 proceeds to step S17.
  • the table extraction unit 104 determines that the “company code” and “order detail ID” columns indicated by the key item information 302 are not included in the current virtual table.
  • step S15 the table extraction unit 104 refers to the cooperation source information 111, the cooperation destination information 112, the reference relationship information 113, and the key item information 302 acquired in step S12, and directly or indirectly with the table selected in step S13. Therefore, it is determined whether there is a table including a column corresponding to a column that is connected by a reference relationship (ie, via another selected table) and is not included in the current virtual table. If there is such a table, the table extraction unit 104 selects the table and proceeds to step S16. If there is no such table, the table extraction unit 104 cancels the current virtual table and proceeds to step S18.
  • the table extraction unit 104 refers to the cooperation source information 111 of the company table indicated as the reference destination of the order table in the reference relationship record 303.
  • the table extraction unit 104 determines that the “company code” column indicated by the key item information 302 is similar to the “company code” column indicated by the cooperation source information 111 of the company table, and selects the company table.
  • the company table is one of cooperation source tables, but may be one of cooperation destination tables different from the target table.
  • step S16 the table combining unit 105 combines the current virtual table and the table selected in step S15 to create one table.
  • the table combining unit 105 regards the created table as the current virtual table (that is, updates the current virtual table), and returns to step S14.
  • the table combining unit 105 combines the current virtual table, which is an order table, and the company table to create a new current virtual table.
  • the table extraction unit 104 determines that the “order detail ID” column indicated by the key item information 302 is not included in the current virtual table.
  • the table extraction unit 104 refers to the cooperation source information 111 of the order detail table shown as the reference source of the order table in the reference relationship record 304.
  • the table extraction unit 104 determines that the “order detail ID” column indicated by the key item information 302 is similar to the “order detail ID” column indicated by the link source information 111 of the order detail table, and the order Select a detail table.
  • step S ⁇ b> 16 the table combination unit 105 combines the current virtual table obtained by combining the order table and the company table with the order detail table to create a new current virtual table. Further, in the subsequent step S14, the table extraction unit 104 determines that all the columns indicated by the key item information 302 are included in the current virtual table, and proceeds to step S17.
  • the table combining unit 105 creates provisional virtual table information 301.
  • the temporary virtual table information 301 is information that defines the current virtual table.
  • the provisional virtual table information 301 includes primary key information, attribute information, and reference relationship information of the virtual table.
  • the primary key information of the virtual table is information indicating whether each of a plurality of columns included in the virtual table is a primary key.
  • the primary key information of the virtual table must match the primary key information of the target table.
  • the attribute information of the virtual table is information indicating data attributes (for example, column names and data types) stored in each of a plurality of columns included in the virtual table.
  • the virtual table reference relationship information is information indicating a reference relationship between the virtual table and another table.
  • the table combining unit 105 creates provisional virtual table information 301 as shown in FIG.
  • the provisional virtual table information 301 is information that defines a virtual table in the same format as the information obtained by combining the cooperation source information 111 and the reference relationship information 113 illustrated in FIG.
  • the provisional virtual table information 301 indicates that the “company code”, “order detail ID”, and “order ID” columns of the virtual table are primary keys.
  • the provisional virtual table information 301 indicates that the “order ID” column of the virtual table is a foreign key.
  • step S18 the table extraction unit 104 determines whether or not the processing in steps S14 to S17 has been completed for all the table combinations including the table selected in step S13. If the process has been completed, the table extraction unit 104 proceeds to step S19. If the process has not been completed, the table extraction unit 104 regards the table selected in step S13 as a new virtual table at the current time, and returns to step S14.
  • the table joining unit 105 creates new provisional virtual table information 301 each time the process of step S17 is executed (that is, for each virtual table).
  • step S19 the table extraction unit 104 determines whether there is another table that can be selected in step S13. If there is such a table, the table extraction unit 104 returns to step S13. If there is no such table, the table extraction unit 104 ends the process.
  • FIG. 6 is a table showing another example of information obtained by combining the cooperation source information 111 and the reference relationship information 113.
  • the same table as the example of FIG. 5 is divided into a plurality of schemas or a plurality of databases.
  • schema A of the database DB-1 there are an order table and an order detail table similar to the example of FIG.
  • a company table similar to the example of FIG. 5 exists in the schema B of the same database.
  • Another company table exists in schema 1 of another database called DB-2.
  • the order table reference relationship information 113 includes a reference relationship record 303 indicating that the “company code” column of the order table refers to the “company code” column of the company table belonging to the schema B of DB-1. .
  • the reference relationship information 113 of the order table further includes a reference relationship record 305 indicating that the “company code” column of the order table refers to the “company code” column of the company table belonging to the schema 1 of DB-2. ing.
  • the reference relationship records 303, 304, and 305 include information related to the scope.
  • the table extraction unit 104 extracts a table based on this information. That is, the table extraction unit 104 determines whether a table having a reference relationship with the selected table exists in the same schema, the same database, or a different database as the selected table. Extract while distinguishing.
  • FIG. 7 is a table showing another example of information obtained by combining the cooperation source information 111 and the reference relationship information 113 and the provisional virtual table information 301.
  • the table extracting unit 104 can refer to the cooperation source information 111 of the company table belonging to another database indicated as the reference destination of the order table in the reference relationship record 305.
  • the “company code” column indicated by the key item information 302 is similar to the “company code” column indicated by the linkage source information 111 of the company table belonging to the schema 1 of DB-2. Then, it is determined and this company table is selected.
  • the table combining unit 105 can create temporary virtual table information 301 as shown in FIG. 7 separately from the temporary virtual table information 301 shown in FIG.
  • the virtual table in the example of FIG. 7 has a “brand ID” column added to the virtual table in the example of FIG.
  • the input information 114 shown in FIG. 3 indicates that the “brand ID” column is included in the target table. Therefore, the virtual table in the example of FIG. 7 is superior to the virtual table in the example of FIG. 5 in that the number of columns corresponding to the target table is large.
  • a scope (for example, in the same database, in the same schema) may be designated.
  • the table extraction unit 104 extracts a table within the designated scope.
  • a virtual table having as many non-primary key columns as possible as the target table among these virtual tables is created by the operation of FIG. 4, a virtual table having as many non-primary key columns as possible as the target table among these virtual tables.
  • the table is suitable for data linkage. Schema matching techniques can be used to detect such virtual tables.
  • FIG. 8 is a flowchart showing an example of the operation of the data cooperation support apparatus 100 after the operation of FIG.
  • FIG. 9 is a conceptual diagram showing schema matching between a virtual table and a target table.
  • step S21 the recommendation determining unit 106 acquires the input information 114 and the provisional virtual table information 301 created in step S17 from the information storage unit 101.
  • the recommendation determining unit 106 includes the information illustrated in FIG. 3 (that is, information obtained by combining the input information 114 and the reference relationship information 113) and the provisional virtual table information illustrated in FIG. 7. 301 is acquired.
  • step S22 the recommendation determining unit 106 performs schema matching between the target table defined by the input information 114 acquired in step S21 and the virtual table defined by the provisional virtual table information 301 acquired in step S21.
  • the primary key matches as much as possible between the target table and the virtual table. Therefore, the similarity of the non-primary key column is confirmed.
  • Existing schema matching techniques can be used to determine column similarity.
  • the recommendation determining unit 106 performs schema matching between the target table defined by the information illustrated in FIG. 3 and the virtual table defined by the provisional virtual table information 301 illustrated in FIG.
  • items in black in FIG. 3 are columns that can be acquired by referring to other tables. Therefore, the result of schema matching for these columns is ignored. Alternatively, schema matching is omitted for these columns.
  • step S23 the recommendation determining unit 106 totals the results of the schema matching performed in step S22 (that is, the matching score), and determines which column of the virtual table is similar to the non-primary key column of the target table. To do.
  • the recommendation determining unit 106 determines that the “customer code”, “store ID”, and “brand ID” columns of the virtual table are similar to the columns of the same name in the target table.
  • FIG. 10 is a flowchart showing an example of the operation of the data cooperation support apparatus 100 after the operation of FIG.
  • FIG. 11 is a conceptual diagram showing schema matching between the cooperation source table and the target table.
  • FIG. 12 is a conceptual diagram illustrating schema matching between a cooperation source table and a virtual table.
  • step S31 the recommendation determination unit 106 acquires the cooperation source information 111, the cooperation destination information 112, and the reference relationship information 113 from the information storage unit 101.
  • the recommendation determining unit 106 acquires information obtained by combining the cooperation source information 111 and the reference relationship information 113 as illustrated in FIG.
  • the order table linkage source information 111 indicates that the “employee ID” column of the employee table is the primary key.
  • the employee table reference relationship information 113 indicates that the employee table has no external key.
  • the discount table linkage source information 111 indicates that the “order details ID” and “order ID” columns of the discount table are primary keys.
  • the discount table reference relationship information 113 indicates that the “order ID”, “store ID”, and “product code” columns of the discount table are external keys.
  • step S32 the recommendation determining unit 106 converts the plurality of columns included in the target table defined by the input information 114 acquired in step S21 into the virtual table defined by the provisional virtual table information 301 acquired in step S21. Extract columns for which no corresponding column exists. That is, the recommendation determining unit 106 extracts columns other than the columns determined to be similar to the virtual table columns in step S23 from the non-primary key columns of the target table.
  • the items in black in FIG. 11 are columns in which columns corresponding to either the primary key column, the foreign key reference destination table, or the virtual table exist.
  • step S33 the recommendation determining unit 106 performs schema matching between the column extracted in step S32 and the cooperation source table and the cooperation destination table defined by the information acquired in step S31.
  • the recommendation determining unit 106 performs schema matching between the target table defined by the information shown in FIG. 3 and the employee table and discount table defined by the information shown in FIG.
  • items in black in FIG. 11 are primary key columns or columns that can be acquired by referring to other tables. Therefore, the result of schema matching for these columns is ignored. Alternatively, schema matching is omitted for these columns.
  • step S34 the recommendation determining unit 106 aggregates the results of the schema matching performed in step S33 (that is, the matching score), and any column of any linkage source table or any linkage destination table is the target table. Determine if it is similar to the rest of the columns.
  • the recommendation determination unit 106 determines that the “employee name” column of the employee table is similar to the “in charge of sales” column of the target table based on the result of schema matching. The recommendation determining unit 106 determines that the “discount” and “product code” columns in the discount table are similar to the columns having the same names in the target table.
  • step S35 the recommendation determining unit 106 is defined by the cooperation source table or the cooperation destination table including the columns determined to be similar to the remaining columns of the target table in step S34, and the provisional virtual table information 301 acquired in step S21. Perform schema matching with virtual table.
  • the recommendation determining unit 106 includes an employee table and a discount table defined by the information shown in FIG. 11, and a virtual table defined by the provisional virtual table information 301 shown in FIG. Perform schema matching.
  • step S36 the recommendation determining unit 106 totals the results of the schema matching performed in step S35 (that is, the matching score), and includes a cooperation source table including columns determined to be similar to the remaining columns of the target table in step S34. It is determined whether or not the cooperation destination table can be combined with the virtual table defined by the provisional virtual table information 301 acquired in step S21. If both tables can be combined, the recommendation determining unit 106 proceeds to step S37. If both tables cannot be combined, the recommendation determining unit 106 regards the virtual table defined by the temporary virtual table information 301 acquired in step S21 as the final virtual table, and proceeds to step S38. However, the recommendation determining unit 106 excludes columns that do not have corresponding columns in the target table from the final virtual table.
  • the recommendation determining unit 106 is defined by the cooperation source table or the cooperation destination table including the columns determined to be similar to the remaining columns of the target table in step S34, and the provisional virtual table information 301 acquired in step S21. Join one virtual table to create one table.
  • the recommendation determining unit 106 regards the created table as a final virtual table, and proceeds to step S38. However, the recommendation determining unit 106 excludes columns that do not have corresponding columns in the target table from the final virtual table.
  • the recommendation determining unit 106 combines the virtual table defined by the provisional virtual table information 301 illustrated in FIG. 12 with the employee table and the discount table defined by the information illustrated in FIG. Create a virtual table.
  • step S ⁇ b> 38 the recommendation determination unit 106 uses the output device to provide the recommended information 161 that recommends that the table combination that is the basis of the final virtual table is used for data linkage of the target table. Output to.
  • step S38 the recommendation determining unit 106 performs schema matching between the target table and the final virtual table for each virtual table.
  • the recommendation determination unit 106 selects the final virtual table having the highest schema matching score (or the highest n (n> 1) in the schema matching score).
  • the recommendation determination unit 106 outputs the recommended information 161 that recommends using the combination of the tables that is the basis of the selected final virtual table to the target table data linkage to the client device 200 via the output device. To do.
  • Some columns corresponding to some columns of the target table may not be included in the final virtual table. That is, the target table may not be realized by data linkage using only an existing table. In such a case, it can be considered that information for joining the virtual table and the linkage source table is manually created as a related table. In this case, it is necessary to investigate what kind of related table should be created. However, providing the recommended information 161 to the client device 200 can contribute to a reduction in the amount of investigation.
  • record data is not essential for automatic recommendation of data linkage relations, and only metadata such as table definition information may be used. Therefore, it is possible to set a wide range of systems for searching for data linkage relationships. As a result, it is possible to find an overall optimal solution of the data linkage relationship considering the entire system. That is, according to the present embodiment, in data linkage, it is possible to efficiently and accurately determine from which table column the data stored in the column of the table to be linked is extracted.
  • scope not only the scope is expanded, but also a plurality of scopes are explicitly divided in the database schema, in the database, and outside the database, and a virtual table is created for each. For this reason, it is possible to check the data linkage relationship candidates by scope. For example, it can be confirmed that data items that cannot be acquired within the database schema can be acquired by expanding the scope outside the database. Therefore, it is possible to define the data linkage relationship according to the situation while comparing the data linkage cost outside the database with the data linkage cost in the database schema.
  • FIG. 13 is a diagram illustrating an example of a hardware configuration of the data cooperation support apparatus 100 according to the present embodiment.
  • the data linkage support apparatus 100 is a computer, and includes an LCD 901 (Liquid / Crystal / Display), a keyboard 902 (K / B), a mouse 903, an FDD 904 (Flexible / Disk / Drive), and a CDD 905 (Compact / Disc / Drive). Drive) and a hardware device such as a printer 906 are provided. These hardware devices are connected by cables and signal lines. Instead of the LCD 901, a CRT (Cathode / Ray / Tube) or other display device may be used. Instead of the mouse 903, a touch panel, a touch pad, a trackball, a pen tablet, or other pointing devices may be used.
  • the data linkage support apparatus 100 includes a CPU 911 (Central Processing Unit) that executes a program.
  • the CPU 911 is an example of a processing device.
  • the CPU 911 includes a ROM 913 (Read / Only / Memory), a RAM 914 (Random / Access / Memory), a communication board 915, an LCD 901, a keyboard 902, a mouse 903, an FDD 904, a CDD 905, a printer 906, and an HDD 920 (Hard / Disk) via a bus 912. Connected with Drive) to control these hardware devices.
  • a flash memory, an optical disk device, a memory card reader / writer, or other recording medium may be used.
  • the RAM 914 is an example of a volatile memory.
  • the ROM 913, the FDD 904, the CDD 905, and the HDD 920 are examples of nonvolatile memories. These are examples of the storage device.
  • the communication board 915, the keyboard 902, the mouse 903, the FDD 904, and the CDD 905 are examples of input devices.
  • the communication board 915, the LCD 901, and the printer 906 are examples of output devices.
  • the communication board 915 is connected to a LAN (Local / Area / Network) or the like.
  • the communication board 915 is not limited to a LAN, but includes an IP-VPN (Internet / Protocol / Virtual / Private / Network), a wide area LAN, an ATM (Asynchronous / Transfer / Mode) network, a WAN (Wide / Area / Network), or the Internet. It does not matter if it is connected to.
  • LAN, WAN, and the Internet are examples of networks.
  • the HDD 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
  • the programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922.
  • the program group 923 includes programs that execute the functions described as “unit” in the description of the embodiment of the present invention.
  • the program is read and executed by the CPU 911.
  • the file group 924 includes data and information described as “ ⁇ data”, “ ⁇ information”, “ ⁇ ID (identifier)”, “ ⁇ flag”, and “ ⁇ result” in the description of the embodiment of the present invention. Signal values, variable values, and parameters are included as " ⁇ file", " ⁇ database”, and " ⁇ table” items.
  • “ ⁇ file”, “ ⁇ database”, and “ ⁇ table” are stored in a recording medium such as the RAM 914 and the HDD 920.
  • Data, information, signal values, variable values, and parameters stored in a recording medium such as the RAM 914 and the HDD 920 are read out to the main memory and the cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. It is used for processing (operation) of the CPU 911 such as calculation, control, output, printing and display.
  • processing of the CPU 911 such as extraction, search, reference, comparison, calculation, calculation, control, output, printing, and display, data, information, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory.
  • the arrow portions in the block diagrams and flowcharts mainly indicate input / output of data and signals.
  • Data and signals are recorded in memory such as RAM 914, FDD904 flexible disk (FD), CDD905 compact disk (CD), HDD920 magnetic disk, optical disk, DVD (Digital Versatile Disc), or other recording media Is done.
  • Data and signals are transmitted by a bus 912, a signal line, a cable, or other transmission media.
  • what is described as “to part” may be “to circuit”, “to device”, and “to device”, and “to step” and “to process”.
  • Firmware and software are stored as programs in a recording medium such as a flexible disk, a compact disk, a magnetic disk, an optical disk, and a DVD.
  • the program is read by the CPU 911 and executed by the CPU 911.
  • the program causes the computer to function as “ ⁇ unit” described in the description of the embodiment of the present invention.
  • the program causes a computer to execute the procedures and methods of “unit” described in the description of the embodiment of the present invention.
  • 100 data linkage support device 101 information storage unit, 102 table selection unit, 103 column specification unit, 104 table extraction unit, 105 table combination unit, 106 recommendation judgment unit, 111 linkage source information, 112 linkage destination information, 113 reference relation information , 114 input information, 161 recommended information, 200 client devices, 301 provisional virtual table information, 302 key item information, 303, 304, 305 reference relation record, 901 LCD, 902 keyboard, 903 mouse, 904 FDD, 905 CDD, 906 printer , 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 HDD, 921 operating system, 922 window system, 923 programs, 24 file group.

Abstract

In order to efficiently, accurately determine, in the context of data linking, the table column from which to extract data to store in a column of a link-destination table, a data-linking support device is provided. From among tables other than the link-destination table, said data-linking support device extracts a combination of two or more tables, connected by a reference relationship or reference relationships, in which columns corresponding to two or more columns that serve as primary keys for the link-destination table are spread across the aforementioned two or more tables as primary keys therefor. On the basis of a result obtained from schema matching performed on the link-destination table and a table that joins the tables in the extracted combination of tables, the data-linking support device determines whether or not to recommend using the extracted combination in data linking for the link-destination table.

Description

データ連携支援装置及びデータ連携支援方法Data linkage support apparatus and data linkage support method
 本発明は、データ連携支援装置及びデータ連携支援方法に関するものである。 The present invention relates to a data linkage support apparatus and a data linkage support method.
 システム間の連携、あるいは、システム同士の統合に伴って、システム別のデータベース間のデータ連携、あるいは、同じデータベース内の別々のテーブル間のデータ連携が必要となる。データ連携では、連携先となるテーブル(即ち、連携先テーブル)のカラムに格納するデータを、どのテーブル(即ち、連携元テーブル)のカラムから抽出すればよいかというデータ連携関係を定義する必要がある。 In conjunction with inter-system or system integration, data inter-system database cooperation or data inter-table tables within the same database is required. In data linkage, it is necessary to define a data linkage relationship as to which table (that is, the linkage source table) the data stored in the column of the linkage destination table (ie, the linkage destination table) should be extracted. is there.
 データ連携関係を定義するためには、テーブル間のカラムの対応関係を何らかの手段で検出する必要がある。さらに、連携元テーブルから連携先テーブルのカラムの組み合わせであるテーブルレイアウトがテーブル操作によって作成できる必要がある。このようなデータ構造の変換が実施できないと、連携先テーブルにデータを格納することができない。連携先テーブルとレイアウトが一致する連携元テーブルがなく、2つ以上の連携元テーブルからデータを集めて連携先テーブルを作成する場合には、テーブル間のカラムの類似性によって対応関係を判断するだけでは不十分である。実際にそれら2つ以上の連携元テーブルに対して結合(例えば、JOIN)操作を実施できることが必要である。結合される連携元テーブルは、それぞれ結合操作のための共通カラム(即ち、結合キー)を持つ必要がある。 In order to define the data linkage relationship, it is necessary to detect the column correspondence between tables by some means. Furthermore, it is necessary to create a table layout that is a combination of columns of the cooperation destination table from the cooperation source table by table operation. If such a data structure conversion cannot be performed, data cannot be stored in the cooperation destination table. If there is no linkage source table whose layout matches that of the linkage destination table and data is collected from two or more linkage source tables and the linkage destination table is created, the correspondence relationship is simply determined based on the similarity of the columns between the tables. Is not enough. In fact, it is necessary to be able to perform a join (for example, JOIN) operation on these two or more linkage source tables. Each linked source table needs to have a common column (that is, a join key) for the join operation.
 データ連携関係の定義は、一般的に、人間が各システムのデータベースのテーブル定義書に記述されたテーブル定義情報等を参照して作成する。その作業は、データベース技術と業務内容を理解した高度な技術者が労働集約的に実施する必要があった。 The definition of the data linkage relationship is generally created by referring to the table definition information described in the table definition document of each system database. The work needed to be labor intensive by highly skilled engineers who understood the database technology and work content.
 データ連携関係を自動抽出する技術として、データベースのテーブルのレコード(即ち、実データ)を利用する技術が存在する(例えば、特許文献1参照)。 As a technique for automatically extracting a data linkage relationship, there is a technique that uses a record (that is, actual data) in a database table (see, for example, Patent Document 1).
 特許文献1では、連携元テーブルと連携先テーブルの全て又はサンプリングしたレコードのデータを取り込む。データの内容を解析し、対応関係を推測しながら、連携元テーブルのレコードから連携先テーブルのレコードを作成する。ただし、テーブル定義情報の利用は限定的である。 In Patent Document 1, all of the cooperation source table and the cooperation destination table or sampled record data is captured. Analyzing the contents of the data and guessing the correspondence, create a record of the linkage destination table from the record of the linkage source table. However, the use of table definition information is limited.
 類似するカラムの対応関係を自動抽出する技術として、いわゆるスキーママッチング技術が存在する(例えば、非特許文献1参照)。 A so-called schema matching technique exists as a technique for automatically extracting the correspondence between similar columns (for example, see Non-Patent Document 1).
 スキーママッチング技術では、例えば、2つのテーブル、あるいは、それぞれテーブルの集合体である2つのスキーマの構造に関するテーブル定義情報を入力として受け取る。テーブルのカラムの名称及びデータ型、テーブル間の関係等から、カラムの類似度を判断する。これにより、異なるテーブルのカラム間の対応関係を抽出する。 In the schema matching technology, for example, table definition information related to the structure of two schemas or two schemas, each of which is a collection of tables, is received as an input. The column similarity is determined from the name and data type of the table column, the relationship between the tables, and the like. Thereby, the correspondence between columns of different tables is extracted.
 スキーママッチング技術では、主にテーブル定義情報を利用する。レコード(即ち、実データ)を利用する場合もあるが、利用は限定的である。一般的に、レコードから年月日のデータが「YYMMDD」なのか「YYYY/MM/DD」なのかというようなカラムのフォーマット情報を抽出し、メタデータとして利用する。ここで、「Y」は年の1桁数値、「M」は月の1桁数値、「D」は日の1桁数値である。例えば、2013年4月1日は「YYYY/MM/DD」のフォーマットで表すと「2013/04/01」となる。 Schema matching technology mainly uses table definition information. Records (that is, actual data) may be used, but use is limited. In general, column format information such as whether the date data is “YYMMDD” or “YYYY / MM / DD” is extracted from the record and used as metadata. Here, “Y” is a one-digit value of the year, “M” is a one-digit value of the month, and “D” is a one-digit value of the day. For example, April 1, 2013 is expressed as “2013/04/01” in the format of “YYYY / MM / DD”.
 スキーママッチング技術では、類似度の判断基準としてカラムの名称が最もよく利用されてきた。システム間ではカラムの命名規則が異なることが多いため、スキーママッチング技術は、システム間のデータ連携関係を自動抽出する処理には向かないと考えられてきた。しかし、命名規則の差異を吸収するためのデータ項目辞書の整備により、命名規則が異なるシステム間で類似するカラムの抽出が可能となっている。データ項目辞書の整備は、以前は人手で行われていたが、近年は辞書の自動生成技術が発展してきている。そのため、データ連携関係の自動抽出のような分野でも、スキーママッチング技術の利用が可能になってきている。 In the schema matching technology, the column name has been most often used as a criterion for similarity. Since column naming rules often differ between systems, it has been considered that schema matching technology is not suitable for processing to automatically extract data linkage relationships between systems. However, the maintenance of data item dictionaries to absorb differences in naming rules makes it possible to extract similar columns between systems with different naming rules. The maintenance of data item dictionaries was previously done manually, but in recent years, automatic dictionary generation technology has been developed. For this reason, schema matching technology can be used even in fields such as automatic extraction of data linkage relationships.
米国特許第8082243号明細書US Patent No. 8082243
 特許文献1では、連携元テーブルと連携先テーブルのレコードを利用してデータ連携関係を自動抽出する。データ連携関係の抽出精度を高めるためには、全てのレコードを利用することが必要である。その場合、大量のレコードに対する処理が必要となる。そのような処理を大規模なシステムに対して実行した場合、処理時間が実用的な時間に収まらない可能性が高い。必然的に処理の対象とするシステムを絞り込まざるを得ない。その結果、自動抽出されるデータ連携関係は局所的な解となり、全体的な視点で見直した場合、不要なデータ連携が発見されることになる。 In Patent Document 1, the data linkage relationship is automatically extracted using the records of the linkage source table and the linkage destination table. It is necessary to use all records in order to increase the accuracy of extracting data linkages. In that case, it is necessary to process a large number of records. When such a process is executed on a large-scale system, there is a high possibility that the processing time does not fall within a practical time. Inevitably, the system to be processed must be narrowed down. As a result, the automatically extracted data linkage relationship becomes a local solution, and when it is reviewed from an overall viewpoint, unnecessary data linkage is discovered.
 利用するレコードの数を減らすためにサンプリング技術を活用することも可能である。しかし、テーブル間の参照関係を考慮しながらサンプリングを行うことは困難である。サンプリングの結果、本来は参照関係のあるテーブルが、参照関係のないように見えてしまう可能性がある。 Sampling technology can be used to reduce the number of records used. However, it is difficult to perform sampling while considering the reference relationship between tables. As a result of sampling, a table that originally has a reference relationship may appear to have no reference relationship.
 以上のように、特許文献1のようなレコードの利用が必須となる技術は、レコードの量によって適用できるシステムの範囲が制限されるという課題がある。 As described above, the technique that requires the use of records as in Patent Document 1 has a problem that the range of systems that can be applied is limited by the amount of records.
 また、特許文献1のような技術では、事前にレコードの準備が必須であるという課題がある。例えば、連携先テーブルが新規に作成するテーブルであるとすると、利用できるレコードが存在しないため、データ連携関係を自動抽出できない。 Also, the technique such as Patent Document 1 has a problem that it is essential to prepare a record in advance. For example, if the linkage destination table is a newly created table, there is no record that can be used, and therefore, the data linkage relationship cannot be automatically extracted.
 非特許文献1のようなスキーママッチング技術では、レコードの準備は必須ではない。テーブル定義情報のようなメタデータのみから、類似するカラムの対応関係を抽出できる。そのため、レコードを利用する技術と比較すると、扱うデータ量が少なくて済むという利点がある。大規模なシステム全体を処理の対象とすることができる。 In the schema matching technique as in Non-Patent Document 1, the record preparation is not essential. Correspondence between similar columns can be extracted only from metadata such as table definition information. Therefore, there is an advantage that the amount of data to be handled can be reduced compared with the technique using records. The entire large-scale system can be processed.
 しかし、スキーママッチング技術は、類似するカラムを見つけ出す技術である。そのため、データ連携関係のみではなく、テーブル間の参照整合性制約及び意味的な参照関係も区別なしに抽出してしまうという課題がある。特に、データベース内に同義のカラムが多数存在する場合、スキーママッチング技術の観点からは正しい対応関係であっても、データ連携関係ではない対応関係が多数検出されてしまう。 However, the schema matching technique is a technique for finding similar columns. Therefore, there is a problem that not only the data linkage relationship but also the referential integrity constraint between tables and the semantic reference relationship are extracted without distinction. In particular, when there are many synonymous columns in the database, many correspondences that are not data linkage relationships are detected even if the correspondences are correct from the viewpoint of schema matching technology.
 また、スキーママッチング技術では、データ連携を行うために連携元テーブルから連携先テーブルのレイアウトをテーブル操作によって作成する必要がある点について考慮されていないという課題がある。 Also, the schema matching technique has a problem that it is not considered that the layout of the cooperation destination table needs to be created by the table operation from the cooperation source table in order to perform data cooperation.
 本発明は、例えば、データ連携において、連携先となるテーブルのカラムに格納するデータを、どのテーブルのカラムから抽出すればよいかを、効率よく、的確に判断することを目的とする。 The object of the present invention is, for example, to efficiently and accurately determine from which table column the data stored in the column of the table to be linked is extracted in data linkage.
 本発明の一の態様に係るデータ連携支援装置は、
 複数のテーブルを有するデータベースのデータ連携を支援する装置であり、
 前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す主キー情報と、前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれに格納されるデータの属性を示す属性情報と、前記複数のテーブル間の参照関係を示す参照関係情報とを記憶する情報記憶部と、
 前記複数のテーブルから、主キーになっている2つ以上のカラムを含みデータ連携の連携先となる1つのテーブルを選択するテーブル選択部と、
 前記情報記憶部に記憶された主キー情報に基づき、前記テーブル選択部により選択されたテーブルに含まれる複数のカラムから、前記2つ以上のカラムを特定するカラム特定部と、
 前記情報記憶部に記憶された主キー情報と属性情報と参照関係情報とに基づき、前記複数のテーブルのうち前記テーブル選択部により選択されたテーブル以外のテーブルから、参照関係によって結ばれた2つ以上のテーブルの組み合わせであって、前記カラム特定部により特定されたカラムと対応するカラムが当該2つ以上のテーブルに分かれて各テーブルの主キーとして存在する組み合わせを抽出するテーブル抽出部と、
 前記テーブル抽出部により抽出された組み合わせに含まれるテーブルを結合して1つのテーブルを作成するテーブル結合部と、
 前記テーブル選択部により選択されたテーブルと前記テーブル結合部により作成されたテーブルとのスキーママッチングを行い、スキーママッチングの結果に基づき、前記テーブル抽出部により抽出された組み合わせを、前記テーブル選択部により選択されたテーブルのデータ連携に利用することを推奨するかどうか判断する推奨判断部とを備える。
A data linkage support apparatus according to an aspect of the present invention includes:
A device that supports data linkage of a database having a plurality of tables,
Primary key information indicating whether or not each of the plurality of columns included in each of the plurality of tables is a primary key, and attributes of data stored in each of the plurality of columns included in each of the plurality of tables An information storage unit that stores attribute information indicating the reference relationship information indicating the reference relationship between the plurality of tables;
A table selection unit that selects, from the plurality of tables, one table including two or more columns serving as primary keys and serving as a linkage destination of data linkage;
A column specifying unit for specifying the two or more columns from a plurality of columns included in the table selected by the table selection unit based on the primary key information stored in the information storage unit;
Based on the primary key information, the attribute information, and the reference relationship information stored in the information storage unit, two of the plurality of tables connected by a reference relationship from a table other than the table selected by the table selection unit A table extraction unit that is a combination of the above-described tables and extracts a combination in which a column corresponding to the column specified by the column specifying unit is divided into the two or more tables and exists as a primary key of each table;
A table combination unit that combines tables included in the combination extracted by the table extraction unit to create one table;
Schema matching is performed between the table selected by the table selection unit and the table created by the table combination unit, and the combination extracted by the table extraction unit is selected by the table selection unit based on the result of schema matching. And a recommendation determining unit that determines whether or not to recommend the use of the table for data linkage.
 本発明の一の態様によれば、データ連携支援装置が、データ連携において、連携先となるテーブルのカラムに格納するデータを、どのテーブルのカラムから抽出すればよいかを、効率よく、的確に判断することができる。 According to one aspect of the present invention, the data linkage support apparatus efficiently and accurately determines from which table column the data stored in the column of the table that is the linkage destination is extracted in the data linkage. Judgment can be made.
実施の形態1に係るデータ連携支援装置の構成を示すブロック図。FIG. 2 is a block diagram showing a configuration of a data cooperation support apparatus according to the first embodiment. 実施の形態1に係る入力情報の例を示す表。4 is a table showing an example of input information according to the first embodiment. 実施の形態1に係る入力情報と参照関係情報とが合成された情報の例を示す表。The table | surface which shows the example of the information with which the input information which concerns on Embodiment 1, and reference relationship information were synthesize | combined. 実施の形態1に係るデータ連携支援装置の動作の例を示すフローチャート。5 is a flowchart showing an example of the operation of the data linkage support apparatus according to the first embodiment. 実施の形態1に係る連携元情報と参照関係情報とが合成された情報と、暫定仮想テーブル情報との例を示す表。The table | surface which shows the example of the information by which the cooperation origin information which concerns on Embodiment 1, and reference relationship information were synthesize | combined, and temporary virtual table information. 実施の形態1に係る連携元情報と参照関係情報とが合成された情報の別の例を示す表。The table | surface which shows another example of the information by which the cooperation origin information which concerns on Embodiment 1, and reference relationship information were synthesize | combined. 実施の形態1に係る連携元情報と参照関係情報とが合成された情報と、暫定仮想テーブル情報との別の例を示す表。The table | surface which shows another example of the information by which the cooperation origin information which concerns on Embodiment 1, and the reference relationship information were synthesize | combined, and temporary virtual table information. 実施の形態1に係るデータ連携支援装置の動作の例を示すフローチャート。5 is a flowchart showing an example of the operation of the data linkage support apparatus according to the first embodiment. 実施の形態1に係る仮想テーブルと目標テーブルとのスキーママッチングを示す概念図。FIG. 3 is a conceptual diagram showing schema matching between a virtual table and a target table according to the first embodiment. 実施の形態1に係るデータ連携支援装置の動作の例を示すフローチャート。5 is a flowchart showing an example of the operation of the data linkage support apparatus according to the first embodiment. 実施の形態1に係る連携元テーブルと目標テーブルとのスキーママッチングを示す概念図。The conceptual diagram which shows the schema matching with the cooperation origin table and target table which concern on Embodiment 1. FIG. 実施の形態1に係る連携元テーブルと仮想テーブルとのスキーママッチングを示す概念図。The conceptual diagram which shows the schema matching with the cooperation origin table and virtual table which concern on Embodiment 1. FIG. 実施の形態1に係るデータ連携支援装置のハードウェア構成の一例を示す図。FIG. 3 is a diagram illustrating an example of a hardware configuration of a data cooperation support apparatus according to the first embodiment.
 以下、本発明の実施の形態について、図を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
 実施の形態1.
 図1は、本実施の形態に係るデータ連携支援装置100の構成を示すブロック図である。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a configuration of a data cooperation support apparatus 100 according to the present embodiment.
 図1において、データ連携支援装置100は、複数のテーブルを有するデータベースのデータ連携を支援する装置である。データ連携支援装置100により支援されるデータ連携は、データベースの異なるインスタンス間のデータ連携であってもよいし、同じインスタンスの異なるスキーマ間のデータ連携であってもよいし、同じスキーマの異なるテーブル間のデータ連携であってもよい。 In FIG. 1, a data linkage support apparatus 100 is an apparatus that supports data linkage of a database having a plurality of tables. Data linkage supported by the data linkage support apparatus 100 may be data linkage between different instances of the database, data linkage between different schemas of the same instance, or between different tables of the same schema. Data linkage may be used.
 データ連携支援装置100は、情報記憶部101、テーブル選択部102、カラム特定部103、テーブル抽出部104、テーブル結合部105、推奨判断部106を備える。 The data cooperation support apparatus 100 includes an information storage unit 101, a table selection unit 102, a column specification unit 103, a table extraction unit 104, a table combination unit 105, and a recommendation determination unit 106.
 図1には示していないが、データ連携支援装置100は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを備える。ハードウェアはデータ連携支援装置100の各部によって利用される。例えば、処理装置は、データ連携支援装置100の各部でデータ又は情報の演算、加工、読み取り、書き込み等を行うために利用される。記憶装置は、そのデータ又は情報を記憶するために利用される。入力装置は、そのデータ又は情報を入力するために利用される。出力装置は、そのデータ又は情報を出力するために利用される。 Although not shown in FIG. 1, the data cooperation support device 100 includes hardware such as a processing device, a storage device, an input device, and an output device. The hardware is used by each unit of the data cooperation support apparatus 100. For example, the processing device is used to perform calculation, processing, reading, writing, or the like of data or information in each unit of the data cooperation support device 100. The storage device is used to store the data or information. The input device is used to input the data or information. The output device is used to output the data or information.
 情報記憶部101は、連携元情報111、連携先情報112、参照関係情報113、入力情報114を、記憶装置を利用して記憶する。 The information storage unit 101 stores cooperation source information 111, cooperation destination information 112, reference relationship information 113, and input information 114 using a storage device.
 連携元情報111は、データ連携の連携元となるデータベース(即ち、連携元データベース)の複数のテーブル(即ち、連携元テーブル)を定義する情報である。連携元情報111には、連携元データベースの主キー情報及び属性情報が含まれる。連携元データベースの主キー情報とは、複数の連携元テーブルのそれぞれに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す情報である。連携元データベースの属性情報とは、複数の連携元テーブルのそれぞれに含まれる複数のカラムのそれぞれに格納されるデータの属性(例えば、カラム名、データ型)を示す情報である。 The collaboration source information 111 is information that defines a plurality of tables (that is, collaboration source tables) of a database (that is, the collaboration source database) that is a collaboration source of data collaboration. The collaboration source information 111 includes primary key information and attribute information of the collaboration source database. The primary key information of the cooperation source database is information indicating whether each of a plurality of columns included in each of the plurality of cooperation source tables is a primary key. The attribute information of the cooperation source database is information indicating attributes (for example, column names, data types) of data stored in the plurality of columns included in the plurality of cooperation source tables.
 連携先情報112は、データ連携の連携先となるデータベース(即ち、連携先データベース)の複数のテーブル(即ち、連携先テーブル)を、前述したデータ連携関係が既に与えられた範囲内で定義する情報である。1つの連携先テーブルの各カラムに格納するデータを、どのテーブル(即ち、連携元テーブル、他の連携先テーブル、あるいは、これらのテーブルの組み合わせ)のカラムから抽出すればよいかが既に決まっている場合、その連携先テーブルは、データ連携関係が既に与えられた連携先テーブルとなる。連携先情報112には、連携先データベースの主キー情報及び属性情報のうち、データ連携関係が既に与えられた連携先テーブルの主キー情報及び属性情報が含まれる。連携先データベースの主キー情報とは、複数の連携先テーブルのそれぞれに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す情報である。連携先データベースの属性情報とは、複数の連携先テーブルのそれぞれに含まれる複数のカラムのそれぞれに格納されるデータの属性(例えば、カラム名、データ型)を示す情報である。 The cooperation destination information 112 is information that defines a plurality of tables (that is, cooperation destination tables) of a database (that is, a cooperation destination database) that is a cooperation destination of data cooperation within a range in which the above-described data cooperation relationship is already given. It is. When the data stored in each column of one linkage destination table has already been determined from which column (that is, the linkage source table, another linkage destination table, or a combination of these tables) should be extracted The linkage destination table is a linkage destination table to which a data linkage relationship has already been given. The cooperation destination information 112 includes the primary key information and attribute information of the cooperation destination table to which the data cooperation relationship has already been given among the primary key information and attribute information of the cooperation destination database. The primary key information of the cooperation destination database is information indicating whether each of a plurality of columns included in each of the plurality of cooperation destination tables is a primary key. The attribute information of the cooperation destination database is information indicating data attributes (for example, column names and data types) stored in each of a plurality of columns included in each of the plurality of cooperation destination tables.
 参照関係情報113は、テーブル間の参照関係を示す情報である。本実施の形態では、テーブル間の参照整合性制約だけでなく、意味的な参照関係も「参照関係」とみなすものとする。2つのテーブルのうち一方のテーブルに含まれるカラムが他方のテーブルに含まれるカラムに対応しており、当該一方のテーブルのカラムが外部キーに設定されている場合、参照整合性制約があることになる。2つのテーブルのうち一方のテーブルに含まれるカラムが他方のテーブルに含まれるカラムに対応しているが、当該一方のテーブルのカラムが外部キーに設定されていない場合、意味的な参照関係があることになる。参照関係情報113は、任意の方法で作成することができる。 The reference relationship information 113 is information indicating a reference relationship between tables. In this embodiment, not only the referential integrity constraint between tables but also a semantic reference relationship is regarded as a “reference relationship”. If a column included in one of the two tables corresponds to a column included in the other table and the column of the one table is set as a foreign key, there is a referential integrity constraint. Become. A column included in one of the two tables corresponds to a column included in the other table, but there is a semantic reference relationship when the column of the one table is not set as a foreign key It will be. The reference relationship information 113 can be created by any method.
 入力情報114は、クライアント装置200(例えば、パーソナルコンピュータ)のユーザにより手動で作成されるか、あるいは、クライアント装置200で実行されるクライアントプログラムにより自動的に作成される。入力情報114は、クライアント装置200から入力装置を介して入力される。入力情報114は、データ連携関係が未だ与えられていない連携先テーブル(即ち、目標テーブル)を定義する情報である。入力情報114には、目標テーブルの主キー情報及び属性情報が含まれる。 The input information 114 is created manually by a user of the client device 200 (for example, a personal computer) or automatically created by a client program executed on the client device 200. The input information 114 is input from the client device 200 via the input device. The input information 114 is information that defines a cooperation destination table (that is, a target table) that has not yet been given a data cooperation relationship. The input information 114 includes primary key information and attribute information of the target table.
 テーブル選択部102は、情報記憶部101に記憶された入力情報114を読み取る。テーブル選択部102は、読み取った入力情報114により定義された目標テーブルを選択する。本実施の形態では、目標テーブルに含まれる複数のカラムのうち、2つ以上のカラムが主キーになっているものとする。よって、テーブル選択部102は、連携元データベース及び連携先データベースの複数のテーブルから、主キーになっている2つ以上のカラムを含みデータ連携の連携先となる1つのテーブルを選択することになる。 The table selection unit 102 reads the input information 114 stored in the information storage unit 101. The table selection unit 102 selects a target table defined by the read input information 114. In the present embodiment, it is assumed that two or more columns among the plurality of columns included in the target table are primary keys. Therefore, the table selection unit 102 selects one table as a cooperation destination of data cooperation including two or more columns serving as primary keys from a plurality of tables in the cooperation source database and the cooperation destination database. .
 カラム特定部103は、テーブル選択部102により読み取られた入力情報114に含まれる主キー情報に基づき、テーブル選択部102により選択された目標テーブルに含まれる複数のカラムから、主キーになっているカラム(即ち、前述した2つ以上のカラム)を特定する。 The column specifying unit 103 is a primary key from a plurality of columns included in the target table selected by the table selection unit 102 based on the primary key information included in the input information 114 read by the table selection unit 102. Identify a column (ie, two or more columns as described above).
 テーブル抽出部104は、情報記憶部101に記憶された連携元情報111と連携先情報112と参照関係情報113とを読み取る。テーブル抽出部104は、読み取った連携元情報111及び連携先情報112に含まれる主キー情報及び属性情報と、読み取った参照関係情報113とに基づき、連携元データベース及び連携先データベースの複数のテーブルのうちテーブル選択部102により選択された目標テーブル以外のテーブルから、以下の(1)及び(2)の条件を満たす2つ以上のテーブルの組み合わせを抽出する。
(1)当該2つ以上のテーブルが参照関係によって結ばれている。例えば、3つのテーブルのうち1つ目のテーブルが2つ目のテーブルを参照し、当該2つ目のテーブルが3つ目のテーブルを参照しているとき、当該3つのテーブルは参照関係によって結ばれていることになる。
(2)カラム特定部103により特定されたカラムと対応するカラムが当該2つ以上のテーブルに分かれて各テーブルの主キーとして存在する。例えば、2つのカラムがカラム特定部103により特定され、2つのテーブルの一方に、当該2つのカラムの一方と類似するカラムが主キーとして存在し、当該2つのテーブルの他方に、当該2つのカラムの他方と類似するカラムが主キーとして存在しているとき、当該2つのカラムと対応するカラムが当該2つのテーブルに分かれて各テーブルの主キーとして存在していることになる。
The table extraction unit 104 reads the cooperation source information 111, the cooperation destination information 112, and the reference relationship information 113 stored in the information storage unit 101. The table extraction unit 104, based on the primary key information and attribute information included in the read linkage source information 111 and the linkage destination information 112, and the read reference relationship information 113, a plurality of tables of the linkage source database and the linkage destination database. Among them, combinations of two or more tables that satisfy the following conditions (1) and (2) are extracted from tables other than the target table selected by the table selection unit 102.
(1) The two or more tables are connected by a reference relationship. For example, when the first table of the three tables refers to the second table and the second table refers to the third table, the three tables are connected by a reference relationship. Will be.
(2) The column corresponding to the column specified by the column specifying unit 103 is divided into the two or more tables and exists as a primary key of each table. For example, two columns are specified by the column specifying unit 103, a column similar to one of the two columns exists as a primary key in one of the two tables, and the two columns exist in the other of the two tables. When a column similar to the other of the two exists as a primary key, the columns corresponding to the two columns are divided into the two tables and exist as the primary key of each table.
 テーブル結合部105は、テーブル抽出部104により抽出された組み合わせに含まれるテーブルを結合して1つのテーブル(即ち、仮想テーブル)を作成する。 The table combining unit 105 combines the tables included in the combination extracted by the table extracting unit 104 to create one table (that is, a virtual table).
 推奨判断部106は、テーブル選択部102により選択された目標テーブルとテーブル結合部105により作成された仮想テーブルとのスキーママッチングを行う。推奨判断部106は、そのスキーママッチングの結果に基づき、テーブル抽出部104により抽出された組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨すべきかどうか判断する。「推奨すべき」場合、推奨判断部106は、テーブル抽出部104により抽出された組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨する推奨情報161を、出力装置を介してクライアント装置200へ出力する。「推奨すべきでない」場合、推奨判断部106は、テーブル選択部102により選択された目標テーブルのデータ連携に利用できるテーブルがない旨、あるいは、テーブル抽出部104により抽出された組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨しない旨を示す情報を、出力装置を介してクライアント装置200へ出力する。 The recommendation determining unit 106 performs schema matching between the target table selected by the table selecting unit 102 and the virtual table created by the table combining unit 105. Based on the result of the schema matching, the recommendation determination unit 106 determines whether it is recommended to use the combination extracted by the table extraction unit 104 for data linkage of the target table selected by the table selection unit 102. When “to be recommended”, the recommendation determination unit 106 outputs recommendation information 161 that recommends that the combination extracted by the table extraction unit 104 be used for data linkage of the target table selected by the table selection unit 102. The data is output to the client device 200 via the device. If “not recommended”, the recommendation determination unit 106 selects a table indicating that there is no table that can be used for data linkage of the target table selected by the table selection unit 102 or a combination extracted by the table extraction unit 104. Information indicating that use of the target table selected by the unit 102 for data linkage is not recommended is output to the client device 200 via the output device.
 本実施の形態において、テーブル抽出部104により2つ以上の組み合わせが抽出された場合、テーブル結合部105は、テーブル抽出部104により抽出された組み合わせごとに、組み合わせに含まれるテーブルを結合して仮想テーブルを作成する。推奨判断部106は、テーブル抽出部104により抽出された組み合わせごとに、テーブル選択部102により選択された目標テーブルとテーブル結合部105により作成された仮想テーブルとのスキーママッチングを行う。推奨判断部106は、そのスキーママッチングの結果に基づき、テーブル抽出部104により抽出された組み合わせのうち1つの組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨する推奨情報161を出力する。 In the present embodiment, when two or more combinations are extracted by the table extracting unit 104, the table combining unit 105 combines the tables included in the combination for each combination extracted by the table extracting unit 104 and virtually Create a table. The recommendation determination unit 106 performs schema matching between the target table selected by the table selection unit 102 and the virtual table created by the table combination unit 105 for each combination extracted by the table extraction unit 104. Based on the result of the schema matching, the recommendation determination unit 106 recommends that one combination among the combinations extracted by the table extraction unit 104 be used for data linkage of the target table selected by the table selection unit 102. The recommended information 161 is output.
 本実施の形態において、推奨判断部106は、テーブル抽出部104により抽出された組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨する場合、テーブル選択部102により選択された目標テーブルに含まれる複数のカラムから、テーブル結合部105により作成された仮想テーブルに、対応するカラムが存在しないカラムを抽出する。推奨判断部106は、そのようなカラムを抽出した場合、連携元データベース及び連携先データベースの複数のテーブルのうちテーブル選択部102により選択された目標テーブル以外のテーブルから、抽出したカラムと対応するカラムを含み、テーブル結合部105により作成された仮想テーブルに結合可能なテーブルを検出する。具体的には、推奨判断部106は、情報記憶部101に記憶された連携元情報111と連携先情報112とを読み取る。推奨判断部106は、読み取った連携元情報111及び連携先情報112に含まれる主キー情報及び属性情報に基づき、連携元データベース及び連携先データベースの複数のテーブルのうちテーブル選択部102により選択された目標テーブル以外のテーブルから、抽出したカラムと対応するカラムを含むテーブルを検出する。推奨判断部106は、そのようなテーブルを検出した場合、検出したテーブルとテーブル結合部105により作成された仮想テーブルとが結合できるかどうか判断する。「結合できる」場合、推奨判断部106は、検出したテーブルを、テーブル抽出部104により抽出された組み合わせに追加した上で、推奨情報161を出力する。「結合できない」場合、推奨判断部106は、検出したテーブルを無視して、推奨情報161を出力する。即ち、推奨判断部106は、抽出したカラムと対応するカラムを含み、テーブル結合部105により作成された仮想テーブルに結合可能なテーブルを検出した場合、検出したテーブルとテーブル抽出部104により抽出されたテーブルとの組み合わせを、テーブル選択部102により選択された目標テーブルのデータ連携に利用することを推奨する推奨情報161を出力する。 In the present embodiment, the recommendation determination unit 106 uses the table selection unit 102 to recommend that the combination extracted by the table extraction unit 104 be used for data linkage of the target table selected by the table selection unit 102. From the plurality of columns included in the selected target table, a column for which no corresponding column exists in the virtual table created by the table combining unit 105 is extracted. When the recommendation determining unit 106 extracts such a column, the column corresponding to the column extracted from the table other than the target table selected by the table selecting unit 102 among the plurality of tables of the cooperation source database and the cooperation destination database. And a table that can be joined to the virtual table created by the table joining unit 105 is detected. Specifically, the recommendation determining unit 106 reads the cooperation source information 111 and the cooperation destination information 112 stored in the information storage unit 101. The recommendation determination unit 106 is selected by the table selection unit 102 from among the plurality of tables of the cooperation source database and the cooperation destination database based on the primary key information and the attribute information included in the read cooperation source information 111 and the cooperation destination information 112. A table including a column corresponding to the extracted column is detected from tables other than the target table. When the recommendation determining unit 106 detects such a table, the recommendation determining unit 106 determines whether the detected table can be combined with the virtual table created by the table combining unit 105. In the case of “combinable”, the recommendation determining unit 106 outputs the recommended information 161 after adding the detected table to the combination extracted by the table extracting unit 104. If “cannot be combined”, the recommendation determining unit 106 ignores the detected table and outputs the recommendation information 161. That is, when the recommendation determining unit 106 detects a table that includes a column corresponding to the extracted column and can be combined with the virtual table created by the table combining unit 105, the recommendation determining unit 106 extracts the detected table and the table extracting unit 104. Recommendation information 161 that recommends using the combination with the table for data linkage of the target table selected by the table selection unit 102 is output.
 本実施の形態において、推奨判断部106のスキーママッチングを行う部分には、従来のスキーママッチング技術を実装することができる。 In the present embodiment, a conventional schema matching technique can be implemented in the part of the recommendation determination unit 106 that performs schema matching.
 前述したように、本実施の形態では、入力情報114により定義された目標テーブルに含まれる複数のカラムのうち、2つ以上のカラムが主キーになっている。目標テーブルに含まれる複数のカラムのうち、1つのカラムのみが主キーになっている場合、その目標テーブルについては、任意の方法を用いてデータ連携関係を抽出することができる。 As described above, in the present embodiment, two or more columns among the plurality of columns included in the target table defined by the input information 114 are primary keys. When only one column is a primary key among a plurality of columns included in the target table, the data linkage relationship can be extracted using an arbitrary method for the target table.
 以下では、データ連携支援装置100の動作(即ち、本実施の形態に係るデータ連携支援方法)の例を説明する。 Hereinafter, an example of the operation of the data cooperation support apparatus 100 (that is, the data cooperation support method according to the present embodiment) will be described.
 図2は、入力情報114の例を示す表である。 FIG. 2 is a table showing an example of the input information 114.
 図2において、入力情報114には、カラム名、データ型、主/外部キーの情報(即ち、属性情報及び主キー情報)が含まれる。前述したように、入力情報114は、目標テーブルを定義する情報である。例えば、入力情報114では、目標テーブルの「会社コード」、「注文詳細ID」、「注文ID」カラムが主キーであることが示されている。 2, input information 114 includes column name, data type, and primary / foreign key information (that is, attribute information and primary key information). As described above, the input information 114 is information that defines the target table. For example, the input information 114 indicates that the “company code”, “order detail ID”, and “order ID” columns of the target table are primary keys.
 図2に示した入力情報114がクライアント装置200によって入力され、情報記憶部101に記憶されると、テーブル選択部102は、その入力情報114を読み取る。テーブル選択部102は、読み取った入力情報114により定義された目標テーブルを選択する。 When the input information 114 shown in FIG. 2 is input by the client device 200 and stored in the information storage unit 101, the table selection unit 102 reads the input information 114. The table selection unit 102 selects a target table defined by the read input information 114.
 図3は、入力情報114と参照関係情報113とが合成された情報の例を示す表である。 FIG. 3 is a table showing an example of information obtained by combining the input information 114 and the reference relation information 113.
 図3において、入力情報114に含まれる主/外部キーの情報は、目標テーブルの参照関係情報113でもある。前述したように、参照関係情報113は、テーブル間の参照関係を示す情報である。例えば、参照関係情報113では、目標テーブルの主キーである「会社コード」、「注文詳細ID」、「注文ID」カラムが外部キーでもあることが示されている。参照関係情報113では、「店舗ID」、「商品コード」、「ブランドID」カラムも外部キーであることが示されている。 In FIG. 3, the main / foreign key information included in the input information 114 is also reference relationship information 113 of the target table. As described above, the reference relationship information 113 is information indicating a reference relationship between tables. For example, the reference relationship information 113 indicates that the “company code”, “order detail ID”, and “order ID” columns, which are primary keys of the target table, are also external keys. The reference relationship information 113 indicates that the “store ID”, “product code”, and “brand ID” columns are also external keys.
 図3で黒塗りされている項目は、外部キーの参照先のテーブルに、対応するカラムが存在するカラムである。例えば、「店舗ID」カラムの参照先のテーブルには、「店舗名」、「店舗住所」、「店長_社員ID」、「店長名」カラムに対応するカラムが存在する。 The items in black in FIG. 3 are columns that have corresponding columns in the foreign key reference table. For example, a table corresponding to the “store name”, “store address”, “store manager_employee ID”, and “store manager name” columns exists in the reference table of the “store ID” column.
 参照関係情報113は、前述したように、任意の方法で作成することができる。例えば、カラム特定部103に、参照関係情報113を作成する機能を実装することができる。その場合、カラム特定部103は、図2に示した入力情報114に基づき、テーブル選択部102により選択された目標テーブルに含まれる複数のカラムのそれぞれについて、他のテーブルのカラムを参照できるかどうか判断する。例えば、カラム特定部103は、目標テーブルと他のテーブルとのスキーママッチングを行う。スキーママッチングの結果、「店舗ID」カラムと対応するカラムを主キーとして含み、かつ、「店舗名」、「店舗住所」、「店長_社員ID」、「店長名」カラムと対応するカラムを非主キーとして含むテーブルが抽出されると、カラム特定部103は、「店舗ID」、「店舗名」、「店舗住所」、「店長_社員ID」、「店長名」カラムについて、参照関係情報113を作成又は更新する。参照関係情報113では、「店舗ID」カラムが外部キーに設定される。参照関係情報113では、「店舗名」、「店舗住所」、「店長_社員ID」、「店長名」カラムが「店舗ID」カラムに紐付けられる。 The reference relationship information 113 can be created by an arbitrary method as described above. For example, a function for creating the reference relationship information 113 can be implemented in the column specifying unit 103. In that case, whether or not the column specifying unit 103 can refer to columns of other tables for each of a plurality of columns included in the target table selected by the table selection unit 102 based on the input information 114 shown in FIG. to decide. For example, the column specifying unit 103 performs schema matching between the target table and other tables. As a result of the schema matching, the column corresponding to the “store ID” column is included as a primary key, and the columns corresponding to the “store name”, “store address”, “store manager_employee ID”, and “store manager name” columns are not included. When the table including the primary key is extracted, the column specifying unit 103 refers to the reference relationship information 113 for the “store ID”, “store name”, “store address”, “store manager_employee ID”, and “store manager name” columns. Create or update In the reference relationship information 113, the “store ID” column is set as the external key. In the reference relationship information 113, the “store name”, “store address”, “store manager_employee ID”, and “store manager name” columns are linked to the “store ID” column.
 図4は、データ連携支援装置100の動作の例を示すフローチャートである。図5は、連携元情報111と参照関係情報113とが合成された情報と、後述する暫定仮想テーブル情報301との例を示す表である。 FIG. 4 is a flowchart showing an example of the operation of the data cooperation support apparatus 100. FIG. 5 is a table showing an example of information obtained by combining the cooperation source information 111 and the reference relationship information 113 and provisional virtual table information 301 described later.
 ステップS11において、カラム特定部103は、入力情報114に含まれる主/外部キーの情報(即ち、目標テーブルの主キー情報)を参照する。カラム特定部103は、参照した情報に基づき、テーブル選択部102により選択された目標テーブルの主キーになっているカラムを特定する。カラム特定部103は、特定したカラムの一覧を示すキー項目情報302を生成する。 In step S11, the column specifying unit 103 refers to main / foreign key information (that is, main key information of the target table) included in the input information 114. The column specifying unit 103 specifies the column that is the primary key of the target table selected by the table selecting unit 102 based on the referenced information. The column specifying unit 103 generates key item information 302 indicating a list of specified columns.
 例えば、カラム特定部103は、図3に示した入力情報114に含まれる主/外部キーの情報から、図5に示すようなキー項目情報302を生成する。キー項目情報302では、目標テーブルの「会社コード」、「注文詳細ID」、「注文ID」カラムが主キーであることが示されている。 For example, the column specifying unit 103 generates key item information 302 as shown in FIG. 5 from the main / foreign key information included in the input information 114 shown in FIG. The key item information 302 indicates that the “company code”, “order detail ID”, and “order ID” columns in the target table are primary keys.
 ステップS12において、テーブル抽出部104は、情報記憶部101から連携元情報111と連携先情報112と参照関係情報113とを取得する。また、テーブル抽出部104は、カラム特定部103からキー項目情報302を取得する。 In step S12, the table extraction unit 104 acquires the cooperation source information 111, the cooperation destination information 112, and the reference relationship information 113 from the information storage unit 101. Further, the table extraction unit 104 acquires the key item information 302 from the column specifying unit 103.
 例えば、テーブル抽出部104は、図5に示すような連携元情報111と参照関係情報113とが合成された情報を取得する。連携元情報111は、図3に示した入力情報114と同様の形式で、各連携元テーブルを定義する情報である。参照関係情報113は、図3に示した参照関係情報113と同様の形式で、テーブル間の参照関係を示す情報である。注文テーブルの連携元情報111では、注文テーブルの「注文ID」カラムが主キーであることが示されている。注文テーブルの参照関係情報113では、注文テーブルの「会社コード」カラムが外部キーであることが示されている。注文テーブルの参照関係情報113には、注文テーブルの「会社コード」カラムが会社テーブルの「会社コード」カラムを参照することを示す参照関係レコード303が含まれている。会社テーブルの連携元情報111では、会社テーブルの「会社コード」カラムが主キーであることが示されている。会社テーブルの参照関係情報113では、会社テーブルに外部キーがないことが示されている。注文詳細テーブルの連携元情報111では、注文詳細テーブルの「注文詳細ID」、「注文ID」カラムが主キーであることが示されている。注文詳細テーブルの参照関係情報113では、注文詳細テーブルの「注文ID」、「店舗ID」カラムが外部キーであることが示されている。注文詳細テーブルの参照関係情報113には、注文詳細テーブルの「注文ID」カラムが注文テーブルの「注文ID」カラムを参照することを示す参照関係レコード304が含まれている。 For example, the table extraction unit 104 acquires information obtained by combining the cooperation source information 111 and the reference relationship information 113 as illustrated in FIG. The collaboration source information 111 is information that defines each collaboration source table in the same format as the input information 114 shown in FIG. The reference relationship information 113 is information indicating a reference relationship between tables in the same format as the reference relationship information 113 shown in FIG. The order table linkage source information 111 indicates that the “order ID” column of the order table is the primary key. The order table reference relation information 113 indicates that the “company code” column of the order table is a foreign key. The reference relationship information 113 of the order table includes a reference relationship record 303 indicating that the “company code” column of the order table refers to the “company code” column of the company table. The company table linkage source information 111 indicates that the “company code” column of the company table is the primary key. The company table reference relationship information 113 indicates that there is no foreign key in the company table. The cooperation source information 111 of the order detail table indicates that the “order detail ID” and “order ID” columns of the order detail table are the primary keys. The reference relationship information 113 in the order detail table indicates that the “order ID” and “store ID” columns in the order detail table are external keys. The reference relationship information 113 of the order detail table includes a reference relationship record 304 indicating that the “order ID” column of the order detail table refers to the “order ID” column of the order table.
 ステップS13において、テーブル抽出部104は、ステップS12で取得した連携元情報111と連携先情報112とキー項目情報302とを参照して、目標テーブルの主キーになっているカラムの全て又は一部と対応するカラムが含まれるテーブルを選択する。テーブル抽出部104は、選択したテーブルを現時点の仮想テーブルとみなす。 In step S13, the table extraction unit 104 refers to the cooperation source information 111, the cooperation destination information 112, and the key item information 302 acquired in step S12, and all or part of the columns that are the primary keys of the target table. Select the table that contains the corresponding column. The table extraction unit 104 regards the selected table as the current virtual table.
 例えば、テーブル抽出部104は、キー項目情報302で示されている「注文ID」カラムと、注文テーブルの連携元情報111で示されている「注文ID」カラムとが類似すると判定し、注文テーブルを選択する。テーブル抽出部104は、注文テーブルを現時点の仮想テーブルとみなす。この例では、注文テーブルは、連携元テーブルの1つであるが、目標テーブルとは異なる連携先テーブルの1つであってもよい。 For example, the table extraction unit 104 determines that the “order ID” column indicated by the key item information 302 is similar to the “order ID” column indicated by the link source information 111 of the order table, and the order table Select. The table extraction unit 104 regards the order table as a current virtual table. In this example, the order table is one of cooperation source tables, but may be one of cooperation destination tables different from the target table.
 ステップS14において、テーブル抽出部104は、ステップS12で取得した連携元情報111と連携先情報112とキー項目情報302とを参照して、目標テーブルの主キーになっているカラムのうち、現時点の仮想テーブルに含まれていないカラムがあるかどうか判定する。テーブル抽出部104は、現時点の仮想テーブルに含まれていないカラムがあれば、ステップS15に進む。テーブル抽出部104は、目標テーブルの主キーになっているカラムの全てが現時点の仮想テーブルに含まれていれば、ステップS17に進む。 In step S14, the table extraction unit 104 refers to the cooperation source information 111, the cooperation destination information 112, and the key item information 302 acquired in step S12, and among the columns that are the primary keys of the target table, Determine if there are any columns not included in the virtual table. If there is a column not included in the current virtual table, the table extraction unit 104 proceeds to step S15. If all the columns that are the primary keys of the target table are included in the current virtual table, the table extraction unit 104 proceeds to step S17.
 例えば、テーブル抽出部104は、キー項目情報302で示されている「会社コード」、「注文詳細ID」カラムが現時点の仮想テーブルに含まれていないと判定する。 For example, the table extraction unit 104 determines that the “company code” and “order detail ID” columns indicated by the key item information 302 are not included in the current virtual table.
 ステップS15において、テーブル抽出部104は、ステップS12で取得した連携元情報111と連携先情報112と参照関係情報113とキー項目情報302とを参照して、ステップS13で選択したテーブルと直接あるいは間接的に(即ち、他の選択済のテーブルを介して)参照関係によって結ばれており、かつ、現時点の仮想テーブルに含まれていないカラムと対応するカラムが含まれるテーブルがあるかどうか判定する。テーブル抽出部104は、そのようなテーブルがあれば、そのテーブルを選択し、ステップS16に進む。テーブル抽出部104は、そのようなテーブルがなければ、現時点の仮想テーブルをキャンセルして、ステップS18に進む。 In step S15, the table extraction unit 104 refers to the cooperation source information 111, the cooperation destination information 112, the reference relationship information 113, and the key item information 302 acquired in step S12, and directly or indirectly with the table selected in step S13. Therefore, it is determined whether there is a table including a column corresponding to a column that is connected by a reference relationship (ie, via another selected table) and is not included in the current virtual table. If there is such a table, the table extraction unit 104 selects the table and proceeds to step S16. If there is no such table, the table extraction unit 104 cancels the current virtual table and proceeds to step S18.
 例えば、テーブル抽出部104は、参照関係レコード303で注文テーブルの参照先として示されている会社テーブルの連携元情報111を参照する。テーブル抽出部104は、キー項目情報302で示されている「会社コード」カラムと、会社テーブルの連携元情報111で示されている「会社コード」カラムとが類似すると判定し、会社テーブルを選択する。この例では、会社テーブルは、連携元テーブルの1つであるが、目標テーブルとは異なる連携先テーブルの1つであってもよい。 For example, the table extraction unit 104 refers to the cooperation source information 111 of the company table indicated as the reference destination of the order table in the reference relationship record 303. The table extraction unit 104 determines that the “company code” column indicated by the key item information 302 is similar to the “company code” column indicated by the cooperation source information 111 of the company table, and selects the company table. To do. In this example, the company table is one of cooperation source tables, but may be one of cooperation destination tables different from the target table.
 ステップS16において、テーブル結合部105は、現時点の仮想テーブルとステップS15で選択されたテーブルとを結合して1つのテーブルを作成する。テーブル結合部105は、作成したテーブルを現時点の仮想テーブルとみなし(即ち、現時点の仮想テーブルを更新し)、ステップS14に戻る。 In step S16, the table combining unit 105 combines the current virtual table and the table selected in step S15 to create one table. The table combining unit 105 regards the created table as the current virtual table (that is, updates the current virtual table), and returns to step S14.
 例えば、テーブル結合部105は、注文テーブルである現時点の仮想テーブルと会社テーブルとを結合して、新たに現時点の仮想テーブルを作成する。その後のステップS14において、テーブル抽出部104は、キー項目情報302で示されている「注文詳細ID」カラムが現時点の仮想テーブルに含まれていないと判定する。ステップS15において、テーブル抽出部104は、参照関係レコード304で注文テーブルの参照元として示されている注文詳細テーブルの連携元情報111を参照する。テーブル抽出部104は、キー項目情報302で示されている「注文詳細ID」カラムと、注文詳細テーブルの連携元情報111で示されている「注文詳細ID」カラムとが類似すると判定し、注文詳細テーブルを選択する。ステップS16において、テーブル結合部105は、注文テーブルと会社テーブルとを結合して得られた現時点の仮想テーブルと注文詳細テーブルとを結合して、新たに現時点の仮想テーブルを作成する。さらに、その後のステップS14において、テーブル抽出部104は、キー項目情報302で示されているカラムの全てが現時点の仮想テーブルに含まれていると判定し、ステップS17に進む。 For example, the table combining unit 105 combines the current virtual table, which is an order table, and the company table to create a new current virtual table. In subsequent step S <b> 14, the table extraction unit 104 determines that the “order detail ID” column indicated by the key item information 302 is not included in the current virtual table. In step S <b> 15, the table extraction unit 104 refers to the cooperation source information 111 of the order detail table shown as the reference source of the order table in the reference relationship record 304. The table extraction unit 104 determines that the “order detail ID” column indicated by the key item information 302 is similar to the “order detail ID” column indicated by the link source information 111 of the order detail table, and the order Select a detail table. In step S <b> 16, the table combination unit 105 combines the current virtual table obtained by combining the order table and the company table with the order detail table to create a new current virtual table. Further, in the subsequent step S14, the table extraction unit 104 determines that all the columns indicated by the key item information 302 are included in the current virtual table, and proceeds to step S17.
 ステップS17において、テーブル結合部105は、暫定仮想テーブル情報301を作成する。暫定仮想テーブル情報301は、現時点の仮想テーブルを定義する情報である。暫定仮想テーブル情報301には、仮想テーブルの主キー情報と属性情報と参照関係情報が含まれる。仮想テーブルの主キー情報とは、仮想テーブルに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す情報である。仮想テーブルの主キー情報は、目標テーブルの主キー情報と一致していなければならない。仮想テーブルの属性情報とは、仮想テーブルに含まれる複数のカラムのそれぞれに格納されるデータの属性(例えば、カラム名、データ型)を示す情報である。仮想テーブルの参照関係情報とは、仮想テーブルと他のテーブルとの間の参照関係を示す情報である。 In step S17, the table combining unit 105 creates provisional virtual table information 301. The temporary virtual table information 301 is information that defines the current virtual table. The provisional virtual table information 301 includes primary key information, attribute information, and reference relationship information of the virtual table. The primary key information of the virtual table is information indicating whether each of a plurality of columns included in the virtual table is a primary key. The primary key information of the virtual table must match the primary key information of the target table. The attribute information of the virtual table is information indicating data attributes (for example, column names and data types) stored in each of a plurality of columns included in the virtual table. The virtual table reference relationship information is information indicating a reference relationship between the virtual table and another table.
 例えば、テーブル結合部105は、図5に示すような暫定仮想テーブル情報301を作成する。暫定仮想テーブル情報301は、図5に示した連携元情報111と参照関係情報113とが合成された情報と同様の形式で、仮想テーブルを定義する情報である。暫定仮想テーブル情報301では、仮想テーブルの「会社コード」、「注文詳細ID」、「注文ID」カラムが主キーであることが示されている。暫定仮想テーブル情報301では、仮想テーブルの「注文ID」カラムが外部キーであることが示されている。 For example, the table combining unit 105 creates provisional virtual table information 301 as shown in FIG. The provisional virtual table information 301 is information that defines a virtual table in the same format as the information obtained by combining the cooperation source information 111 and the reference relationship information 113 illustrated in FIG. The provisional virtual table information 301 indicates that the “company code”, “order detail ID”, and “order ID” columns of the virtual table are primary keys. The provisional virtual table information 301 indicates that the “order ID” column of the virtual table is a foreign key.
 ステップS18において、テーブル抽出部104は、ステップS13で選択したテーブルを含むテーブルの組み合わせの全てについて、ステップS14~S17の処理が完了したかどうか判定する。テーブル抽出部104は、処理が完了していれば、ステップS19に進む。テーブル抽出部104は、処理が完了していなければ、ステップS13で選択したテーブルを新たに現時点の仮想テーブルとみなし、ステップS14に戻る。テーブル結合部105は、ステップS17の処理が実行される度に、新たに(即ち、仮想テーブルごとに)暫定仮想テーブル情報301を作成する。 In step S18, the table extraction unit 104 determines whether or not the processing in steps S14 to S17 has been completed for all the table combinations including the table selected in step S13. If the process has been completed, the table extraction unit 104 proceeds to step S19. If the process has not been completed, the table extraction unit 104 regards the table selected in step S13 as a new virtual table at the current time, and returns to step S14. The table joining unit 105 creates new provisional virtual table information 301 each time the process of step S17 is executed (that is, for each virtual table).
 ステップS19において、テーブル抽出部104は、ステップS13で他に選択可能なテーブルがあるかどうか判定する。テーブル抽出部104は、そのようなテーブルがあれば、ステップS13に戻る。テーブル抽出部104は、そのようなテーブルがなければ、処理を終了する。 In step S19, the table extraction unit 104 determines whether there is another table that can be selected in step S13. If there is such a table, the table extraction unit 104 returns to step S13. If there is no such table, the table extraction unit 104 ends the process.
 以下では、スコープという概念について説明する。 Below, the concept of scope will be explained.
 図5の例では、結合されるテーブル群が同一データベース(即ち、同一インスタンス)の同一スキーマに属することを想定している。しかし、通常、データ連携は複数のシステム間で行われる。そのため、異なるスキーマ間の参照関係、あるいは、異なるデータベース間の参照関係も考慮する必要がある。 In the example of FIG. 5, it is assumed that the tables to be joined belong to the same schema of the same database (that is, the same instance). However, data linkage is usually performed between a plurality of systems. Therefore, it is necessary to consider a reference relationship between different schemas or a reference relationship between different databases.
 図6は、連携元情報111と参照関係情報113とが合成された情報の別の例を示す表である。 FIG. 6 is a table showing another example of information obtained by combining the cooperation source information 111 and the reference relationship information 113.
 図6の例では、図5の例と同様のテーブルが複数のスキーマ、あるいは、複数のデータベースに分かれて存在している。DB-1というデータベースのスキーマAには、図5の例と同様の注文テーブル及び注文詳細テーブルが存在する。同じデータベースのスキーマBには、図5の例と同様の会社テーブルが存在する。DB-2という別のデータベースのスキーマ1には、別の会社テーブルが存在する。 In the example of FIG. 6, the same table as the example of FIG. 5 is divided into a plurality of schemas or a plurality of databases. In the schema A of the database DB-1, there are an order table and an order detail table similar to the example of FIG. A company table similar to the example of FIG. 5 exists in the schema B of the same database. Another company table exists in schema 1 of another database called DB-2.
 注文テーブルの参照関係情報113には、注文テーブルの「会社コード」カラムがDB-1のスキーマBに属する会社テーブルの「会社コード」カラムを参照することを示す参照関係レコード303が含まれている。注文テーブルの参照関係情報113には、さらに、注文テーブルの「会社コード」カラムがDB-2のスキーマ1に属する会社テーブルの「会社コード」カラムを参照することを示す参照関係レコード305が含まれている。 The order table reference relationship information 113 includes a reference relationship record 303 indicating that the “company code” column of the order table refers to the “company code” column of the company table belonging to the schema B of DB-1. . The reference relationship information 113 of the order table further includes a reference relationship record 305 indicating that the “company code” column of the order table refers to the “company code” column of the company table belonging to the schema 1 of DB-2. ing.
 参照関係レコード303,304,305には、スコープに関する情報が含まれている。ステップS15において、テーブル抽出部104は、この情報に基づいて、テーブルを抽出する。即ち、テーブル抽出部104は、選択済のテーブルとの参照関係を有するテーブルを、そのテーブルが選択済のテーブルと同一スキーマ内に存在するのか、同一データベース内に存在するのか、異なるデータベースに属するのかを区別しながら、抽出する。 The reference relationship records 303, 304, and 305 include information related to the scope. In step S15, the table extraction unit 104 extracts a table based on this information. That is, the table extraction unit 104 determines whether a table having a reference relationship with the selected table exists in the same schema, the same database, or a different database as the selected table. Extract while distinguishing.
 図7は、連携元情報111と参照関係情報113とが合成された情報と、暫定仮想テーブル情報301との別の例を示す表である。 FIG. 7 is a table showing another example of information obtained by combining the cooperation source information 111 and the reference relationship information 113 and the provisional virtual table information 301.
 ステップS15において、テーブル抽出部104は、参照関係レコード305で注文テーブルの参照先として示されている別のデータベースに属する会社テーブルの連携元情報111を参照することができる。テーブル抽出部104は、キー項目情報302で示されている「会社コード」カラムと、DB-2のスキーマ1に属する会社テーブルの連携元情報111で示されている「会社コード」カラムとが類似すると判定し、この会社テーブルを選択する。 In step S15, the table extracting unit 104 can refer to the cooperation source information 111 of the company table belonging to another database indicated as the reference destination of the order table in the reference relationship record 305. In the table extraction unit 104, the “company code” column indicated by the key item information 302 is similar to the “company code” column indicated by the linkage source information 111 of the company table belonging to the schema 1 of DB-2. Then, it is determined and this company table is selected.
 ステップS17において、テーブル結合部105は、図5に示した暫定仮想テーブル情報301とは別に、図7に示すような暫定仮想テーブル情報301を作成することができる。図7の例における仮想テーブルは、図5の例における仮想テーブルと比べて、「ブランドID」カラムが追加されている。図3に示した入力情報114では、目標テーブルに「ブランドID」カラムが含まれることが示されている。よって、図7の例における仮想テーブルは、図5の例における仮想テーブルと比べて、目標テーブルに対応するカラム数が多いという点で優っている。 In step S17, the table combining unit 105 can create temporary virtual table information 301 as shown in FIG. 7 separately from the temporary virtual table information 301 shown in FIG. The virtual table in the example of FIG. 7 has a “brand ID” column added to the virtual table in the example of FIG. The input information 114 shown in FIG. 3 indicates that the “brand ID” column is included in the target table. Therefore, the virtual table in the example of FIG. 7 is superior to the virtual table in the example of FIG. 5 in that the number of columns corresponding to the target table is large.
 ステップS15では、スコープ(例えば、同一データベース内、同一スキーマ内)が指定されてもよい。その場合、テーブル抽出部104は、指定されたスコープ内でテーブルを抽出する。 In step S15, a scope (for example, in the same database, in the same schema) may be designated. In that case, the table extraction unit 104 extracts a table within the designated scope.
 図4の動作により、目標テーブルと主キーのカラムが類似する複数の仮想テーブルが作成された場合、これら複数の仮想テーブルの中で、目標テーブルとなるべく多くの非主キーのカラムが類似する仮想テーブルがデータ連携に適している。そのような仮想テーブルを検出するために、スキーママッチング技術を利用することができる。 When a plurality of virtual tables having similar target table and primary key columns are created by the operation of FIG. 4, a virtual table having as many non-primary key columns as possible as the target table among these virtual tables. The table is suitable for data linkage. Schema matching techniques can be used to detect such virtual tables.
 図8は、図4の動作の後におけるデータ連携支援装置100の動作の例を示すフローチャートである。図9は、仮想テーブルと目標テーブルとのスキーママッチングを示す概念図である。 FIG. 8 is a flowchart showing an example of the operation of the data cooperation support apparatus 100 after the operation of FIG. FIG. 9 is a conceptual diagram showing schema matching between a virtual table and a target table.
 ステップS21において、推奨判断部106は、情報記憶部101から入力情報114と、ステップS17で作成された暫定仮想テーブル情報301とを取得する。 In step S21, the recommendation determining unit 106 acquires the input information 114 and the provisional virtual table information 301 created in step S17 from the information storage unit 101.
 例えば、推奨判断部106は、図9に示すように、図3に示した情報(即ち、入力情報114と参照関係情報113とが合成された情報)と、図7に示した暫定仮想テーブル情報301とを取得する。 For example, as illustrated in FIG. 9, the recommendation determining unit 106 includes the information illustrated in FIG. 3 (that is, information obtained by combining the input information 114 and the reference relationship information 113) and the provisional virtual table information illustrated in FIG. 7. 301 is acquired.
 ステップS22において、推奨判断部106は、ステップS21で取得した入力情報114により定義された目標テーブルと、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルとのスキーママッチングを行う。目標テーブルと仮想テーブルとの間で主キーは可能な限り一致している。そのため、非主キーのカラムの類似性が確認される。カラムの類似性を判断するために、既存のスキーママッチング技術が活用できる。 In step S22, the recommendation determining unit 106 performs schema matching between the target table defined by the input information 114 acquired in step S21 and the virtual table defined by the provisional virtual table information 301 acquired in step S21. The primary key matches as much as possible between the target table and the virtual table. Therefore, the similarity of the non-primary key column is confirmed. Existing schema matching techniques can be used to determine column similarity.
 例えば、推奨判断部106は、図3に示した情報により定義された目標テーブルと、図7に示した暫定仮想テーブル情報301により定義された仮想テーブルとのスキーママッチングを行う。前述したように、図3で黒塗りされている項目は、他のテーブルを参照すれば取得できるカラムである。よって、これらのカラムについてのスキーママッチングの結果は無視される。あるいは、これらのカラムについてはスキーママッチングが省略される。 For example, the recommendation determining unit 106 performs schema matching between the target table defined by the information illustrated in FIG. 3 and the virtual table defined by the provisional virtual table information 301 illustrated in FIG. As described above, items in black in FIG. 3 are columns that can be acquired by referring to other tables. Therefore, the result of schema matching for these columns is ignored. Alternatively, schema matching is omitted for these columns.
 ステップS23において、推奨判断部106は、ステップS22で行ったスキーママッチングの結果(即ち、マッチングスコア)を集計し、仮想テーブルのいずれのカラムが、目標テーブルの非主キーのカラムと類似するか判断する。 In step S23, the recommendation determining unit 106 totals the results of the schema matching performed in step S22 (that is, the matching score), and determines which column of the virtual table is similar to the non-primary key column of the target table. To do.
 例えば、推奨判断部106は、スキーママッチングの結果に基づき、仮想テーブルの「顧客コード」、「店舗ID」、「ブランドID」カラムが、それぞれ目標テーブルの同名のカラムと類似すると判断する。 For example, based on the result of schema matching, the recommendation determining unit 106 determines that the “customer code”, “store ID”, and “brand ID” columns of the virtual table are similar to the columns of the same name in the target table.
 図4の動作により複数の仮想テーブルが作成されている場合は、ステップS21~S23の処理が仮想テーブルごとに実行される。 When a plurality of virtual tables are created by the operation of FIG. 4, the processes in steps S21 to S23 are executed for each virtual table.
 図10は、図8の動作の後におけるデータ連携支援装置100の動作の例を示すフローチャートである。図11は、連携元テーブルと目標テーブルとのスキーママッチングを示す概念図である。図12は、連携元テーブルと仮想テーブルとのスキーママッチングを示す概念図である。 FIG. 10 is a flowchart showing an example of the operation of the data cooperation support apparatus 100 after the operation of FIG. FIG. 11 is a conceptual diagram showing schema matching between the cooperation source table and the target table. FIG. 12 is a conceptual diagram illustrating schema matching between a cooperation source table and a virtual table.
 ステップS31において、推奨判断部106は、情報記憶部101から連携元情報111と連携先情報112と参照関係情報113とを取得する。 In step S31, the recommendation determination unit 106 acquires the cooperation source information 111, the cooperation destination information 112, and the reference relationship information 113 from the information storage unit 101.
 例えば、推奨判断部106は、図11に示すような連携元情報111と参照関係情報113とが合成された情報を取得する。注文テーブルの連携元情報111では、社員テーブルの「社員ID」カラムが主キーであることが示されている。社員テーブルの参照関係情報113では、社員テーブルに外部キーがないことが示されている。ディスカウントテーブルの連携元情報111では、ディスカウントテーブルの「注文詳細ID」、「注文ID」カラムが主キーであることが示されている。ディスカウントテーブルの参照関係情報113では、ディスカウントテーブルの「注文ID」、「店舗ID」、「商品コード」カラムが外部キーであることが示されている。 For example, the recommendation determining unit 106 acquires information obtained by combining the cooperation source information 111 and the reference relationship information 113 as illustrated in FIG. The order table linkage source information 111 indicates that the “employee ID” column of the employee table is the primary key. The employee table reference relationship information 113 indicates that the employee table has no external key. The discount table linkage source information 111 indicates that the “order details ID” and “order ID” columns of the discount table are primary keys. The discount table reference relationship information 113 indicates that the “order ID”, “store ID”, and “product code” columns of the discount table are external keys.
 ステップS32において、推奨判断部106は、ステップS21で取得した入力情報114により定義された目標テーブルに含まれる複数のカラムから、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルに、対応するカラムが存在しないカラムを抽出する。即ち、推奨判断部106は、目標テーブルの非主キーのカラムのうち、ステップS23で仮想テーブルのカラムと類似すると判断したカラム以外のカラムを抽出する。 In step S32, the recommendation determining unit 106 converts the plurality of columns included in the target table defined by the input information 114 acquired in step S21 into the virtual table defined by the provisional virtual table information 301 acquired in step S21. Extract columns for which no corresponding column exists. That is, the recommendation determining unit 106 extracts columns other than the columns determined to be similar to the virtual table columns in step S23 from the non-primary key columns of the target table.
 図11で黒塗りされている項目は、主キーになっているカラムと、外部キーの参照先のテーブルと仮想テーブルとのいずれかに、対応するカラムが存在するカラムである。 The items in black in FIG. 11 are columns in which columns corresponding to either the primary key column, the foreign key reference destination table, or the virtual table exist.
 ステップS33において、推奨判断部106は、ステップS32で抽出したカラムと、ステップS31で取得した情報により定義された連携元テーブル及び連携先テーブルとのスキーママッチングを行う。 In step S33, the recommendation determining unit 106 performs schema matching between the column extracted in step S32 and the cooperation source table and the cooperation destination table defined by the information acquired in step S31.
 例えば、推奨判断部106は、図3に示した情報により定義された目標テーブルと、図11に示した情報により定義された社員テーブル及びディスカウントテーブルとのスキーママッチングを行う。前述したように、図11で黒塗りされている項目は、主キーのカラム、あるいは、他のテーブルを参照すれば取得できるカラムである。よって、これらのカラムについてのスキーママッチングの結果は無視される。あるいは、これらのカラムについてはスキーママッチングが省略される。 For example, the recommendation determining unit 106 performs schema matching between the target table defined by the information shown in FIG. 3 and the employee table and discount table defined by the information shown in FIG. As described above, items in black in FIG. 11 are primary key columns or columns that can be acquired by referring to other tables. Therefore, the result of schema matching for these columns is ignored. Alternatively, schema matching is omitted for these columns.
 ステップS34において、推奨判断部106は、ステップS33で行ったスキーママッチングの結果(即ち、マッチングスコア)を集計し、いずれかの連携元テーブル又はいずれかの連携先テーブルのいずれのカラムが、目標テーブルの残りのカラムと類似するか判断する。 In step S34, the recommendation determining unit 106 aggregates the results of the schema matching performed in step S33 (that is, the matching score), and any column of any linkage source table or any linkage destination table is the target table. Determine if it is similar to the rest of the columns.
 例えば、推奨判断部106は、スキーママッチングの結果に基づき、社員テーブルの「社員名」カラムが、目標テーブルの「担当営業」カラムと類似すると判断する。推奨判断部106は、ディスカウントテーブルの「ディスカウント」、「商品コード」カラムが、目標テーブルの同名のカラムと類似すると判断する。 For example, the recommendation determination unit 106 determines that the “employee name” column of the employee table is similar to the “in charge of sales” column of the target table based on the result of schema matching. The recommendation determining unit 106 determines that the “discount” and “product code” columns in the discount table are similar to the columns having the same names in the target table.
 ステップS35において、推奨判断部106は、ステップS34で目標テーブルの残りのカラムと類似すると判断したカラムを含む連携元テーブル又は連携先テーブルと、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルとのスキーママッチングを行う。 In step S35, the recommendation determining unit 106 is defined by the cooperation source table or the cooperation destination table including the columns determined to be similar to the remaining columns of the target table in step S34, and the provisional virtual table information 301 acquired in step S21. Perform schema matching with virtual table.
 例えば、推奨判断部106は、図12に示すように、図11に示した情報により定義された社員テーブル及びディスカウントテーブルと、図9に示した暫定仮想テーブル情報301により定義された仮想テーブルとのスキーママッチングを行う。 For example, as shown in FIG. 12, the recommendation determining unit 106 includes an employee table and a discount table defined by the information shown in FIG. 11, and a virtual table defined by the provisional virtual table information 301 shown in FIG. Perform schema matching.
 ステップS36において、推奨判断部106は、ステップS35で行ったスキーママッチングの結果(即ち、マッチングスコア)を集計し、ステップS34で目標テーブルの残りのカラムと類似すると判断したカラムを含む連携元テーブル又は連携先テーブルと、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルとが結合できるかどうか判断する。推奨判断部106は、両テーブルが結合できる場合、ステップS37に進む。推奨判断部106は、両テーブルが結合できない場合、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルを最終的な仮想テーブルとみなし、ステップS38に進む。ただし、推奨判断部106は、最終的な仮想テーブルから、対応するカラムが目標テーブルにないカラムを除外する。 In step S36, the recommendation determining unit 106 totals the results of the schema matching performed in step S35 (that is, the matching score), and includes a cooperation source table including columns determined to be similar to the remaining columns of the target table in step S34. It is determined whether or not the cooperation destination table can be combined with the virtual table defined by the provisional virtual table information 301 acquired in step S21. If both tables can be combined, the recommendation determining unit 106 proceeds to step S37. If both tables cannot be combined, the recommendation determining unit 106 regards the virtual table defined by the temporary virtual table information 301 acquired in step S21 as the final virtual table, and proceeds to step S38. However, the recommendation determining unit 106 excludes columns that do not have corresponding columns in the target table from the final virtual table.
 ステップS37において、推奨判断部106は、ステップS34で目標テーブルの残りのカラムと類似すると判断したカラムを含む連携元テーブル又は連携先テーブルと、ステップS21で取得した暫定仮想テーブル情報301により定義された仮想テーブルとを結合して1つのテーブルを作成する。推奨判断部106は、作成したテーブルを最終的な仮想テーブルとみなし、ステップS38に進む。ただし、推奨判断部106は、最終的な仮想テーブルから、対応するカラムが目標テーブルにないカラムを除外する。 In step S37, the recommendation determining unit 106 is defined by the cooperation source table or the cooperation destination table including the columns determined to be similar to the remaining columns of the target table in step S34, and the provisional virtual table information 301 acquired in step S21. Join one virtual table to create one table. The recommendation determining unit 106 regards the created table as a final virtual table, and proceeds to step S38. However, the recommendation determining unit 106 excludes columns that do not have corresponding columns in the target table from the final virtual table.
 例えば、推奨判断部106は、図12に示した暫定仮想テーブル情報301により定義された仮想テーブルと、図12に示した情報により定義された社員テーブル及びディスカウントテーブルとを結合して、最終的な仮想テーブルを作成する。 For example, the recommendation determining unit 106 combines the virtual table defined by the provisional virtual table information 301 illustrated in FIG. 12 with the employee table and the discount table defined by the information illustrated in FIG. Create a virtual table.
 ステップS38において、推奨判断部106は、最終的な仮想テーブルの基になったテーブルの組み合わせを、目標テーブルのデータ連携に利用することを推奨する推奨情報161を、出力装置を介してクライアント装置200へ出力する。 In step S <b> 38, the recommendation determination unit 106 uses the output device to provide the recommended information 161 that recommends that the table combination that is the basis of the final virtual table is used for data linkage of the target table. Output to.
 図4の動作により複数の仮想テーブルが作成されている場合は、ステップS31~S37の処理が仮想テーブルごとに実行される。ステップS38において、推奨判断部106は、仮想テーブルごとに、目標テーブルと最終的な仮想テーブルとのスキーママッチングを行う。推奨判断部106は、そのスキーママッチングのスコアが最も高い(又はそのスキーママッチングのスコアが上位n番目(n>1)までの)最終的な仮想テーブルを選択する。推奨判断部106は、選択した最終的な仮想テーブルの基になったテーブルの組み合わせを、目標テーブルのデータ連携に利用することを推奨する推奨情報161を、出力装置を介してクライアント装置200へ出力する。 When a plurality of virtual tables are created by the operation of FIG. 4, the processes of steps S31 to S37 are executed for each virtual table. In step S38, the recommendation determining unit 106 performs schema matching between the target table and the final virtual table for each virtual table. The recommendation determination unit 106 selects the final virtual table having the highest schema matching score (or the highest n (n> 1) in the schema matching score). The recommendation determination unit 106 outputs the recommended information 161 that recommends using the combination of the tables that is the basis of the selected final virtual table to the target table data linkage to the client device 200 via the output device. To do.
 目標テーブルの一部のカラムと対応するカラムが最終的な仮想テーブルに含まれないことがある。即ち、目標テーブルが既存のテーブルのみを利用したデータ連携では実現できないことがある。そのような場合、仮想テーブルと連携元テーブルを結合するための情報を関連テーブルとして手動で作成することが考えられる。この場合、どのような関連テーブルを作成すればよいか調査する必要があるが、推奨情報161をクライアント装置200へ提供することにより、調査量の削減に寄与することができる。 カ ラ ム Some columns corresponding to some columns of the target table may not be included in the final virtual table. That is, the target table may not be realized by data linkage using only an existing table. In such a case, it can be considered that information for joining the virtual table and the linkage source table is manually created as a related table. In this case, it is necessary to investigate what kind of related table should be created. However, providing the recommended information 161 to the client device 200 can contribute to a reduction in the amount of investigation.
 本実施の形態では、データ連携関係の自動推奨にあたってレコードデータが必須ではなく、テーブル定義情報等のメタデータのみあればよい。そのため、データ連携関係を探索するシステムの範囲を広く設定できる。その結果として、システム全体を考慮したデータ連携関係の全体最適解を見つけ出すことが可能となる。つまり、本実施の形態によれば、データ連携において、連携先となるテーブルのカラムに格納するデータを、どのテーブルのカラムから抽出すればよいかを、効率よく、的確に判断することができる。 In this embodiment, record data is not essential for automatic recommendation of data linkage relations, and only metadata such as table definition information may be used. Therefore, it is possible to set a wide range of systems for searching for data linkage relationships. As a result, it is possible to find an overall optimal solution of the data linkage relationship considering the entire system. That is, according to the present embodiment, in data linkage, it is possible to efficiently and accurately determine from which table column the data stored in the column of the table to be linked is extracted.
 本実施の形態では、システム全体という広いスコープでデータ連携関係を探索することができるため、検出漏れを最小限にできるという効果が得られる。 In this embodiment, since the data linkage relationship can be searched with a wide scope of the entire system, an effect that detection omissions can be minimized can be obtained.
 データ連携関係の自動推奨では、探索スコープが狭くなると、本来連携元とすべきテーブルが排除される可能性がある。本来連携元とすべきテーブルのコピーあるいは変形を連携元として誤検出してしまう可能性がある。そのような誤検出があると、定義したデータ連携関係において、本来連携元とすべきテーブルからそのコピーあるいは変形を作成する別のデータ連携処理との依存関係が生じてしまう。本実施の形態によれば、そのように本来必要のないデータ連携関係が定義されてしまう事態(即ち、部分最適解)を回避することができる In automatic recommendation of data linkage relationship, if the search scope becomes narrow, there is a possibility that the table that should originally be the linkage source may be excluded. There is a possibility that a copy or deformation of a table that should originally be a linkage source is erroneously detected as a linkage source. If there is such a false detection, in the defined data linkage relationship, a dependency relationship with another data linkage process that creates a copy or transformation from the table that should originally be the linkage source occurs. According to the present embodiment, it is possible to avoid such a situation (that is, a partially optimal solution) that a data linkage relationship that is not necessary originally is defined.
 本実施の形態では、データ連携関係の自動推奨という目的に固有の要件である、連携先テーブルのレコードレイアウトを連携元テーブル群から結合操作等により再現できるという要件に対応するために、仮想テーブルを作成して、仮想テーブルと連携先テーブルに対してスキーママッチング技術を適用する。このため、データ連携に使用できない対応関係は自動的に出力から省かれる。本実施の形態では、通常のスキーママッチング技術で大量に発生するデータ連携関係の候補の中からデータ連携に使用できるカラム間の対応関係のみを抽出して提供する。このため、自動推奨結果が人間により確認される際に、人間の作業量が大幅に削減される。 In this embodiment, in order to meet the requirement that the record layout of the linkage destination table can be reproduced from the linkage source table group by a join operation, which is a unique requirement for the purpose of automatically recommending the data linkage relationship, Create and apply schema matching technology to the virtual table and linked table. For this reason, correspondences that cannot be used for data linkage are automatically omitted from the output. In the present embodiment, only correspondence relationships between columns that can be used for data linkage are extracted and provided from candidates for data linkage relationships that occur in large quantities with a normal schema matching technique. For this reason, when the automatic recommendation result is confirmed by a human, the amount of human work is greatly reduced.
 さらに、本実施の形態では、スコープを広げるだけではなく、データベーススキーマ内、データベース内、データベース外のように複数のスコープを明示的に分けて、それぞれについて仮想テーブルを作成する。このため、データ連携関係の候補をスコープ別に確認することが可能である。例えば、データベーススキーマ内では取得することができないデータ項目についてデータベース外までスコープを広げると取得できることが確認できる。よって、データベース外とのデータ連携コストとデータベーススキーマ内のデータ連携コストとを比較しながら、状況に応じたデータ連携関係を定義することが可能となる。 Furthermore, in this embodiment, not only the scope is expanded, but also a plurality of scopes are explicitly divided in the database schema, in the database, and outside the database, and a virtual table is created for each. For this reason, it is possible to check the data linkage relationship candidates by scope. For example, it can be confirmed that data items that cannot be acquired within the database schema can be acquired by expanding the scope outside the database. Therefore, it is possible to define the data linkage relationship according to the situation while comparing the data linkage cost outside the database with the data linkage cost in the database schema.
 図13は、本実施の形態に係るデータ連携支援装置100のハードウェア構成の一例を示す図である。 FIG. 13 is a diagram illustrating an example of a hardware configuration of the data cooperation support apparatus 100 according to the present embodiment.
 図13において、データ連携支援装置100は、コンピュータであり、LCD901(Liquid・Crystal・Display)、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ906といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。LCD901の代わりに、CRT(Cathode・Ray・Tube)、あるいは、その他の表示装置が用いられてもよい。マウス903の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。 In FIG. 13, the data linkage support apparatus 100 is a computer, and includes an LCD 901 (Liquid / Crystal / Display), a keyboard 902 (K / B), a mouse 903, an FDD 904 (Flexible / Disk / Drive), and a CDD 905 (Compact / Disc / Drive). Drive) and a hardware device such as a printer 906 are provided. These hardware devices are connected by cables and signal lines. Instead of the LCD 901, a CRT (Cathode / Ray / Tube) or other display device may be used. Instead of the mouse 903, a touch panel, a touch pad, a trackball, a pen tablet, or other pointing devices may be used.
 データ連携支援装置100は、プログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、LCD901、キーボード902、マウス903、FDD904、CDD905、プリンタ906、HDD920(Hard・Disk・Drive)と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ、あるいは、その他の記録媒体が用いられてもよい。 The data linkage support apparatus 100 includes a CPU 911 (Central Processing Unit) that executes a program. The CPU 911 is an example of a processing device. The CPU 911 includes a ROM 913 (Read / Only / Memory), a RAM 914 (Random / Access / Memory), a communication board 915, an LCD 901, a keyboard 902, a mouse 903, an FDD 904, a CDD 905, a printer 906, and an HDD 920 (Hard / Disk) via a bus 912. Connected with Drive) to control these hardware devices. Instead of the HDD 920, a flash memory, an optical disk device, a memory card reader / writer, or other recording medium may be used.
 RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905は、入力装置の一例である。また、通信ボード915、LCD901、プリンタ906は、出力装置の一例である。 The RAM 914 is an example of a volatile memory. The ROM 913, the FDD 904, the CDD 905, and the HDD 920 are examples of nonvolatile memories. These are examples of the storage device. The communication board 915, the keyboard 902, the mouse 903, the FDD 904, and the CDD 905 are examples of input devices. The communication board 915, the LCD 901, and the printer 906 are examples of output devices.
 通信ボード915は、LAN(Local・Area・Network)等に接続されている。通信ボード915は、LANに限らず、IP-VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークといったWAN(Wide・Area・Network)、あるいは、インターネットに接続されていても構わない。LAN、WAN、インターネットは、ネットワークの一例である。 The communication board 915 is connected to a LAN (Local / Area / Network) or the like. The communication board 915 is not limited to a LAN, but includes an IP-VPN (Internet / Protocol / Virtual / Private / Network), a wide area LAN, an ATM (Asynchronous / Transfer / Mode) network, a WAN (Wide / Area / Network), or the Internet. It does not matter if it is connected to. LAN, WAN, and the Internet are examples of networks.
 HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本発明の実施の形態の説明において「~部」として説明する機能を実行するプログラムが含まれている。プログラムは、CPU911により読み出され実行される。ファイル群924には、本発明の実施の形態の説明において、「~データ」、「~情報」、「~ID(識別子)」、「~フラグ」、「~結果」として説明するデータや情報や信号値や変数値やパラメータが、「~ファイル」や「~データベース」や「~テーブル」の各項目として含まれている。「~ファイル」や「~データベース」や「~テーブル」は、RAM914やHDD920等の記録媒体に記憶される。RAM914やHDD920等の記録媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。 The HDD 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922. The program group 923 includes programs that execute the functions described as “unit” in the description of the embodiment of the present invention. The program is read and executed by the CPU 911. The file group 924 includes data and information described as “˜data”, “˜information”, “˜ID (identifier)”, “˜flag”, and “˜result” in the description of the embodiment of the present invention. Signal values, variable values, and parameters are included as "~ file", "~ database", and "~ table" items. “˜file”, “˜database”, and “˜table” are stored in a recording medium such as the RAM 914 and the HDD 920. Data, information, signal values, variable values, and parameters stored in a recording medium such as the RAM 914 and the HDD 920 are read out to the main memory and the cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. It is used for processing (operation) of the CPU 911 such as calculation, control, output, printing and display. During the processing of the CPU 911 such as extraction, search, reference, comparison, calculation, calculation, control, output, printing, and display, data, information, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory. Remembered.
 本発明の実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、RAM914等のメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、HDD920の磁気ディスク、光ディスク、DVD(Digital・Versatile・Disc)、あるいは、その他の記録媒体に記録される。また、データや信号は、バス912、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。 In the description of the embodiment of the present invention, the arrow portions in the block diagrams and flowcharts mainly indicate input / output of data and signals. Data and signals are recorded in memory such as RAM 914, FDD904 flexible disk (FD), CDD905 compact disk (CD), HDD920 magnetic disk, optical disk, DVD (Digital Versatile Disc), or other recording media Is done. Data and signals are transmitted by a bus 912, a signal line, a cable, or other transmission media.
 本発明の実施の形態の説明において「~部」として説明するものは、「~回路」、「~装置」、「~機器」であってもよく、また、「~ステップ」、「~工程」、「~手順」、「~処理」であってもよい。即ち、「~部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、「~部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「~部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本発明の実施の形態の説明で述べる「~部」としてコンピュータを機能させるものである。あるいは、プログラムは、本発明の実施の形態の説明で述べる「~部」の手順や方法をコンピュータに実行させるものである。 In the description of the embodiments of the present invention, what is described as “to part” may be “to circuit”, “to device”, and “to device”, and “to step” and “to process”. , “˜procedure”, and “˜processing”. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, what is described as “˜unit” may be realized only by software or only by hardware such as an element, a device, a board, and wiring. Alternatively, what is described as “˜unit” may be realized by a combination of software and hardware, or a combination of software, hardware and firmware. Firmware and software are stored as programs in a recording medium such as a flexible disk, a compact disk, a magnetic disk, an optical disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. In other words, the program causes the computer to function as “˜unit” described in the description of the embodiment of the present invention. Alternatively, the program causes a computer to execute the procedures and methods of “unit” described in the description of the embodiment of the present invention.
 以上、本発明の実施の形態について説明したが、本発明は、この実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。 As mentioned above, although embodiment of this invention was described, this invention is not limited to this embodiment, A various change is possible as needed.
 100 データ連携支援装置、101 情報記憶部、102 テーブル選択部、103 カラム特定部、104 テーブル抽出部、105 テーブル結合部、106 推奨判断部、111 連携元情報、112 連携先情報、113 参照関係情報、114 入力情報、161 推奨情報、200 クライアント装置、301 暫定仮想テーブル情報、302 キー項目情報、303,304,305 参照関係レコード、901 LCD、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 HDD、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群。 100 data linkage support device, 101 information storage unit, 102 table selection unit, 103 column specification unit, 104 table extraction unit, 105 table combination unit, 106 recommendation judgment unit, 111 linkage source information, 112 linkage destination information, 113 reference relation information , 114 input information, 161 recommended information, 200 client devices, 301 provisional virtual table information, 302 key item information, 303, 304, 305 reference relation record, 901 LCD, 902 keyboard, 903 mouse, 904 FDD, 905 CDD, 906 printer , 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 HDD, 921 operating system, 922 window system, 923 programs, 24 file group.

Claims (4)

  1.  複数のテーブルを有するデータベースのデータ連携を支援するデータ連携支援装置において、
     前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す主キー情報と、前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれに格納されるデータの属性を示す属性情報と、前記複数のテーブル間の参照関係を示す参照関係情報とを記憶する情報記憶部と、
     前記複数のテーブルから、主キーになっている2つ以上のカラムを含みデータ連携の連携先となる1つのテーブルを選択するテーブル選択部と、
     前記情報記憶部に記憶された主キー情報に基づき、前記テーブル選択部により選択されたテーブルに含まれる複数のカラムから、前記2つ以上のカラムを特定するカラム特定部と、
     前記情報記憶部に記憶された主キー情報と属性情報と参照関係情報とに基づき、前記複数のテーブルのうち前記テーブル選択部により選択されたテーブル以外のテーブルから、参照関係によって結ばれた2つ以上のテーブルの組み合わせであって、前記カラム特定部により特定されたカラムと対応するカラムが当該2つ以上のテーブルに分かれて各テーブルの主キーとして存在する組み合わせを抽出するテーブル抽出部と、
     前記テーブル抽出部により抽出された組み合わせに含まれるテーブルを結合して1つのテーブルを作成するテーブル結合部と、
     前記テーブル選択部により選択されたテーブルと前記テーブル結合部により作成されたテーブルとのスキーママッチングを行い、スキーママッチングの結果に基づき、前記テーブル抽出部により抽出された組み合わせを、前記テーブル選択部により選択されたテーブルのデータ連携に利用することを推奨するかどうか判断する推奨判断部と
    を備えることを特徴とするデータ連携支援装置。
    In a data linkage support device that supports data linkage of a database having a plurality of tables,
    Primary key information indicating whether or not each of the plurality of columns included in each of the plurality of tables is a primary key, and attributes of data stored in each of the plurality of columns included in each of the plurality of tables An information storage unit that stores attribute information indicating the reference relationship information indicating the reference relationship between the plurality of tables;
    A table selection unit that selects, from the plurality of tables, one table including two or more columns serving as primary keys and serving as a linkage destination of data linkage;
    A column specifying unit for specifying the two or more columns from a plurality of columns included in the table selected by the table selection unit based on the primary key information stored in the information storage unit;
    Based on the primary key information, the attribute information, and the reference relationship information stored in the information storage unit, two of the plurality of tables connected by a reference relationship from a table other than the table selected by the table selection unit A table extraction unit that is a combination of the above-described tables and extracts a combination in which a column corresponding to the column specified by the column specifying unit is divided into the two or more tables and exists as a primary key of each table;
    A table combination unit that combines tables included in the combination extracted by the table extraction unit to create one table;
    Schema matching is performed between the table selected by the table selection unit and the table created by the table combination unit, and the combination extracted by the table extraction unit is selected by the table selection unit based on the result of schema matching. A data cooperation support apparatus comprising: a recommendation determination unit that determines whether or not it is recommended to use the table for data cooperation.
  2.  前記テーブル抽出部により2つ以上の組み合わせが抽出された場合、
     前記テーブル結合部は、前記テーブル抽出部により抽出された組み合わせごとに、組み合わせに含まれるテーブルを結合して1つのテーブルを作成し、
     前記推奨判断部は、前記テーブル抽出部により抽出された組み合わせごとに、前記テーブル選択部により選択されたテーブルと前記テーブル結合部により作成されたテーブルとのスキーママッチングを行い、
     前記推奨判断部は、スキーママッチングの結果に基づき、前記テーブル抽出部により抽出された組み合わせのうち1つの組み合わせを、前記テーブル選択部により選択されたテーブルのデータ連携に利用することを推奨する推奨情報を出力することを特徴とする請求項1のデータ連携支援装置。
    When two or more combinations are extracted by the table extraction unit,
    The table combining unit creates one table by combining the tables included in the combination for each combination extracted by the table extracting unit,
    The recommendation determining unit performs schema matching between the table selected by the table selecting unit and the table created by the table combining unit for each combination extracted by the table extracting unit,
    The recommendation determining unit recommends using one combination among the combinations extracted by the table extracting unit for data linkage of the table selected by the table selecting unit based on a result of schema matching. The data linkage support apparatus according to claim 1, wherein:
  3.  前記推奨判断部は、前記テーブル抽出部により抽出された組み合わせを、前記テーブル選択部により選択されたテーブルのデータ連携に利用することを推奨する場合、前記テーブル選択部により選択されたテーブルに含まれる複数のカラムから、前記テーブル結合部により作成されたテーブルに、対応するカラムが存在しないカラムを抽出し、前記複数のテーブルのうち前記テーブル選択部により選択されたテーブル以外のテーブルから、抽出したカラムと対応するカラムを含み、前記テーブル結合部により作成されたテーブルに結合可能なテーブルを検出し、検出したテーブルを、前記テーブル抽出部により抽出された組み合わせに追加することを特徴とする請求項1のデータ連携支援装置。 The recommendation determination unit is included in the table selected by the table selection unit when recommending that the combination extracted by the table extraction unit is used for data linkage of the table selected by the table selection unit. Columns that do not have a corresponding column in the table created by the table linking unit are extracted from a plurality of columns, and extracted from tables other than the table selected by the table selection unit among the plurality of tables And a table that can be joined to the table created by the table joining unit, and the detected table is added to the combination extracted by the table extracting unit. Data linkage support device.
  4.  複数のテーブルを有するデータベースのデータ連携を支援するデータ連携支援方法において、
     前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれが主キーになっているかどうかを示す主キー情報と、前記複数のテーブルのそれぞれに含まれる複数のカラムのそれぞれに格納されるデータの属性を示す属性情報と、前記複数のテーブル間の参照関係を示す参照関係情報とを記憶する情報記憶部を備えるコンピュータを用いて、
     前記複数のテーブルから、主キーになっている2つ以上のカラムを含みデータ連携の連携先となる1つのテーブルを選択し、
     前記情報記憶部に記憶された主キー情報に基づき、前記選択により選択されたテーブルに含まれる複数のカラムから、前記2つ以上のカラムを特定し、
     前記情報記憶部に記憶された主キー情報と属性情報と参照関係情報とに基づき、前記複数のテーブルのうち前記選択により選択されたテーブル以外のテーブルから、参照関係によって結ばれた2つ以上のテーブルの組み合わせであって、前記特定により特定されたカラムと対応するカラムが当該2つ以上のテーブルに分かれて各テーブルの主キーとして存在する組み合わせを抽出し、
     前記抽出により抽出された組み合わせに含まれるテーブルを結合して1つのテーブルを作成し、
     前記選択により選択されたテーブルと前記結合により作成されたテーブルとのスキーママッチングを行い、スキーママッチングの結果に基づき、前記抽出により抽出された組み合わせを、前記選択により選択されたテーブルのデータ連携に利用することを推奨するかどうか判断することを特徴とするデータ連携支援方法。
    In a data linkage support method for supporting data linkage of a database having a plurality of tables,
    Primary key information indicating whether or not each of the plurality of columns included in each of the plurality of tables is a primary key, and attributes of data stored in each of the plurality of columns included in each of the plurality of tables Using a computer including an information storage unit that stores attribute information indicating the reference relationship information indicating the reference relationship between the plurality of tables,
    From one of the plurality of tables, select one table that includes two or more columns that are primary keys and is a linkage destination of data linkage,
    Based on the primary key information stored in the information storage unit, identify the two or more columns from a plurality of columns included in the table selected by the selection,
    Based on the primary key information, the attribute information, and the reference relationship information stored in the information storage unit, two or more items connected by a reference relationship from tables other than the table selected by the selection among the plurality of tables. A combination of tables, wherein a column corresponding to the column identified by the identification is divided into the two or more tables and a combination existing as a primary key of each table is extracted;
    Combining tables included in the combination extracted by the extraction to create one table,
    Schema matching between the table selected by the selection and the table created by the join is performed, and the combination extracted by the extraction is used for data linkage of the table selected by the selection based on the result of the schema matching A data linkage support method characterized by determining whether or not to recommend.
PCT/JP2013/077628 2013-10-10 2013-10-10 Data-linking support device and data-linking support method WO2015052812A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2013/077628 WO2015052812A1 (en) 2013-10-10 2013-10-10 Data-linking support device and data-linking support method
JP2015541381A JP6017055B2 (en) 2013-10-10 2013-10-10 Data linkage support apparatus and data linkage support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/077628 WO2015052812A1 (en) 2013-10-10 2013-10-10 Data-linking support device and data-linking support method

Publications (1)

Publication Number Publication Date
WO2015052812A1 true WO2015052812A1 (en) 2015-04-16

Family

ID=52812659

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/077628 WO2015052812A1 (en) 2013-10-10 2013-10-10 Data-linking support device and data-linking support method

Country Status (2)

Country Link
JP (1) JP6017055B2 (en)
WO (1) WO2015052812A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6181250B1 (en) * 2016-07-11 2017-08-16 株式会社東芝 Database integration apparatus, database integration method, and database integration program
JP2020144457A (en) * 2019-03-04 2020-09-10 株式会社日立製作所 Data selection system and data selection method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063261A (en) * 2003-08-18 2005-03-10 Ntt Comware Corp Data cooperation rule generation system and method, and computer program
US20090094274A1 (en) * 2003-09-10 2009-04-09 Exeros, Inc. Method and apparatus for semantic discovery and mapping between data sources

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063261A (en) * 2003-08-18 2005-03-10 Ntt Comware Corp Data cooperation rule generation system and method, and computer program
US20090094274A1 (en) * 2003-09-10 2009-04-09 Exeros, Inc. Method and apparatus for semantic discovery and mapping between data sources

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RONALD FAGIN ET AL.: "Clio: Schema Mapping Creation and DataExchange", 2009, pages 1 - 4 0, Retrieved from the Internet <URL:http://queens.db.toronto.edu/project/clio/docs/clio.pdf> [retrieved on 20131028] *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6181250B1 (en) * 2016-07-11 2017-08-16 株式会社東芝 Database integration apparatus, database integration method, and database integration program
JP2018010385A (en) * 2016-07-11 2018-01-18 株式会社東芝 Database integration device, database integration method and database integration program
JP2020144457A (en) * 2019-03-04 2020-09-10 株式会社日立製作所 Data selection system and data selection method
JP7046859B2 (en) 2019-03-04 2022-04-04 株式会社日立製作所 Data selection system and data selection method

Also Published As

Publication number Publication date
JPWO2015052812A1 (en) 2017-03-09
JP6017055B2 (en) 2016-10-26

Similar Documents

Publication Publication Date Title
RU2427896C2 (en) Annotation of documents in jointly operating applications by data in separated information systems
US8549037B2 (en) Forensic system, forensic method, and forensic program
US11567995B2 (en) Branch threading in graph databases
JP4832952B2 (en) Database analysis system, database analysis method and program
US11244109B2 (en) Information processing device and information processing method
US8290950B2 (en) Identifying locale-specific data based on a total ordering of supported locales
JP4855080B2 (en) Schema integration support apparatus, schema integration support method of schema integration support apparatus, and schema integration support program
JP6017055B2 (en) Data linkage support apparatus and data linkage support method
JP6782275B2 (en) Data catalog automatic generation system and its automatic generation method
JP2009146084A (en) Table management device
US11868379B2 (en) System and methods for categorizing captured data
WO2017221445A1 (en) Management device, management method, and management program
JP5972461B2 (en) Data linkage support apparatus and data linkage support method
JP5202655B2 (en) Business flowchart search device and program
JP6897168B2 (en) Information processing equipment and information processing programs
JP2020197839A (en) Data management program, data management method and data management system
JP6293083B2 (en) Data processing program, data processing method, and information processing apparatus
US11893817B2 (en) Method and system for generating document field predictions
US20240143634A1 (en) System and methods for categorizing captured data
WO2023037455A1 (en) Screen data processing device, method, and program
JP2009003780A (en) Module management method, module management device, module management system, and module management program
JP2016194822A (en) Server system and program thereof, and error check method
CN117151129A (en) Translation data processing method and related equipment
JP2011232811A (en) Document management program, document management method, and document management device
JP2013117826A (en) Document preparation assisting device and document preparation assisting method

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: 13895431

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015541381

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13895431

Country of ref document: EP

Kind code of ref document: A1