An associative file design method and apparatus are used for automatically generating an integrated data base design structure, with minimal data redundancy, for use in multi-application general purpose digital computing systems. The integrated data base design structure is automatically produced by a programmed digital computer in the form of a report or graph structure which permits the data base designer to design a data base system with minimal data redundancy. The data needed by each application program, i.e., the local data view, is specified with certain constructs. The local data views are checked to ensure that specified rules are followed. The collection of local views is processed on a general purpose digital computer to separate "keys" from "attributes," then to determine "implied" and "essential" associations, and finally to generate the integrated data base graph structure.
A method for improving the performance of application programs which run under a disk operating system (DOS) is disclosed. The problem addressed is that of poor application performance caused by repetitive disk accesses when using large batch files. This problem is alleviated by using a batch file memory buffer of variable size, processing the most frequently used DOS/BATCH commands internally, and passing low usage commands to DOS by using a secondary command processor.
An improved database management system (DBMS) stores, retrieves and manipulates directed graph data structures in a relational database. Each directed graph data structure contains one or more records of data which are interconnected by pointers. Data is stored in the database in the form of two dimensional tables, also known as flat files. The improved DBMS defines a schema for each table in the database. The schema defines the name and data type of each column in a database table. In tables used to store directed graph data structures, at least one column will be defined as having a reference data type. Non-empty entries in that column are pointers to rows in a specified table. Directed graph data structures are stored in specified tables by storing each record of the directed graph in a distinct row of one of the specified tables, with references corresponding to interconnections between records being stored in reference data type columns. Portions of a directed graph are retrieved from the specified table, in accordance with a single specified query and then the query is automatically expanded by also retrieving additional portions of the tables which are referenced by the previously retrieved portions, thereby performing a transitive closure. The retrieved data is stored in a buffer as a list of rows, and then communicated to an application process. An interface program converts the list of rows stored in the buffer into a directed graph data structure.
A data base management system according to the invention stores, retrieves, and modifies data records within a digital computer data base, permitting access to related data records through partnerships joining record pairs. Partnership sets are employed to relate data records on a one-to-one, one-to-many, and a many-to-many basis. The invention facilitates the modelling of real world structures and events in a data base whose logical representation closely depicts those structures and events.
Design of indexes in a relational database management system is based on a workload analysis of all requests in a system. Each request is assigned a value of importance, and requests are broken into expressions, contexts and columns to facilitate identification of candidate indexes. Candidate indexes are compared to existing indexes to determine whether the existing indexes can be reused or modified. Candidate indexes are classified as hashed or sorted. Based on the index design, record placement is selected to be hashed, sorted or by default. Related indexes and tables are clustered and the clusters are sized to fit file areas. Cache buffers are also defined.
A method and apparatus for aligning a restored parent environment to its child environments with minimal data loss is disclosed. The method and apparatus achieve the alignment by re-executing the transactions affecting the objects in the child environments and the revisions of the objects in the parent environment in their order of execution, thereby, allowing the restored parent to further recover loss data from its child environments. The transactions are enhanced to facilitate collection of information regarding the transactions during normal operation, and to adjust their actions during their re-execution based on the information collected. As a result of further data recovery by the restored parent environment, alignment may be achieved with substantially less data loss.