Claims Analysis
Total Claims: 7
Claim 1
Independent Claim
142 words
An improvement in a data base management system of the type requiring user specified selection criteria in association with corresponding program communication blocks (PCBs) selection in order to access information in the data base, said improvement being a method for simplifying the user's query task, comprising the steps of: constructing a set of entry data bases from definitions of said data bases and PCBs, said entry data bases each consisting of a single hierarchical structure that shows every physical and logical path accessible from one physical root segment with duplicate logical and physical paths being consolidated, displaying said entry data bases to the query user as a menu from which segments, fields and PCBs can be selected, evaluating all possible access paths to the segments to be retrieved in the user query, and selecting the optimum access path according to weighted priorities.
Claim 2
Dependent Claim
142 words
An improvement in a data base management system of the type requiring user specified selection criteria in association with corresponding program communication blocks (PCBs) selection in order to access information in the data base, said improvement being a method for simplifying the user's query task, comprising the steps of: constructing a set of entry data bases from definitions of said data bases and PCBs, said entry data bases each consisting of a single hierarchical structure that shows every physical and logical path accessible from one physical root segment with duplicate logical and physical paths being consolidated, displaying said entry data bases to the query user as a menu from which segments, fields and PCBs can be selected, evaluating all possible access paths to the segments to be retrieved in the user query, and selecting the optimum access path according to weighted priorities.
Claim 3
Dependent Claim
120 words
The improvement recited in claim 1 wherein the step of constructing entry data bases comprises the steps of: reading the physical and logical data base descriptions (DBDs) and the PCB source statements that refer to said data base including secondary indexes, setting up one entry data base per physical DBD, locating the physical source entry data base for each logical DBD, finding the entry data base and segments to which each PCB source statement refers, eliminating those segments referenced by no PCBs and those entry data bases containing no referenced segments, and producing a set of field cross-reference members for a data directory, each member showing every entry data base, segment and PCB by which the field can be found.
Claim 4
Dependent Claim
52 words
The improvement recited in claim 1 wherein the step of evaluating comprises the steps of: identifying the candidate paths as all possible access paths for each segment selected by the user, and eliminating all candidate paths except for those that are either congruent or opposite to a path identified by the user.
Claim 5
Dependent Claim
73 words
The improvement recited in claim 3 wherein the step of selecting comprises the steps of assigning a weight to each candidate path depending on the following factors in succession: whether it uses a primary physical key, a primary logical key, or a secondary index, and is congruent, and summing the weights accorded to the candidate paths with the program specification block comprising one or more PCBs having the highest weighted sum being chose.
Claim 6
Dependent Claim
20 words
The improvement recited in claim 4 wherein the weights assigned decrease by powers of two for each factor in succession.
Claim 7
Dependent Claim
164 words
The improvement recited in claim 4 wherein the step of selecting further comprises the steps of: performing a consistency check to ensure that any paths identified as overlapping still overlap with a chosen PSB, rejecting the chosen PSB and taking the next if an overlap is not found and then for each candidate path determining the best congruent path and the single best opposite (if any) path, if the query, as defined by the user, does not require counting, totaling or other accumulating that depends on the hierarchical order of segments in an identified path, and if that path overlaps no other in the query, retrieving a high priority opposite path when available instead of the identified path, but if one or both of these conditions is false and a high priority opposite path is available, retrieving said high priority opposite path to obtain root keys of the identified path so that those occurrences that can possibly satisfy the selection criteria can be retrieved.