A data mapping document design system provides a market differentiator that facilitates creating the technical specification for migrating legacy databases. The system addresses the significant technical problems associated with the immensely labor intensive, complex, and error prone endeavor of manually creating the technical specification. The system not only achieves cost and time savings in clearly measurable aspects of data migration such as migration project cost and completion timelines, but also achieves improvements in other harder to measure and track areas, such as data quality, and achieves reductions in subsequently discovered data errors. |
Citations|
| US5945985 | May 20, 1996 | Aug 31, 1999 | Technology International, Inc. | Information system for interactive access to geographic information | | US6374263 | Jul 19, 1999 | Apr 16, 2002 | International Business Machines Corp. | System for maintaining precomputed views | | US6571232 | Nov 1, 1999 | May 27, 2003 | Sun Microsystems, Inc. | System and method for browsing database schema information | | US6574635 | Mar 3, 1999 | Jun 3, 2003 | Siebel Systems, Inc. | Application instantiation based upon attributes and values stored in a meta data repository, including tiering of application layers objects and components | | US6609123 | Sep 1, 2000 | Aug 19, 2003 | Cognos Incorporated | Query engine and method for querying data using metadata model | | US6662188 | Sep 1, 2000 | Dec 9, 2003 | Cognos Incorporated | Metadata model | | US6701321 | Mar 13, 2000 | Mar 2, 2004 | | Method and apparatus for navigation of relational databases on distributed networks | | US6760721 | Apr 14, 2000 | Jul 6, 2004 | RealNetworks, Inc. | System and method of managing metadata data | | US6765928 | Sep 2, 1998 | Jul 20, 2004 | Cisco Technology, Inc. | Method and apparatus for transceiving multiple services data simultaneously over SONET/SDH | | US6836777 | Nov 14, 2002 | Dec 28, 2004 | NCR Corporation | System and method for constructing generic analytical database applications | | US7222116 | Jan 29, 2002 | May 22, 2007 | International Business Machines Corporation | Method and system for matching complex customer requirements with provider solutions | | US7406436 | Mar 21, 2002 | Jul 29, 2008 | | Method and apparatus for collecting, aggregating and providing post-sale market data for an item | | US7430721 | Apr 8, 2004 | Sep 30, 2008 | Tidebreak, inc. | Pointright: a system to redirect mouse and keyboard control among multiple machines | | US7478107 | Dec 23, 2004 | Jan 13, 2009 | EMC Corporation | Methods and apparatus facilitating management of a SAN | | US7483892 | Jan 24, 2005 | Jan 27, 2009 | Kroll Ontrack, Inc. | Method and system for optimally searching a document database using a representative semantic space | | US7574454 | Jun 16, 2006 | Aug 11, 2009 | DRVision Technologies LLC | Dynamic learning and knowledge representation for data mining | | US20040003396 | Jun 27, 2002 | | | Metadata mapping to support targeted advertising | | US20040158567 | Feb 12, 2003 | | International Business Machines Corporation | Constraint driven schema association | | US20040242158 | Mar 31, 2004 | | | Method of calculating and displaying mutual interference in the down direction in a cellular radiotelephone network with a W-CDMA type access | | US20050055369 | Sep 9, 2004 | | | Method and apparatus for semantic discovery and mapping between data sources | | US20060026136 | Dec 9, 2004 | | | Method and system for generating a real estate title report | | US20070055655 | Jan 6, 2006 | | Microsoft Corporation | Selective schema matching | | US20070185913 | Sep 7, 2006 | | International Business Machines Corporation | Automatic Problem-Oriented Transformation of Database Performance Data | | US20090077114 | Dec 31, 2007 | | ACCENTURE GLOBAL SERVICES GMBH | DATA MAPPING DESIGN TOOL | | US20090171606 | Dec 31, 2007 | | | SEMICONDUCTOR MANUFACTURE PERFORMANCE ANALYSIS |
Claims1. A method for determining a data mapping to a target database, the method comprising: - obtaining a view selection specifying an application view;
- determining component applets of the application view;
- determining target database columns in a target database that the component applets use to render the application view;
- determining a first set of intermediate staging tables that are available to import source database data into the target database columns;
- building a first intermediate mapping comprising target database column identifiers for the target database columns, intermediate staging table identifiers for the first set of intermediate staging tables, and mapping permissibility indicators between the first set of intermediate staging tables and the target database columns;
- executing a search algorithm on the intermediate mapping to determine a first intermediate staging table selection for mapping the source database data to the target database columns in the target database through the first set of intermediate staging tables, where executing the search algorithm comprises:
- executing a weighted selection based on the mapping permissibility indicators in the intermediate mapping, and
- persistently executing the weighted selection to obtain the first intermediate staging table selection; and
- creating a data mapping document specifying the first intermediate staging table selection for mapping the source database data to the target database columns.
2. The method of claim 1, further comprising: - determining that the first intermediate mapping does not cover all of the target database columns; and where:
- the first intermediate staging table selection comprises a partial mapping of the source database data to the target database columns through the first set of intermediate staging tables.
3. The method of claim 1, where determining intermediate staging tables comprises: - searching a metadata repository for the target database to identify the first set of intermediate staging tables.
4. The method of claim 1, further comprising: - for intermediate staging tables identified in the first intermediate staging table selection, mapping intermediate staging table columns in the intermediate staging tables to the target database columns in the target database; and
- where creating a data mapping document comprises:
- specifying the intermediate staging table columns and the target database columns in the data mapping document.
5. The method of claim 1, further comprising: - determining a join table comprising join table columns that the component applets use to implement the application view.
6. The method of claim 5, further comprising: - determining a second set of intermediate staging tables that are available to import source database data into the join table columns;
- building a join table intermediate mapping comprising join table column identifiers for the join table columns, intermediate staging table identifiers for the second set of intermediate staging tables, and mapping permissibility indicators between the second set of intermediate staging tables and the join table columns;
- executing the search algorithm on the join table intermediate mapping to determine a second intermediate staging table selection for mapping the source database data to the join table columns through the second set of intermediate staging tables; and
- creating the data mapping document using the second intermediate staging table selection and the first intermediate staging table selection.
7. The method of claim 1, further comprising: - determining a multi-value field that the component applets use to render the application view.
8. The method of claim 7, further comprising: - determining a relation field in a base table operable to specify a multi-value table that provides values for the multi-value field; and
- in the data mapping document, mapping the base table to a multi-value intermediate staging table for the multi-value table.
9. The method of claim 1, where determining target data base columns comprises: - analyzing a business logic layer between the component applets and the target data base.
10. The method of claim 1, further comprising: - determining an applet relation between a first component applet and a second component applet among the component applets; and
- in the data mapping document, inserting an applet relation specification specifying an applet relation intermediate staging table identified for the applet relation.
11. A product comprising: - a machine-readable medium; and
- logic stored in the medium and operable to cause a processor to perform a data mapping analysis, the logic comprising:
- view analysis logic operable to determine component applets of an application view;
- applet analysis logic operable to determine target database columns that the component applets use to render the application view;
- staging table analysis logic operable to determine a first set of intermediate staging tables that are available to import source database data into the target database columns;
- intermediate mapping logic operable to build a first intermediate mapping comprising target database column identifiers for the target database columns, intermediate staging table identifiers for the first set of intermediate staging tables, and mapping permissibility indicators between the first set of intermediate staging tables and the target database columns;
- search logic operable to search the first intermediate mapping to determine a first intermediate staging table selection for mapping the source database data to the target database columns in the target database through the first set of intermediate staging tables, where searching the first intermediate mapping comprises:
- executing a weighted selection based on the mapping permissibility indicators in the first intermediate mapping, and
- persistently executing the weighted selection to obtain the first intermediate staging table selection; and
- file creation logic operable to create a data mapping document specifying the first intermediate staging table selection for mapping the source database data to the target database columns.
12. The product of claim 11, where the weighted selection logic is operable to determine a weight indicator for each of the intermediate staging tables based on the mapping permissibility indicators. 13. The product of claim 11, where the persistent execution logic is operable to iteratively apply the weighted selection logic to obtain the first intermediate staging table selection. 14. The product of claim 11, where the first intermediate staging table selection maps fewer than all of the target database columns. 15. The product of claim 11, where the applet analysis logic comprises: - metadata repository search logic.
16. The product of claim 11, further comprising: - mapping logic operable to map intermediate staging table columns in the intermediate staging tables in the first intermediate staging table selection to the target database columns in the target database.
17. The product of claim 11, where: - the staging table analysis logic is further operable to determine a second set of intermediate staging tables that are available to import source database data into join table columns that the component applets use to render the application view;
- the intermediate mapping logic is further operable to build a joint table intermediate mapping comprising join table column identifiers for the join table columns, intermediate staging table identifiers for the second set of intermediate staging tables, and mapping permissibility indicators between the second set of intermediate staging tables and the join table columns;
- the search logic is further operable to search the join table intermediate mapping to determine a second intermediate staging table selection for mapping the source database data to the join table columns through the second set of intermediate staging tables; and
- the file creation logic is further operable to create the data mapping document using the second intermediate staging table selection and the first intermediate staging table selection.
18. The product of claim 11, where: - the staging table analysis logic is further operable to:
- determine a multi-value field that the component applets use to render the application view; and
- determine a relation field in a base table operable to specify a multi-value table that provides values for the multi-value field; and where:
- the file creation logic is further operable to establish, in the data mapping document, a mapping of the base table to a multi-value intermediate staging table for the multi-value table.
19. A product comprising: - a machine readable medium; and
- logic stored in the medium and operable to cause a processor to perform a data mapping analysis to target database columns, the logic comprising:
- intermediate mapping logic operable to build a first intermediate mapping comprising target database column identifiers for the target database columns, intermediate staging table identifiers for a first set of intermediate staging tables, and mapping permissibility indicators between the first set of intermediate staging tables and the target database columns;
- search logic operable to search the first intermediate mapping to determine a first intermediate staging table selection for mapping source database data to the target database columns through the first set of intermediate staging tables, where searching the first intermediate mapping comprises:
- executing a weighted selection based on the mapping permissibility indicators in the first intermediate mapping, and
- persistently executing the weighted selection to obtain the first intermediate staging table selection; and
- file creation logic operable to create a data mapping document specifying the first intermediate staging table selection for mapping the source database data to the target database columns.
20. The product of claim 19, where the logic stored on the machine readable medium further comprises: - view analysis logic operable to determine component applets of an application view that use the target database columns.
21. The product of claim 20, where the logic stored on the machine readable medium further comprises: - view selection logic operable to obtain a view selection of the application view.
22. The product of claim 19, where the logic stored on the machine readable medium further comprises: - staging table analysis logic operable to determine a first set of intermediate staging tables that are available to import source database data into the target database columns.
23. The product of claim 19, where the logic stored on the machine readable medium further comprises: - mapping logic operable to map intermediate staging table columns in the intermediate staging tables in the first intermediate staging table selection to the target database columns in the target database.
|