POPULATE DATA LAYER WITH INSTANCES OF FOT TYPES DEFINED IN MODEL LAYER
• OPEN LIST OF RELATIONSHIPS BETWEEN THE DO OBJECTS IN DATA LAYER
FOR EACH ENTRY TO BE ADDED
• CREATE NEW INSTANCE OF
• GET POINTER TO DOMAIN AND
• SET domaindo AND rangedo
DATA MEMBERS EQUAL TO
• ADD POINTER TO NEW FO TO
FOTSFROM DATAMEMBER OF
• ADD POINTER TO NEW FO TO FOTSTO DATAMEMBER OF RANGE DO
METHOD AND SYSTEM FOR GENERATING A USER INTERFACE ADAPTABLE TO VARIOUS DATABASE MANAGEMENT SYSTEMS
CROSS-REFERENCE TO RELATED
This application is a continuation-in-part of U.S. patent application Ser. No. 08/086,330, filed Jun. 30, 1993, now abandoned, entitled "Model-Based Information Access System", which has, at all times relevant hereto, been commonly owned with the present application.
The present invention relates to a computer system for generating a user interface for a database management system. 20
As computers and computerized database systems 25 become more prevalent in the modern business environment, the information stored in such systems becomes an increasingly valuable corporate asset. A large corporate database system typically stores such standard data as customer lists, account balances, payment schedules, as well as 3Q a host of other information that can only be obtained by interpreting the standard data such as customer spending patterns, customer preferences, etc. The ability to effectively use and interpret all the information stored in a database can give a company an edge over its competitors. 35
Despite the theoretical value of the information stored in a database, as a practical matter, the information is only as valuable as it is accessible. Presently, large databases such as those used by a business are typically operated using complex database management systems. These systems typically 40 have their own unique query language that not only depends upon the architecture of the database, whether it be objectoriented, relational, or hierarchical, etc., but also can vary according to the manufacturer of the database management system. Before a user can store and retrieve data with a 45 database management system, it is often necessary to learn how to use the particular user interface for the database and/or the particular query language provided by the manufacturer of the system. The training is not only time consuming but must often be repeated if a company uses several 50 different database systems that have a different user interface and query language.
One of the more common types of user interfaces provided by a database management system is a form-based interface. In order to use and search such a database, a user 55 is shown a pictorial representation of a form on a video terminal. The particular form shown is related to the data or information that is being searched. For example, if a user wishes to search the database for a particular customer, a form is generated by the user interface that contains blanks 60 for the customer's name, address, account balance, etc. The customer then enters data into one or more of the blanks. The data entered into the blanks define a set of query constraints that are combined to create a database query. The database query is then executed by the database management system 65 to retrieve all instances of the stored data meeting the query constraints.
The biggest impediment to creating database interfaces that are easier to use and more uniform from one database to another is the fact that the computer software that generates the user interface is coupled to the structure of underlying data stored in the database. This is often the case because the manufacturer of the database management system first determines how the data will be stored on the database and what relationships are possible between the various data items. Once the architecture of the database has been designed, the manufacturer then designs a user interface that reflects the database architecture, or that generates queries in a data manipulation language that is specific to the architecture of the database. However, if the underlying data structure of the database is changed by adding a new field or changing a relationship between the various items of data stored, the software that generates the user interface must be recoded and recompiled in order to reflect the change in the database structure.
In the form-based user interface described above, if a new type of data is added or a new relationship is defined among the data stored, the software that generates the forms must be recoded and recompiled to reflect changes in the forms produced. Often the relationships between stored data and the corresponding user interface are subtle and a change may affect the user interface in non-obvious ways. Therefore, a significant amount of debugging may be required before the user interface properly reflects a change made in the underlying database.
To overcome the problem of requiring a user to learn a new user interface and/or the underlying query language of a database before a user can use a database, it is desirable to generate a database user interface that is not tightly coupled to the structure of the underlying data. The user interface should be flexible so that if a change is made to the underlying database schema or model, the interface will adapt dynamically to reflect the change without the need to recode and recompile the software that generates the user interface. Additionally, the database interface should be adaptable to work with various types of database systems, thereby allowing a user to use the same database user interface regardless of the database's query language or underlying modeling constructs.
SUMMARY OF THE INVENTION
It is thus a general object of the present invention to provide a method and system for generating a user interface that is adaptable to various database systems.
It is another object of the present invention to provide a method and system for generating a flexible user interface that dynamically adapts to the underlying database schema without the need to recode or recompile the software that generates the user interface.
It is yet another object of the present invention to provide a method and system for generating a user interface that is adaptable to various database systems regardless of the database's query language or underlying modeling constructs.
In carrying out the above objects and other objects, features and advantages of the present invention, a method is provided for generating a user interface adaptable to various database management systems. The method includes the step of generating an intermediate data model having a model and a meta-model describing a plurality of data items as instances of either a data object type or a functional object type. The data object type represents a type of data contained