Mechanisms for storing content and properties of hierarchically organized resources
First Claim
1. A computer-implemented method for managing data stored in a database system the method comprising the steps of:
- storing information in content structures that are separate from hierarchy structures;
storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes;
location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and
hierarchy data that indicates a position, within an information hierarchy, of each of said resources; and
wherein;
said content structures include a resource table;
said given resource is a first resource that is represented by a first row of said resource table;
location data for said first resource indicates that information in a first set of one or more tables represents content of said first resource;
said resource table includes a second row that represents a second resource;
location data for said second resource indicates that information in a second set of one or more tables represents content for said second resource; and
said first set of one or more tables are different tables than said second set of one or more tables.
2 Assignments
0 Petitions
Accused Products
Abstract
Various techniques are provided for facilitating the management of hierarchical data within a relational database system. One such technique involves separating the storage structures used to store data that captures the information about the hierarchy (the “hierarchy structures”), from the storage structures used to store the content of the resources that belong to the hierarchy (the “content structures”). Techniques are also provided for allowing users to customize the metadata attributes associated with resources that belong to the information hierarchy. One technique involves registering XML schemas that specify the metadata attributes desired by a user. Another technique involves storing attributes that do not correspond to any declared field in a “catch-all” column within the resource table. Techniques are provided for determining how to store resources as they are added to the database. According to one technique, the database server searches the data of the resource to find content-type information. If content-type information is found, then the database server consults a content-type to content-structure mapping to determine where to store the content of the resource.
-
Citations
54 Claims
-
1. A computer-implemented method for managing data stored in a database system the method comprising the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy, of each of said resources; and wherein; said content structures include a resource table; said given resource is a first resource that is represented by a first row of said resource table; location data for said first resource indicates that information in a first set of one or more tables represents content of said first resource; said resource table includes a second row that represents a second resource; location data for said second resource indicates that information in a second set of one or more tables represents content for said second resource; and said first set of one or more tables are different tables than said second set of one or more tables.
-
-
2. A computer-implemented method for managing data stored in a database system, the method comprising the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy, of each of said resources; wherein the content structures do not store data that reflects the hierarchy of information in said information hierarchy; creating said hierarchy structures after said content structures are created and populated; and after creating said hierarchy structures, populating said hierarchy structures with metadata that establishes a hierarchy between information stored in said content structures without altering the structure of said content structures.
-
-
3. A computer-implemented method for managing data stored in a database system, the method comprising the steps of
storing information in content structures that are separate from hierarchy structures; -
storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy, of each of said resources; wherein said plurality of resources are a first plurality of resources that belong to a first information hierarchy; storing metadata for a second plurality of resources in said hierarchy structures, wherein said metadata includes hierarchy data that indicates a position, within a second information hierarchy, of each of the resources in said second plurality of resources; and wherein the metadata for said first plurality of resources are stored in the same hierarchy structures as the metadata for said second plurality of resources.
-
-
4. A computer-implemented method for managing data stored in a database system the method comprising the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy, of each of said resources; and wherein; said content structures include a resource table; said given resource is a first resource that is represented by a first row of said resource table; said resource table includes a second row that represents a second resource; and the content of said second resource is stored in said second row, and not in any separate content structures.
-
-
5. A computer-implemented method for managing data stored in a database system, the method comprising the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy, of each of said resources; and wherein; a first table that has a row corresponding to each resource in the information hierarchy, wherein each row stores metadata about the resource to which the row corresponds; and a second table that identifies parent-child relationships of the resources that belong to said information hierarchy.
-
-
6. A computer-implemented method for managing data stored in a database system, the method comprising the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position within an information hierarchy of each of said resources; and automatically deleting from the hierarchical structures metadata associated with the given resource in response to detecting when content associated with the given resource is deleted from said content structures. - View Dependent Claims (8)
-
-
7. A computer-implemented method for managing data stored in a database system, the method comprising the step of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy, of each of said resources; and automatically deleting from the content structures the content of the given resource in response to detecting when metadata associated with the given resource is deleted from said hierarchy structures.
-
-
9. A computer-implemented method for managing data in a database, the method comprising the steps of:
-
storing, within the database, contents of resources that belong to an information hierarchy; storing, within the database, data that captures the hierarchy of the resources that belong to said information hierarchy; determining, based on one or more XML schemas, which metadata attributes to store for said resources; creating one or more structures, within said database, to store said metadata attributes based on said one or more XML schemas; and storing, within said one or more structures, values for the metadata attributes associated with said resources. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer-implemented method for adding data, associated with a resource, to a database, the method comprising the steps of:
-
receiving, at a database server that manages the database, the data for the resource; inspecting the data to locate content-type information in the data; storing values for a set of metadata attributes for said resource in a first set of one or more tables without regard to any content-type information in the data; selecting a second set of one or more tables based on content-type information found in said data; and storing values for resource attributes of said resource in said second set of one or more tables. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A tangible computer-readable medium carrying instructions for managing data stored in a database system, wherein said instructions are instructions which when executed by one or more processors, cause the one or more processors to perform the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy of each of said resources; and wherein; said content structures include a resource table; said given resource is a first resource that is represented by a first row of said resource table; location data for said first resource indicates that information in a first set of one or more tables represents content of said first resource; said resource table includes a second row that represents a second resource; location data for said second resource indicates that information in a second set of one or more tables represents content for said second resource; and said first set of one or more tables are different tables than said second set of one or more tables.
-
-
29. A tangible computer-readable medium carrying instructions for managing data stored in a database system, wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy of each of said resources; and wherein; the content structures do not store data that reflects the hierarchy of information in said information hierarchy; the instructions further comprising instructions for performing the steps of; creating said hierarchy structures after said content structures are created and populated; and after creating said hierarchy structures, populating said hierarchy structures with metadata that establishes a hierarchy between information stored in said content structures without altering the structure of said content structures.
-
-
30. A tangible computer-readable medium carrying instructions for managing data stored in a database system wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy, of each of said resources; and wherein; said plurality of resources are a first plurality of resources that belong to a first information hierarchy; the instructions further comprise instructions for performing the step of storing metadata for a second plurality of resources in said hierarchy structures, wherein said metadata includes hierarchy data that indicates a position, within a second information hierarchy, of each of the resources in said second plurality of resources; and the metadata for said first plurality of resources are stored in the same hierarchy structures as the metadata for said second plurality of resources.
-
-
31. A tangible computer-readable medium carrying instructions for managing data stored in a database system, wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy, of each of said resources; and wherein; said content structures include a resource table; said given resource is a first resource that is represented by a first row of said resource table; said resource table includes a second row that represents a second resource; and the content of said second resource is stored in said second row, and not in any separate content structures.
-
-
32. A tangible computer-readable medium carrying instructions for managing data stored in a database system, wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy, of each of said resources; and wherein; a first table that has a row corresponding to each resource in the information hierarchy, wherein each row stores metadata about the resource to which the row corresponds; and a second table that identifies parent-child relationships of the resources that belong to said information hierarchy.
-
-
33. A tangible computer-readable medium carrying instructions for managing data stored in a database system, wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy of each of said resources; and automatically deleting from the hierarchical structures metadata associated with the given resource in response to detecting when content associated with the given resource is deleted from said content structures. - View Dependent Claims (35)
-
-
34. A tangible computer-readable medium carrying instructions for managing data stored in a database system, wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
storing information in content structures that are separate from hierarchy structures; storing metadata for a plurality of resources in said hierarchy structures, wherein said metadata includes; location data, associated with a given resource of said plurality of resources, that identifies which information in said content structures represents content of said given resource; and hierarchy data that indicates a position, within an information hierarchy, of each of said resources; and automatically deleting from the content structures the content of the given resource in response to detecting when metadata associated with the given resource is deleted from said hierarchy structures.
-
-
36. A tangible computer-readable medium carrying instructions for managing data in a database, wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
storing, within the database, contents of resources that belong to an information hierarchy; storing, within the database, data that captures the hierarchy of the resources that belong to said information hierarchy; determining, based on one or more XML schemas, which metadata attributes to store for said resources; creating one or more structures, within said database, to store said metadata attributes based on said one or more XML schemas; and storing, within said one or more structures, values for the metadata attributes associated with said resources. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. A tangible computer-readable medium carrying instructions for adding data, associated with a resource, to a database, wherein said instructions comprising are instructions which, when executed by one or more processors cause the one or more processors to perform the steps of:
-
receiving, at a database server that manages the database, the data for the resource; inspecting the data to locate content-type information in the data; storing values for a set of metadata attributes for said resource in a first set of one or more tables without regard to any content-type information in the data; selecting a second set of one or more tables based on content-type information found in said data; and storing values for resource attributes of said resource in said second set of one or more tables. - View Dependent Claims (50, 51, 52, 53, 54)
-
Specification