Generating and utilizing composite keys in lieu of compound keys
First Claim
1. A computer-implemented method for generating a composite key for interacting with a data store, the method comprising the steps of:
- storing data for an entity having a plurality of attributes with a compound key, wherein values of the plurality of attributes of the entity are stored in a data store with each value of each attribute of the entity stored in a separate column of the data store, and the compound key is associated with a plurality of key columns of the data store to which the entity is bound that contain compound key values of the entity corresponding to a set of attributes identified by the compound key;
retrieving a plurality of compound key values of the entity at a database application on a computing device, the plurality of compound key values of the entity retrieved from the plurality of key columns of the data store to which the entity is bound that correspond to the set of attributes identified by the compound key;
generating a single composite key for the entity based on component parts of the compound key by applying an invertible composition transformation to the plurality of compound key values of the entity retrieved from the plurality of key columns of the data store to which the entity is bound, the single composite key for the entity including a single encoded value that is generated from binary serialization of the plurality of key columns of the data store to which the entity is bound and that is converted back into the plurality of compound key values of the entity when an inverse of the invertible composition transformation that was used to generate the single composite key for the entity is applied to decode the single encoded value; and
providing the single composite key for the entity to a separate application for requesting access to the data for the entity stored in the data store using the single composite key of for the entity.
2 Assignments
0 Petitions
Accused Products
Abstract
Various technologies and techniques are disclosed that improve the retrieval or interaction with data in databases. A database has one or more tables with compound keys. An entity key that is a single composite key of each of the compound keys is generated via an invertible composition transformation. The composite entity key is a binary serialization of the respective compound keys. The composite entity key is used by separate applications to interact with the database instead of the respective underlying compound keys. The composite entity key is decomposed into the underlying compound keys when a particular database operation needs to be performed. The results are then returned to the separate application with the composite entity key.
22 Citations
20 Claims
-
1. A computer-implemented method for generating a composite key for interacting with a data store, the method comprising the steps of:
-
storing data for an entity having a plurality of attributes with a compound key, wherein values of the plurality of attributes of the entity are stored in a data store with each value of each attribute of the entity stored in a separate column of the data store, and the compound key is associated with a plurality of key columns of the data store to which the entity is bound that contain compound key values of the entity corresponding to a set of attributes identified by the compound key; retrieving a plurality of compound key values of the entity at a database application on a computing device, the plurality of compound key values of the entity retrieved from the plurality of key columns of the data store to which the entity is bound that correspond to the set of attributes identified by the compound key; generating a single composite key for the entity based on component parts of the compound key by applying an invertible composition transformation to the plurality of compound key values of the entity retrieved from the plurality of key columns of the data store to which the entity is bound, the single composite key for the entity including a single encoded value that is generated from binary serialization of the plurality of key columns of the data store to which the entity is bound and that is converted back into the plurality of compound key values of the entity when an inverse of the invertible composition transformation that was used to generate the single composite key for the entity is applied to decode the single encoded value; and providing the single composite key for the entity to a separate application for requesting access to the data for the entity stored in the data store using the single composite key of for the entity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable storage medium storing computer-executable instructions for causing a computer to perform steps comprising:
-
storing data for an entity having a plurality of attributes with a compound key, wherein values of the plurality of attributes of the entity are stored in a data store with each value of each attribute of the entity stored in a separate column of the data store, and the compound key is associated with a plurality of key columns of the of the data store to which the entity is bound that contain compound key values corresponding to a set of attributes identified by the compound key; retrieving a plurality of compound key values of the entity, the plurality of compound key values of the entity retrieved from the plurality of key columns of the data store to which the entity is bound that correspond to the set of attributes identified by the compound key; generating a single composite key for the entity based on component parts of the compound key by applying an invertible composition transformation to the plurality of compound key values of the entity retrieved from the plurality of key columns of the data store to which the entity is bound, the single composite key for the entity including a single encoded value that is generated from binary serialization of the plurality of key columns of the data store to which the entity is bound and that is converted back into the plurality of compound key values of the entity when an inverse of the invertible composition transformation that was used to generate the single composite key for the entity is applied to decode the single encoded value; providing the single composite key for the entity to a separate application; receiving a request from the separate application to perform a database operation on data stored for the entity in the data store using the single composite key for the entity to request access to the data stored for the entity in the data store; generating a compound key for the entity comprising the plurality of compound key values of the entity by applying the inverse of the invertible composition transformation to the single composite key for the entity; and using the compound key for the entity to perform the database operation on the data stored for the entity in the data store. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer-implemented method for using a composite key of to interact with a data store, the method comprising the steps of:
-
storing data for an entity having a plurality of attributes with a compound key, wherein values of the plurality of attributes of the entity are stored in a data store with each value of each attribute of the entity stored in a separate column of the data store, and the compound key is associated with a plurality of key columns of the data store to which the entity is bound that contain compound key values corresponding to a set of attributes identified by the compound key; generating a binary serialization of the plurality of key columns of the data store to which the entity is bound at a database application on a computing device, the binary serialization of the plurality of key columns of the data store comprising a single encoded binary value that is converted into a plurality of compound key values of the entity when the single encoded binary value is decoded; including the binary serialization of the compound key in a single composite key for the entity; including a null value bitmask having bits corresponding to the plurality of key columns in the single composite key for the entity if one or more of the plurality of key columns of the data store to which the entity is bound contain a null value; receiving a request to access the data stored for the entity in the data store using the single composite key for the entity; converting the binary serialization of the plurality of key columns of the data store included in the single composite key for the entity from the singled encoded binary value into the plurality of compound key values of the entity; generating a compound key for the entity comprising the plurality of compound key values of the entity; and using the compound key for the entity to perform a database operation on the data stored for the entity in the data store. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification