Method and apparatus for producing sequenced queries

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000, C707S793000, C709S203000, C709S217000, C714S005110, C714S014000, C345S215000, C345S419000

Reexamination Certificate

active

06324535

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to computer software, and more specifically, to database computer software.
BACKGROUND OF THE INVENTION
Information to be manipulated using a computer system may be stored in a database. A database is a collection of information and may be arranged with certain data grouped into one or more records. For example, an employee database may contain the name, manager's name and salary of each employee in a company. This information may be arranged in a database using a separate record for each employee, with each record capable of storing a name, manager's name and salary. The information for each employee may be entered into the records to build a table, and one or more tables is used to build a database. As new employees join the company and old employees depart the company, the database may be changed by one or more users to maintain the information stored in the database. Conventional database programs such as Access, commercially available from Microsoft Corporation of Redmond, Washington, Lotus Approach, commercially available from IBM Corporation of Armonk, N.Y., and Filemaker, commercially available from Claris Corporation of Cupertino, Calif. may be used to implement databases, the Oracle 7 product commercially available from Oracle Corporation of Redwood Shores, Calif. may be purchased to implement a client-server database, or a database may be programmed using conventional programming languages such as C, Pascal or Basic and conventional database programming techniques.
Some databases are maintained in such a manner that all data in the database is current. For example, when an employee leaves the employ of the company, the record corresponding to the employee may be deleted from the database. Referring now to
FIG. 1A
, a table
100
in a database that contains the name
120
, salary
122
and manager
124
of each employee in a company is shown. There are two rows
110
,
112
, one for each employee in the company. Each row
110
,
112
corresponds to a record in the table
100
and the table
100
is the database.
Information is retrieved from a database using a form of retrieve command. In many conventional databases products, the retrieve command is implemented in a structured format known as a query. Queries that comply with a set of standards are referred to as “SQL queries”. Other conventional databases use other types of commands, such as a “find,” and still others use both the find and query approaches. As used herein, “query” includes queries, finds or other requests for data made to a server. To identify the number of employees of the company, a query may be made to identify and count the employees in the table
100
. Conventional query or find commands allow a novice user to quickly locate and summarize data without substantial training.
For example, to identify the managers who made less than all of their employees, an SQL query could be applied to the employee table
100
an follows:
SELECT Name
FROM Employee E1
WHERE NOT EXISTS (SELECT *
FROM Employee E2
WHERE E1.Name=E2.Manager AND E1.Salary>=E2.Salary)
AND EXISTS (SELECT *
FROM Employee E3
WHERE E1.Name=E3.Manager AND E1.Salary<E3.Salary) (Query 1)
The result of this query will be a list of managers names corresponding to managers who make less than all of their employees.
It is often desirable to maintain information that is not current in a database. For example for tax purposes, additional fields may be added to each record in the database to allow information that is not current to nevertheless be maintained. For example, a “StartDate” field and an “StopDate” field could be added to each employee record to indicate the dates during which an employee had a specified salary and manager. Referring now to
FIG. 1B
, the employee table
100
of
FIG. 1A
can be modified as table
150
to capture historical data by adding the StartDate and StopDate columns
126
,
128
to indicate a period during which the data in the row
160
,
162
,
164
,
166
is or was valid. Table
150
contains all the values of the data in the database, not just the current values. Thus, table
150
contains different values of the data in the database over time. It is possible for the StartDate and StopDate columns
126
,
128
to contain dates in the future, for example to store planning data in the table
150
.
It may be desirable to identify any manager that made less than all of the manager's employees during any period of time, and to also identify the period of time in which this situation was valid. One method of identifying this information would be to select data from the table
150
that has a StartDate and a StopDate that contains a specified day, then test the condition using the query above, and repeat this process for every day during which data in the table
150
is valid. Such a process would require numerous queries to the database, using processing resources that might be expended performing other tasks. It is desirable to identify a way of obtaining information from a database that accommodates different values of the data according to a variable such as time, while minimizing the number of queries made to the database and is independent of the precision (e.g. day, second, microsecond) of the variable.
SUMMARY OF INVENTION
A method and apparatus produces a query from an original query provided by a user, and which logically divides the range of the variable covered by the database into multiple segments, each segment corresponding to a range over which the other data in the tables used to produce the results of the query is constant. The records in each table corresponding to some or all of each range are joined as a set and the query is applied to each joined set for each of the segments. The present invention allows these actions to be performed with as few as one query, reducing the number of queries that may otherwise be required to produce this information.


REFERENCES:
patent: 4748439 (1988-05-01), Robinson et al.
patent: 4924435 (1990-05-01), Brunvand et al.
patent: 4956774 (1990-09-01), Shibamiya et al.
patent: 5251316 (1993-10-01), Anick et al.
patent: 5265065 (1993-11-01), Turtle
patent: 5317733 (1994-05-01), Murdock
patent: 5347653 (1994-09-01), Flynn et al.
patent: 5428774 (1995-06-01), Takahashi et al.
patent: 5440730 (1995-08-01), Elmasri et al.
patent: 5495606 (1996-02-01), Borden et al.
patent: 5548754 (1996-08-01), Pirahesh et al.
patent: 5551031 (1996-08-01), Cheng et al.
patent: 5557791 (1996-09-01), Cheng et al.
patent: 5572731 (1996-11-01), Morel et al.
patent: 5574900 (1996-11-01), Huang et al.
patent: 5590324 (1996-12-01), Leung et al.
patent: 5600831 (1997-02-01), Levy et al.
patent: 5603021 (1997-02-01), Spencer et al.
patent: 5706495 (1998-01-01), Chadha et al.
patent: 5710916 (1998-01-01), Barbara et al.
patent: 5745899 (1998-04-01), Burrows
patent: 5859787 (1999-01-01), Wang et al.
patent: 6021158 (1999-01-01), Schurr et al.
patent: 0855656-A2 (1998-07-01), None
Elmasri, Ramez et al., “Partitioning of Time Index for Optical Disks” IEEE, Jul. 1992, pp. 574-583.*
Schikuta, Erich et al., “A Knowledge Base for the Optimization of Parallel Query Execution Plan”, IEEE, Sep. 1997, pp. 331-337.*
Wu, Chao-Hui et al., “Querying Multimedia Presentations”, IEEE, Jun. 1997, pp. 64-73.*
Bohlen, M.H. et al., “Point-Versus Interval-Based Temporal Data Models”, Proceedings of 14thInternational Conference on Data Engineering, Feb. 23-27, 1998, pp. 192-200.*
Dean, Thomas, “Using Temporal Hierarchies to Efficiently Maintain Large Temporal Databases”, Journal of the Association for Computing Machinery, vol. 36, No. 4, Oct. 1989, pp. 687-718.*
Delcambre, Lois et al., “Object-Centered Constraints”, Proceedings of Seventh International Conference on Data Engineering, Apr. 8-12, 1991, pp. 368-377.*
Wuu, Gene et al., “A Uniform Model for Temporal Object-Oriented Databases”, Proceedings of Eighth International Conference on Data Engineering, Feb. 2-3, 1992, pp. 584-593.*
Elmasri, R.A. and S.B. Navathe, Fundamental

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for producing sequenced queries does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for producing sequenced queries, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for producing sequenced queries will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2581858

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.