WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Retrieval of related records from a relational database    
United States Patent4805099   
Link to this pagehttp://www.wikipatents.com/4805099.html
Inventor(s)Huber; Val J. (Chelmsford, MA)
AbstractIn the maintenance of a stored relational database, signals representing record occurrences related to a record occurrence of a starting relation are retrieved. Stored relationship attribute signals, including specification of a common relationship field, are used to generate a generic cursor defined against the destination relation record occurence is selected, values of the specified relation; the generic cursor is stored, and when a starting field are copied from it to the generic cursor to form a completed cursor. Destination relation record occurrence signals defined by the completed cursor are accessed and stored. Retrieval can be carried out interactively, allowing an operator to select from a display the starting relation record occurrence and the operation of retrieving the related occurrences, and to view representations of the stored destination record occurrences.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 4805099
Retrieval of related records from a relational database - US Patent 4805099 Drawing
Retrieval of related records from a relational database
Inventor     Huber; Val J. (Chelmsford, MA)
Owner/Assignee     Wang Laboratories, Inc. (Lowell, MA)
Patent assignment
All assignments
Publication Date     February 14, 1989
Application Number     07/172,992
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     March 21, 1988
US Classification     707/102
Int'l Classification     G06F 015/40
Examiner     Shaw; Gareth D.
Assistant Examiner     Kriess; Kevin A.
Attorney/Law Firm     Shanahan; Michael H.
Address
Parent Case     This is a continuation of co-pending application Ser. No. 07/040,705 filed on 04/17,87, now abandoned, which is a continuation of Ser. No. 06/691,036 filed on 01/11/85, now abandoned.
Priority Data    
USPTO Field of Search     364/200 MS File 364/900 MS File 364/300
Patent Tags     retrieval related records relational database
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4648044
Hardy
706/60
Mar,1987

[0 after 0 votes]
4644471
Kojima
707/3
Feb,1987

[0 after 0 votes]
4642762
Fisanick
707/3
Feb,1987

[0 after 0 votes]
4631664
Bachman
707/100
Dec,1986

[0 after 0 votes]
4613946
Forman
715/853
Sep,1986

[0 after 0 votes]
4611298
Schuldt
707/1
Sep,1986

[0 after 0 votes]
4570217
Allen
700/83
Feb,1986

[0 after 0 votes]
4543630
Neches
709/252
Sep,1985

[0 after 0 votes]
4514826
Iwata
707/7
Apr,1985

[0 after 0 votes]
4506326
Shaw
707/4
Mar,1985

[0 after 0 votes]
4498145
Baker
707/202
Feb,1985

[0 after 0 votes]
4497039
Kitakami
707/2
Jan,1985

[0 after 0 votes]
4479196
Ferrer
707/100
Oct,1984

[0 after 0 votes]
4476528
Matsumoto
707/1
Oct,1984

[0 after 0 votes]
4468728
Wang
707/1
Aug,1984

[0 after 0 votes]
4384325
Slechta, Jr.
707/3
May,1983

[0 after 0 votes]
4382277
Glaser
707/5
May,1983

[0 after 0 votes]
4205371
Feather
707/101
May,1980

[0 after 0 votes]
4186438
Benson
711/113
Jan,1980

[0 after 0 votes]
4068298
Dechant
707/3
Jan,1978

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A data processing system having: input means providing input signals; a visual display; storage means providing working storage and database storage; and a processor having means for controlling said visual display, means for reading and writing said storage means, means for responding to said input signals, and access means for retrieving record occurrence signals from said database storage and for storing retrieved record occurrence signals in said working storage,

characterized in having

means in said working storage for providing format signals representative of a predefined display format data structure

means in said database storage for providing description signal representative of a description data structure describing a data dictionary for describing the elements of a relational database, said description data structure being modeled as relations in a relational database, and

interactive and nonprocedural data dictionary defining means for

controlling said display to display elements comprising representations of record occurrences retrieved from said description data structure signals and representations of selectable operations, in a format derived from said display format data structure signals,

accepting from said input means, input signals representing element enumeration, characters, and operation selection, and

allocating storage within said database storage and placing therein signals representative of a data dictionary data structure responsive to said description data structure and to said input signals,

said data dictionary data structure being modeled as relations in a relational database and being descriptive of a particular other relational database.

2. The data processing system of claim 1, further characterized in having

