Data management applications allow for the creation of custom applications for managing various types of data ranging from contact and order management to keeping records of baseball card purchases and auctions. The custom applications may include data structure definitions (e.g., an order or a customer), form definitions (e.g., an order entry form or a customer contact form), and business logic (e.g., when a customer has been contacted three times at an e-mail address without a reply, then mark the e-mail address as ‘invalid’).
In order to facilitate the creation of custom applications, many data management applications provide templates which contain a commonly used set of data structures, forms and business logic. Current templates however, suffer from a number of drawbacks. One drawback is that data management applications often provide a large number of templates for the same or similar processes, each of which must be manually utilized by a user to determine which one is the most appropriate for the user's needs (e.g., a data management application may provide hundreds of templates related to order management processes). Another drawback is that many applications provide templates which are not customizable (i.e., extendible) with respect to the current or future needs of the user. For example, applications may not provide any templates which completely satisfy a user's current needs or they may provide templates which are initially useful but will later be obsolete as the user's needs change in the future. While some data management applications do allow for template customization, these applications require that the user have a detailed knowledge and understanding of a template's functionality and are further designed to plug into a larger ‘master application’ in which all of the templates are merely preordained extensions of the master. Thus, template customization may not be accomplished without constantly referring to the structure of the master application. Currently however, database applications do not allow for the defining of relationships which specify how database template tables are joined with one or more database tables in an existing database. In addition, for database template tables that have been joined, current database applications do not provide for viewing extended database template tables or forms created from the linking or merging of one or more database tables in an existing database. It is with respect to these considerations and others that the various embodiments of the present invention have been made.