×

Relational database management system and method for storing, retrieving and modifying directed graph data structures

  • US 5,201,046 A
  • Filed: 06/22/1990
  • Issued: 04/06/1993
  • Est. Priority Date: 06/22/1990
  • Status: Expired due to Term
First Claim
Patent Images

1. A computer system for storing, retrieving and modifying data stored in a database, comprising:

  • a database server; and

    a multiplicity of application processes coupled to said database server, each application process including;

    an application program that utilizes directed graph data structures in a corresponding application specific data format;

    each said directed graph data structure including one or more records of data interconnected by pointers, each record composed of one or more data elements having respective specified data types;

    an application interface that translates directed graph data structures in said application specific data format into a predefined intermediate data format and translates directed graph data structures in said predefined intermediate data a format into said application specific data format; and

    query generating means for generating and sending queries to said database server for storing, retrieving and updating specified directed graph data structures in said database;

    said database server including;

    schema defining means for defining a distinct schema for each of a plurality of tables in said database, each said database table having a plurality of rows and a specified number of columns, wherein each row of said table stores data values in each of said columns of said table;

    said schema denoting a data type for each column of data values stored in said table, each denoted data type being selected from a set of predefined data types including a reference data type;

    each non-empty data value stored in a reference data type column comprising a reference to a row of one of said tables in said database; and

    directed graph storage means for storing and retrieving specified directed graph data structures in and from specified tables in said database in accordance with queries received from said application processes;

    said directed graph storage means including;

    graph storing means for receiving a data storage query that includes a specified directed graph data structure in said predefined intermediate data format and for storing each record of said received directed graph data structure in a distinct row of a respective one of said tables in said database, said graph storing means including means for storing said data elements of said each record in corresponding columns of said one respective table and means for storing references, each reference corresponding to one of said pointers that interconnect said each record to other records of said specified directed graph data structure, in corresponding ones of said reference data type columns of said one respective table; and

    directed graph retrieving means for retrieving a specified directed graph data structure from said database in accordance with a single specified query received from one of said application processes, including means for retrieving in accordance with said specified query at least one specified row from at least one respective table in said database and then retrieving additional rows of data from respective tables in said database, said additional rows of data comprising rows of data that are referenced by references in other rows of data retrieved in accordance with said specified query, for converting said retrieved rows of data into a directed graph data structure in said predefined intermediate data format, and for transmitting said retrieved directed graph data structure to said one application process;

    whereby a directed graph data structure having multiple records is retrieved by said database server in response to a single query from said one application process.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×