Apparatus used in a relational data base system to maintain a dependence between a user-defined field in a row of one base table and the state of a set of rows in another base table. There are three kinds of dependent fields: a count field which contains a count of the rows in the set, a sum field which is the sum of a field in the rows of the set, and a base copy down field, which is a field in the rows of the set which contains a copy of a value in a field in the row of the one base table. The two base tables make up a referenced-referencing pair and the row from the one table has a primary key which is used as a foreign key in the set of rows of the other base table. The apparatus consists of components in the data dictionary which define the user-defined dependent field and the nature of the dependence, including any conditions thereon, and components in the data base system's run time system for maintaining the dependence. Each time the state of a row in the referencing base table is altered, the run time system uses the data dictionary to determine whether there is a user-defined dependent field, and if there is, what kind of dependent field it is. Code in the run time system then reestablishes the dependence as required for the altered row.
A parallel processing system is provided which traverses logical records of an events or transactional database contained in two or more physical files in accordance with one or more view definitions specified by the user. Each view definition includes a set of processing parameters and may reference one or more of the physical files. The one or more view definitions are transformed into entries of a logic table, the logic table including a plurality of sets, each set corresponding to a respective physical file and containing entries corresponding to the view definitions which reference its respective physical file. Each set of the logic table is transformed into machine code instructions for a separate thread of the parallel processing system. Each thread operates on its respective physical file in parallel with one or more of the other threads to traverse the physical file, to retrieve information based upon the view definitions corresponding to the thread, and to store the retrieved information in extract files designated by the view definitions in formats designated by the view definitions.
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.
An object access system for retrieving objects in response to requests identifying requested objects, the system comprising an access structure consisting of a plurality of tables where each table is identified by a unique table identifier and has a plurality of rows where each row has a plurality of fields and is identified by a unique primary key in one of the fields and where a field may also contain objects; a row index for each table, each row index having entries ordered on the primary key of the rows in the table where each entry points to a row of fields in the table; a table index ordered on the table identifier for the tables, the table index having an entry for each table which point to the row index for that table and access means, responsive to requests for an object having an associated table identifier and primary key, for searching the table index for the requested table identifier and for retrieving from the table index entry for the requested table identifier the pointer to the row index for the requested table identifier, searching the pointed to row index for the requested primary key and retrieving from the row index entry for the requested primary key the pointer to the row of fields and searching the pointed to row of field for the requested object and retrieving the requested object.
The present invention provides a computer implemented method and apparatus for storing and retrieving data in a database management system (DBMS) in multiple languages, simultaneously, using a fully-populated Sub-Table. In one embodiment, the method and apparatus include generating a Base Table and a Translation Sub-Table. The Base Table includes base rows, each having a primary key and zero or more untranslatable values, exclusive of translatable data values. The Translation Sub-Table includes sets of sub-table rows, wherein each set of sub-table rows corresponds to a base row in the Base Table. In each set of sub-table rows, a sub-table row is provided for each operational language having at least one translatable data value corresponding to the primary key of the respective base row.
The invention relates to a method for monitoring the load situation in a service database system. The system generates a list which includes a desired number of measurement objects which are largest in respect to counter values. In order to obtain measurement data more efficiently in real-time, (a) the recording and zeroing of counter values is performed during each recording interval one measurement object at a time, (b) list is generated by the recording interval so that it is checked within a recording interval during the processing of each individual object whether the counter value of the object in question is greater than that of the object with the smallest counter value included in the list at the time and if this is the case, the object with the smallest counter value included in the list is replaced with the object corresponding to the row in question.