means in said working storage for providing cursor signals representative of a cursor defined against a target comprising at least one of said relations in said description data structure,

said data dictionary defining means comprising

relational operator means for providing signals representative of a result relation, membership in said result relation being defined enumeratively and interactively through said input means, said operator means comprising:

cursor acceptance means for accepting from said working storage said cursor signals, said system access means being responsive to signals from said cursor acceptance means to retrieve from said target description data structure record occurrence signals specified by said cursor;

screen image defining means for accepting from said working storage said format signals, and for defining and storing in said working storage screen image signals representative of a screen image, responsive to said format signals and to said stored retrieved record occurrence signals,

said processor being responsive to said operator means to control said display to display a representation of said stored screen image signals, and to modify said stored screen image signals corresponding to enumerating signals from said input means, input during such display, effecting enumeration of certain of said retrieved record occurrences,

said operator means further comprising means for deriving from said modified screen image signals together with said cursor signals, output signals defining a result relation, membership in which is defined enumeratively, and for storing said output signals in said working storage.

3. The data processing system of claim 2, further characterized in that

said operator screen image defining means is further responsive to said predefined display format signals to define in said screen image representations of a plurality of selectable operations executable by said processor,

said processor being responsive to said operator means to accept, during such display, said operation selection signal input from said input means, effecting selection of one of said defined plurality of operations, said processor storing said operation selection signals,

said operator means further providing means responsive to said stored operation selection signals for providing and storing an output signal representative of said selection operation.

4. A data processing system having: input means providing input signals; a visual display; storage means providing working storage and database storage; and a processor having means for controlling said visual display, means for reading and writing said storage means, means for responding to said input signals, and access means for retrieving record occurrence signals from said database storage and for storing retrieved record occurrence signals in said working storage,

characterized in having

means in said working storage for providing format signals representative of a predefined display format data structure and a predefined archetype display format data structure,

means in said database storage for providing data dictionary signals representative of a data dictionary describing the elements of a particular relational database, said data dictionary being modeled as relations in a relational database,

interactive and nonprocedural screen-file defining means for

controlling said display to display elements comprising representations of record occurrences retrieved from said data dictionary signals and representations of selectable operations, in a format derived from said display format data structure signals,

accepting from said input means, input signals representing element enumeration, characters, and operation selection, and

allocating storage within said working storage and placing therein signals representative of a screen-file data structure responsive to said data dictionary signals, said archetype display format signals, and said input signals,

said screen-file data structure comprising predefined format signals representative of formats for the display of record occurrences retrieved from the particular relational database.

5. A data processing system having: input means providing input signals; a visual display; storage means providing working storage and database storage; and a processor having means for controlling said visual display, means for reading and writing said storage means, means for responding to said input signals, and access means for retrieving record occurrence signals from said database storage and for storing retrieved record occurrence signals in said working storage,

characterized in having

means in said working storage for providing format signals representative of a predefined definition display format data structure, a predefined builder display format data structure, and a predefined archetype display format data structure,

means in said database storage for providing description signals representative of a description data structure describing a data dictionary for describing the elements of a relational database, said description data structure being modeled as relations in a relational database, and

interactive and nonprocedural data dictionary defining means for

controlling said display to display elements comprising representations of record occurrences retrieved from said description data structure signals and representations of selectable operations, in a format derived from said definition format data structure signals,

accepting from said input means, input signals representing element enumeration, characters, and operation selection, and

allocating storage within said database storage and placing therein signals representative of a data dictionary data structure responsive to said description data structure and to said input signals, said data dictionary data structure being modeled as relations in a relational database, and being descriptive of a particular other relational database,

said system further having interactive and nonprocedural screen-file defining means for

controlling said display to display elements comprising representations of record occurrences retrieved from said data dictionary signals and representations of selectable operations, in a format derived from said builder display format data structure signals,

accepting from said input means, further input signals representing element enumeration, characters, and operation selection, and

allocating storage within said working storage and placing therein signals representative of a screen-file data structure responsive to said data dictionary signals, said archetype display format signals, and said further input signals,

said screen-file data structure comprising predefined format signals representative of formats for the display of record occurrences retrieved from the particular other relational database.

6. The data processing system of claim 4, further characterized in having

means in said working storage for providing cursor signal representative of a cursor defined against a target comprising at least one of said relations in said data dictionary data structure,

said screen-file defining means comprising

