Methods and system for storing and accessing embedded information in object-relational databases
First Claim
1. A method for storing and accessing information in an object-relational database stored in a computer system, the object-relational database comprising one or more tables, the tables each having a table name and comprising one or more rows of information, the method comprising the computer-implemented steps of:
- storing a plurality of data elements in a row of information, the row comprising one or more columns, the columns each having a column name, at least one of the columns being an embedded-data column for storing a plurality of the data elements;
receiving a database command for accessing a selected data element, the database command comprising a selected table name and an extension corresponding to a selected column name representing the embedded-data column; and
in response to receiving the database command, accessing a table represented by the selected table name;
in response to accessing the table, accessing the embedded-data column represented by the selected column name; and
in response to accessing the embedded-data column, accessing the selected data element,whereby a plurality of data elements may be stored in the embedded-data column and, by way of the extension to the database command, may subsequently be accessed from the embedded-data column as if the embedded-data column were a separate table.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and computer-implemented methods for accessing and storing information embedded in a column of a database row, especially useful for complex data, that is, data which is logically multi-valued or hierarchical. Embedded data is not stored in a separate table but is stored directly in a complex column comprising embedded data a subtables. A row of data is physically stored in a tagged, variable-length object-relational format, which allows the data to be stored as atomic data values or embedded as collections of data values, data structures, or collections of data structures. The structures can have further levels of embedding, i.e. more collections and/or structures. Embedded data may further include typed data embedded in multiple tables and columns. The query language for accessing the data includes a series of extensions that provide additional access paths to the data. Searches can access data within tables and sub-tables, and can access data by user defined type (UDT) in a single table or across multiple tables.
-
Citations
39 Claims
-
1. A method for storing and accessing information in an object-relational database stored in a computer system, the object-relational database comprising one or more tables, the tables each having a table name and comprising one or more rows of information, the method comprising the computer-implemented steps of:
-
storing a plurality of data elements in a row of information, the row comprising one or more columns, the columns each having a column name, at least one of the columns being an embedded-data column for storing a plurality of the data elements; receiving a database command for accessing a selected data element, the database command comprising a selected table name and an extension corresponding to a selected column name representing the embedded-data column; and in response to receiving the database command, accessing a table represented by the selected table name; in response to accessing the table, accessing the embedded-data column represented by the selected column name; and in response to accessing the embedded-data column, accessing the selected data element, whereby a plurality of data elements may be stored in the embedded-data column and, by way of the extension to the database command, may subsequently be accessed from the embedded-data column as if the embedded-data column were a separate table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for accessing a selected data element stored in an object-relational database stored in a computer system, the object-relational database comprising one or more tables, the tables each having a table name and comprising one or more rows of information, the rows of information each having a row identifier and comprising one or more columns, the columns each having a column name and comprising embedded-data elements or atomic data elements, the method comprising the computer-implemented steps of:
-
receiving a database command for accessing a selected data element, the command comprising at least a table name and an extension corresponding to a column name, the column name representing an embedded-data column for storing embedded data elements; in response to receiving the database command, accessing a table represented by the table name; in response to accessing the table, accessing the embedded-data column represented by the column name in the database command; and in response to accessing the embedded-data column, accessing the selected data element. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method for storing and accessing a user defined type of data (UDT) in an object-relational database stored in a computer system, the object-relational database comprising one or more tables, the tables each comprising a table name and one or more rows, the rows each comprising one or more embedded data columns, the embedded data columns each having a type name and comprising a plurality of data elements, the method comprising the steps of:
-
storing a UDT in one or more selected tables, the UDT being stored in an embedded-data column in each of the selected tables, a UDT-name being the type name for the embedded-data column in each of the selected tables; receiving a database command for accessing a selected data element, the database command comprising at least the UDT name; in response to receiving the database command, searching every table in the object-relational database to identify the selected tables storing the UDT; in response to identifying the selected tables, accessing each of the selected tables to identify an associated type name associated with the UDT name; in each of the selected tables, in response to identifying the associated type name, accessing the embedded-data column corresponding to the UDT name; and in each of the selected tables, in response to accessing the embedded data column, accessing the selected data element, whereby a UDT may be stored in selected tables in the object-relational database and subsequently accessed without specifying the table names for the selected tables in the database command. - View Dependent Claims (33, 34, 35, 36, 37)
-
-
38. A system for storing and accessing information in an object-relational database, the object-relational database comprising one or more tables, the tables each having a table name and comprising one or more rows of information, the rows of information each comprising one or more columns of data elements, the system comprising:
-
a memory device for storing a plurality of data elements in a row of information, the row comprising a plurality of columns, the columns each having a column name and comprising at least one of the data elements; a dictionary comprising table names and column names; a processor (CPU) for receiving a database command for accessing a selected data element, the database command comprising a selected table name and an extension corresponding to a selected column name, the selected column name corresponding to an embedded-data column, the embedded-data column being one of the columns operative for storing a plurality of the data elements; and in response to receiving the database command, the processor being operative to; access the dictionary to associate the selected column name and the selected table name with a corresponding table and a corresponding embedded-data column, access the corresponding table corresponding to the selected table name, in response to accessing the corresponding table, accessing the embedded-data column corresponding to the selected column name, in response to accessing the embedded-data column, accessing the selected data element, whereby a plurality of data elements may be stored in a single embedded-data column of an object relational database and, by way of an extension to a database command, may subsequently be accessed from the embedded data column as if the embedded-data column were a table.
-
-
39. A system for storing and accessing a user defined type of data (UDT) in an object-relational database stored in a computer system, the object-relational database comprising one or more tables, the tables each comprising a table name and one or more rows, the rows each comprising one or more embedded data columns, the embedded data columns each having an column name and comprising a plurality of data elements, the system comprising:
-
a memory device for storing a UDT in one or more selected tables, the UDT being stored in an embedded-data column in each of the selected tables, a UDT-name being the type name for the embedded-data column in each of the selected tables; a dictionary comprising type names and table names; a processor for receiving a database command for accessing a selected data element, the database command comprising at least the UDT name; and in response to receiving the database command, the processor being operative to; access the dictionary to identify the selected tables storing the UDT, in response to identifying the selected tables, access each of the selected tables to identify an associated type name associated with the UDT name, in each of the selected tables, in response to identifying the associated type name, access the embedded-data column corresponding to the UDT name, and in each of the selected tables, in response to accessing the embedded data column, access the selected data element, whereby a UDT may be stored in selected tables in the object-relational database and subsequently accessed without specifying the table names for the selected tables in the database command.
-
Specification