1. Field of the Invention
The present invention relates generally to databases, and more particularly, to identifying and presenting fields from databases.
2. Description of the Related Art
Early database software programs were a great relief for people who needed to organize and store vast amounts of data. Thus, databases allowed people to input and store information in a form that could be easily re-called and updated. As is well known in the art, database programs have gained tremendous acceptance and usage by families and students, as well as in business settings. By way of example, families have used database programs to keep medical records, keep a budget, maintain an inventory of assets, and compile wedding plan information. Similarly, students may use a database program to maintain student loan records, prioritize class events, and coordinate field trips.
Generally, database programs have gained increased acceptance by the computing public with the advent of more user-friendly database programs, which have made data entry more efficient. Although there have been great improvements in data entry, there is still a great need for database programs that reduce the hassles associated with viewing the data in various formats. By way of example, it may be desirable to view all data associated with a single record. As another example, it may be desirable to compare selected data associated with multiple records. Thus, each time a user wishes to view data in a different format, it is necessary to create a new “report template.” As a result, this typically requires repetitively entering frequently viewed fields from scratch each time the information is needed for a particular report template.
In operation, when a database designer wants to define fields for a particular database, a form layout window can be used. FIG. 1 shows a screen shot illustrating an exemplary form layout window used to define fields for a database. In this example, an optional header, “Golf Money Winners” 102, is created and a number of fields 104 are defined to create a body 103. As shown, a last name field 106, a first name field 108, an events field 110, and a total prize money field 112 are defined in the body 103 of the form layout window. Although the form layout may include a footer, a footer is not included in this example.
Once data has been entered and stored in the database, it is often desirable to view the data for a particular record. In the simplest case, the data may be viewed in the format in which it has been entered. Thus, the form layout window is suitable for obtaining (i.e., entering) data for a particular record as well as for displaying data associated with a single database record. FIG. 2 illustrates a screen shot illustrating an exemplary form view window having a number of fields used to view a single record. As shown, the form view window displays fields for a single record. For example, the header 102 and the body 103, which includes the last name field 106, “Sutton”, first name field 108, “Hal”, events field 110, “30”, and total prize money field 112, “$1,838,740”, are displayed for a single record. Thus, the form view window includes a body defining a plurality of fields, which have a specified order as well as associated attributes. For example, attributes such as degree of rotation, color, and font may be associated with each field. In addition, each of the attributes has a corresponding attribute value. For instance, an attribute such as the font may be specified by values such as Times New Roman. In addition, the order as specified in this example requires that the last name of each of the golf money winners be displayed as the first field of the body 103. Although the form view format provides a simple mechanism to view a single database record, it is often desirable to view and compare multiple database records. For this purpose, the form view report format is inadequate.
Rather than viewing a single record, multiple records are often simultaneously displayed. FIG. 3 is a screen shot illustrating an exemplary list view window used to view multiple records. In addition to the title 102, “Golf Money Winners,” the bodies of multiple records as entered in the main form layout and displayed in the form view format are displayed consecutively. As shown, the body of a first record 302 is shown to include the last name field 304, “Woods”, the first name field 306, “Tiger”, the Events field 308, “20”, and the total prize money field 310, “$1,841,117”. Similarly, the body of a second record 312 is shown to include the last name field 314, “Sutton,” the first name field 316, “Hal,” the events field 318, “30”, and the total prize money field 320, $1,838,740. Although multiple records are displayed, it may be desirable to compare field values of multiple records. For instance, a viewer may wish to compare the total prize money won by multiple golf players. However, each of the records is displayed such that the fields associated with a single one of the records are displayed in multiple rows as well as columns. Moreover, since the records are displayed consecutively in the list view format, the values associated with the same field of multiple records are not displayed adjacent to one another and only a few records at most can be concurrently displayed. As a result, it is difficult to make such a simple comparison between values of the same field. From this list view window, it is difficult to make such a determination. Accordingly, although multiple records may be simultaneously displayed in this manner, the list view format does not facilitate comparisons of fields of multiple records.
As described above, it is difficult to compare fields of multiple records using a form view or a list view format. Moreover, it is often desirable to display the same data in a variety of formats. For instance, it may be desirable to vary the format (e.g., appearance) of the fields (e.g., font, column width) as well as the order of the fields. In addition, it may be desirable to alter the manner in which each field is displayed through the association of various attributes such as color, font, or degree of rotation.
It is often desirable to display records in a manner suitable for comparing the values of fields of those records. In order to assist a user in creating such a report, database records may be displayed in a format such as a table format (e.g., using formatting information from an existing layout). One method of presenting database records in a table format is disclosed in U.S. Pat. No. 6,613,099, entitled “Process and System for Providing a Table View of a Form Layout for a Database,” listing Christopher Crim as inventor, which is incorporated herein by reference for all purposes.
Referring now to FIG. 4, a screen shot illustrating an exemplary table view window in which various fields from the form layout may be displayed for one or more records of a database is presented. As shown, the table view window is capable of displaying multiple records 401 such that values associated with the same field of the plurality of records are displayed adjacent to one another. For instance, column header 402 identifies the last name field and the corresponding column includes a column of last names such that the last names associated with the records 401 are displayed adjacent to one another. In this example, the values are displayed in a single column. However, values may similarly be displayed in a single row to facilitate comparison of the values. Values associated with column header 404 identifying the first name field, column header 406 identifying the events field, and column header 408 identifying the total prize money field are similarly displayed for the records 401.
Regardless of the layout that is used to present database fields, it is often difficult for a user to select from fields in a particular database. For instance, a user may wish to select fields for sorting purposes. Unfortunately, in order to select these fields, the user must typically navigate and interact with the database. For instance, the user must be able to select a database table from numerous database tables in order to select fields from this database table. However, since the database design is set up by a database designer, the user is typically not familiar with the database design. As a result, the user must typically navigate the database to select the desired fields. Unfortunately, since the user is unfamiliar with the database and associated tables, this field selection process is a tedious and time-consuming process.
In view of the foregoing, what is needed is a process and system for enabling a user to select fields from a database. Moreover, it would be desirable if the fields could be selected by a user while minimizing the efforts required by the user.