relational operator means for providing signals representative of a result relation, membership in said result relation being defined enumeratively and interactively through said input means, said operator means comprising:

cursor acceptance means for accepting from said working storage said cursor signals, said system access means being responsive from said target description data structure record occurrence signals specified by said cursor;

screen image defining means for accepting from said working storage said format signals, and for defining and storing in said working storage screen image signals representative of a screen image, responsive to said format signals and to said stored retrieved record occurrence signals,

said processor being responsive to said operator means to control said display to display a representation of said stored screen image signals, and to modify said stored screen image signals corresponding to enumerating signals from said input means, input during such display, effecting enumeration of certain of said retrieved record occurrences,

said operator means further comprising means for deriving from said modified screen image signal together with said cursor signals, output signals defining a result relation, membership in which is defined enumeratively, and for storing said output signals in said working storage.

7. The data processing system of claim 6, further characterized in that

said operator screen image defining means is further responsive to said predefined display format signals to define in said screen image representations of a plurality of selectable operations by said processor,

said processor being responsive to said operator means to accept, during such display, said operation selection signals input from said input means, effecting selection of one of said defined plurality of operations, said processor storing said operation selection signals,

said operator means further providing means responsive to said stored operation selection signals for providing and storing an output signal representative of said selection operation.

8. In a data processing system having: input means providing input signals; a visual display; storage means providing working storage and database storage, said database storage providing signals representative of the record occurrences comprising a particular relational database; and a processor having means for controlling said visual display, means for reading and writing said storage means, means for responding to said input signals, and access means for retrieving record occurrence signals from said database storage and for storing retrieved record occurrence signals in said working storage,

interactive and nonprocedural means for maintaining said particular relational database, comprising

means in said working storage for providing signals representative of a screen-file data structure comprising predefined format signals representative of formats for the display of record occurrences retrieved from the particular relational database, and for providing cursor signals representative of a cursor defined against a target comprising at least one of said relations in said particular relational database, and

relational operator means for providing signals representative of a result relation, membership in said result relation being defined enumeratively and interactively through said input means, said operator means comprising:

cursor acceptance means for accepting from said working storage said cursor signals, said system access means being responsive to signals from said cursor acceptance means to retrieve from said target description data structure record occurrence signals specified by said cursor;

screen image defining means for accepting from said working storage said format siginals, and for defining and storing in said working storage screen image signals representative of a screen image, responsive to said format signals and to said stored retrieved record occurrence signals,

said processor being responsive to said operator means to control said display to display a representation of said stored screen image signals, and to modify said stored screen image signals corresponding to enumerating signals from said input means, input during such display, effecting enumeration of certain of said retrieved record occurrences,

said operator means further comprising means for deriving from said modified screen image signals together with said cursor signals, output signals defining a result relation, membership in which is defined enumeratively, and for storing said output signals in said working storage.
 Description Submit all comments and votes
 


This application is filed with a microfiche appendix comprising 9 fiche and 439 frames.

My invention relates to the operation of data processing systems, in particular to the management of relational databases stored in the memory of such systems. The invention further relates to means to facilitate the interactive use and updating of such databases.

BACKGROUND OF THE INVENTION

The invention is employed in a data processing system, having one or more terminals or consoles which provide display means and keyboard signal input means, and providing in storage physical records modeled as at least one relational database.

Among the individual ultimate users of the data processing system and database records are some users, such as clerks and managers, who are not programmers. Such users wish to be able to use the system terminals to view displayed representations of the records stored in the data processing system memory, to select specific records or parts of records to view, to delete or modify physical records in the memory, or to add new physical records to the memory. For these purposes the physical records must be selected, accessed in the physical storage, and retrieved (copied), and representations of the retrieved records must be displayed to the user at one of the terminals in some predetermined display format.

To permit this use of the stored database records, there must be provided in the data processing system stored coded instructions which when executed by the data processing system cause representations of the physical records, as well as representations of signals input by the user through the keyboard, to be displayed in a particular format on the display. Further, there must be provided stored coded instructions which when executed by the data processing system cause the interpretation of the signals input by the user through the keyboard, and which cause the retrieval and modification of the physical records of the stored database in response to such input signals.

Such instructions, designed for a particular use of the records of a particular database, together comprise one of a class of programs known as "database applications programs", that is, programs used by the ultimate user of the data processing system to carry out the application desired by him on the stored physical records of a particular database.

The preparation of such applications programs has typically required weeks or months of effort by an applications programmer, followed by additional weeks to detect and eliminate errors in the program so that it becomes reliable and relatively error-free in use.

It is therefore desirable to provide means for simplifying the construction and operation of such database applications programs, and it is an object of my invention to provide such means.

As is well understood in the art, the user (or programmer) of a data processing system does not deal directly with the physical records stored in the system's memory. Rather, he deals with a model of such records, provided when needed by means of programming stored in the system's memory and executed by the processor as needed.

Referring to FIG. 2, the physical records are stored on physical media, advantageously as magnetic signals stored on magnetic disks 24 comprising secondary memory 16. The magnetic signals are physically organized on disks 24 in a manner well understood in the art of managing such memory media. The particular organization of such signals, and the particular means of locating them and copying them into main memory 14, are highly dependent on the hardware aspects of the particular memory media employed.

Several models of the records are provided, having different degrees of abstraction from the underlying stored physical records. Briefly, these are (referring to FIG. 2): the "external" view (26 or 28), in which "external" or "logical" records are seen by a particular user; the "conceptual view" (30), in which "conceptual" records are seen, each external view being a subset of the conceptual view; and the "internal" view (32) in which "internal" or "stored" records are seen.

It will be recognized that, when the data processing system operates to construct and present for use the records of each view shown in FIG. 2, these records are at that time (during such use) represented within the data processing system by physical signals derived from the magnetic signals stored on disks 24. When such use is concluded, the constructed records are no longer physically represented within system 10. In contrast, the underlying physical records stored on disks 24 remain on the disks at all times, whether or not they are in use, until deleted or modified.

The signals representing the records as seen in the various views 26, 28, 30, and 32 are derived from the physical records stored on media 24 by the data processing system, by means of the operation of a database management system, in other words by the execution of a suitable stored program by processor 12. As seen in the conceptual showing of FIG. 3, the physical records on media 24 are physically written, copied, and deleted by the data processing system under the control of a program element known as an access method, in a manner well understood in the art, and forming no part of the present invention. The access method is regarded as presenting to the database management system "stored" or "internal" records corresponding to and derived from the physical records.

The "internal" view is not seen by the user of the database (although it may be known to a programmer using the system). Processor 12, operating according to other portions of the database management system program, constructs from the stored or internal records the records of the conceptual view and its subsets, the external views. The definitions of the conceptual records are independent of the storage structure or the strategy employed by the access method for efficiently locating and retrieving the physical records.

Records in a database may be related to other records in the database, and the relationship is of interest to the user of the database. The relationship is itself represented as an entity in the database.

It is well understood in the database management art that the conceptual records of a database, and the relationships among them, may be organized or modeled in one of three possible ways, known as relational, hierarchical, and network models.

The present invention relates to the management of the records of a database modeled as a relational database.

The records of a relational database are conceptually organized as tables (also referred to as "relations". Referring to FIG. 4, a table (relation) of a relational database comprises a plurality of rows; each row is a record (or tuple) comprising a plurality of fields. All rows of a particular table have the same number of fields. The fields of the records are arranged in columns; a column is also referred to as an attribute. The elements of a column are all members of a class of such elements, referred to as a domain, and the column is named by a column heading (domain name). Each record includes one or more fields whose content is an index or key, to be used in uniquely identifying the record.

A crucial feature of relational data structure is that associations between rows (tuples) are represented solely by data values in columns drawn from a common domain, rather than in terms of the physical location on disk of the related records.

Relational databases have various advantages over the two alternative models. Generally speaking, while hierarchical and network databases are organized to make it efficient to deal with one record at a time and to obtain a single related record at a time, relational databases are organized to make it efficient to deal with a set of records at a time and to obtain a set of related records at a time.

It is an important aspect of the relational model that the tables (relations), if they conform with certain constraints, may be considered as mathematical elements, also called relations, as to which a rigorous mathematical treatment already exists. Hence, operations on the tables can be analyzed in terms of this mathematical theory, an advantage in clearly understanding the effects of such operations. In particular, representing the data in the form of uniformly defined sets makes possible a corresponding uniformity in the set of operators which transform the sets, which simplifies the task of providing program elements for controlling a data processing system to transform such sets. It is an object of my invention to extend this advantage to aspects of database maintenance where it has not previously been provided, by providing an enumerated relation.

A crucial feature of relational data structure is that associations between rows (tuples) are represented solely by data values in columns drawn from a common domain, rather than in terms of the physical location on disk of the related records.

Relational databases have various advantages over the two alternative models. Generally speaking, while hierarchical and network databases are organized to make it efficient to deal with one record at a time and to obtain a single related record at a time, relational databases are organized to make it efficient to deal with a set of records at a time and to obtain a set of related records at a time.

It is an important aspect of the relational model that the tables (relations), if they conform with certain constraints, may be considered as mathematical elements, also called relations, as to which a rigorous mathematical treatment already exists. Hence, operations on the tables can be analyzed in terms of this mathematical theory, an advantage in clearly understanding the effects of such operations. In particular, representing the data in the form of uniformly defined sets makes possible a corresponding uniformity in the set of operators which transform the sets, which simplifies the task of providing program elements for controlling a data processing system to transform such sets. It is an object of my invention to extend this advantage to aspects of database maintenance where it has not previously been provided, by providing an enumerated relation.

There may be (and typically are) many databases stored in the data processing system, containing physical records representing information of various kinds. For example, there may be a personnel database containing information on employees, such as their names, departments, salaries, skills, employment history, and the like, with related information about the departments in which the employees work. There may be a sales database containing information about the company's customers and their orders to the company, with dates, prices, and payment history; there may be a procurement database containing information about the company's suppliers and the items supplied by them, with quantities and information about their use in products.

For each such database, there may be several distinct users; each user may be concerned with only a portion of the information in the particular database.

Generally speaking, several distinct application programs must be provided to enable such users to access and use each database. Each additional database generally requires a further plurality of distinct application programs. Creation of an application program typically requires weeks or months of effort by a professional applications programmer, followed by additional weeks to detect and eliminate errors in the program so that it becomes reliable and relatively error-free in use.

It will be evident that the provision of the applications programs is a significant element in the cost of maintaining a database. It would therefore be desirable to provide means for creating such programs in a simple, rapid and inexpensive manner.

Furthermore, when such programs are created by professional programmers who will not themselves be the ultimate users of the program and the database, frequently the programmers have an imperfect understanding of the purposes of the ultimate users, and the resultant application program is not as well suited to the users' needs as could be wished. It would be desirable to permit the users themselves to create the application program, which could then be closely fitted to their purposes. Since most such users are not programmers, this has not hitherto been easy to accomplish.

A particularly burdensome and time-consuming aspect of the creation of such application programs has been the provision of means permitting the user of the database to make a transition from viewing members of a particular set of record occurrences to viewing members of a related set of record occurrences. (The nature of the relationship is explained in more detail herein.) This transition is one which is frequently desired in an application program. It would be desirable to provide simple and economical means permitting such transitions.

It is therefore an object of my invention to provide means for creating such application programs in a simple, rapid and inexpensive manner, interactively and nonprocedurally. It is a further object to provide means for permitting the database users themselves to create the application program. It is another object to provide in such an application program simple and economical means permitting the user of the database to make a transition from viewing members of a first set of records to viewing members of a related set of records.

BRIEF DESCRIPTION OF THE INVENTION

A method of retrieving from a destination relation in a stored relational database, signals representing record occurrences related to a record occurrence of a starting relation, comprises the steps: providing, for a relationship between particular relations in the database, stored signals representing relationship attributes including a specification of a relationship field common to the particular relations; accessing, responsive to selection of a starting particular relation and a relationship in which the starting relation participates, the stored relationship attributes signals; generating, responsive to the relationship attributes, generic cursor signals representing a generic cursor defined against the other particular relation as a destination relation; storing the generic cursor signals in working storage; copying, responsive to a signal representing selection by an operator of a particular record occurrence in the starting relation and to an operation selection signal from the operator, values of the specified relationship field from the particular record occurrence to locations in the generic cursor to form a completed cursor; accessing in the stored database, responsive to the completed cursor, destination relation record occurrence signals defined by the completed cursor, and storing the accessed destination relation record occurrence signals in working storage.

In preferred embodiments, the method comprises the further step of displaying representations of the stored destination relation record occurrence signals together with representations of a plurality of selectable operations performable with respect to destination relation record occurrences.

According to another aspect of my invention, there is provided record retrieval means for retrieving from a destination relation in a stored relational database