U.S. patent application number 12/587209 was filed with the patent office on 2010-01-28 for method for accessing and updating data in a database using membership abstractions and logical representations.
Invention is credited to David O. McGoveran.
Application Number | 20100023551 12/587209 |
Document ID | / |
Family ID | 46328476 |
Filed Date | 2010-01-28 |
United States Patent
Application |
20100023551 |
Kind Code |
A1 |
McGoveran; David O. |
January 28, 2010 |
Method for accessing and updating data in a database using
membership abstractions and logical representations
Abstract
This is a computer-implemented method for accessing and updating
data in a database that preserves relationships among data,
including derived data. Data need not be stored in a tabular form.
The method incorporates and integrates membership abstractions,
relation predicates, and logical predicates of data with
relationships among data so as too avoid update and other errors
and to translate among logical representations, symbolic
abstractions, and physical representations.
Inventors: |
McGoveran; David O.;
(Boulder Creek, CA) |
Correspondence
Address: |
David McGoveran
P.O. Box 2097
Boulder Creek
CA
95006
US
|
Family ID: |
46328476 |
Appl. No.: |
12/587209 |
Filed: |
October 3, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11649089 |
Dec 31, 2006 |
7620664 |
|
|
12587209 |
|
|
|
|
10114609 |
Apr 2, 2002 |
7263512 |
|
|
11649089 |
|
|
|
|
Current CPC
Class: |
Y10S 707/99943 20130101;
Y10S 707/99942 20130101; G06F 16/284 20190101; Y10S 707/99954
20130101; Y10S 707/99931 20130101; Y10S 707/99944 20130101 |
Class at
Publication: |
707/102 ;
707/200; 707/E17.044; 711/E12.001 |
International
Class: |
G06F 7/00 20060101
G06F007/00; G06F 12/00 20060101 G06F012/00 |
Claims
1. A computer implemented method for accessing and updating data in
a database comprising: accepting an expression comprising at least
both an operation on the first derived data and a first data
reference to a first derived data; selecting a first derived
membership abstraction associated with the first data reference;
decomposing the first derived membership abstraction into a
decomposed derived membership abstraction, said decomposed derived
membership abstraction comprising a set of source data references
to source data, a set of operations on the source data, and a set
of constraints; forming a derived expression by modifying the
expression according to, and incorporating elements of, the
decomposed derived membership abstraction, said derived expression
being logically equivalent to the expression; and, performing at
least a first operation in the set of operations on the source data
as specified by and according to the derived expression.
2. A method as in claim 1 wherein at least a portion of the source
data has a tabular representation.
3. A method as in claim 1 wherein at least a portion of the source
data is has a non-tabular representation.
4. A method as in claim 1 wherein the set of constraints comprises
at least one multi-table constraint.
5. A method as in claim 1 wherein the set of constraints comprises
at least one column constraint.
6. A method as in claim 1 wherein the set of constraints comprises
at least one row constraint.
7. A method as in claim 1 wherein the set of constraints comprises
at least one multi-row constraint.
8. A method as in claim 1 further comprising identifying at least
one membership abstraction as corresponding to at least one data
reference in the derived expression.
9. A method as in claim 1 further comprising identifying at least
one table name as corresponding to at least one data reference in
the derived expression.
10. A method as in claim 1 further comprising identifying at least
one table metadata as corresponding to at least one data reference
in the derived expression.
11. A method as in claim 1 further comprising identifying at least
one relation predicate as corresponding to at least one data
reference in the derived expression.
12. A method as in claim 1 further comprising identifying at least
one logical predicate as corresponding to at least one data
reference in the derived expression.
13. A method as in claim 1 further comprising identifying at least
one data structure as corresponding to at least one data reference
in the derived expression.
14. A method as in claim 1 wherein at least one membership
abstraction denoted by a table name.
15. A method as in claim 1 wherein at least one membership
abstraction comprises a plurality of membership abstractions.
16. A method as in claim 1 wherein at least member of a set
consisting of the first derived membership abstraction and the
decomposed derived membership abstraction is a logical
predicate.
17. A method as in claim 1 wherein at least member of a set
consisting of the first derived membership abstraction and the
decomposed derived membership abstraction is a relation
predicate.
18. A method as in claim 1 wherein the step of performing is
determined to be logically consistent with each membership
abstraction logically implied by the derived expression.
19. A method as in claim 1 further comprising: applying each
operation of the set of operations when that operation as specified
by the derived expression is determined to be logically consistent
with a membership abstraction associated with the data to which
that operation is to be applied.
20. A method as in claim 1 wherein the physical representation of
at least a portion of the source data is non-tabular.
21. A method as in claim 1 wherein at least one membership
abstraction associated with at least one data reference is stored
in and retrieved from a repository.
22. A method as in claim 1 wherein the said derived expression
comprises a set of source membership abstractions and is logically
equivalent to the expression.
23. A method as in claim 1 wherein the step of performing further
comprises applying the set of operations on source data to a
physical representation of source data according to and consistent
with a logical representation of source data.
24. A method as in claim 1 further comprising: checking, after the
step of performing, whether the result of performing at least the
first operation is logically consistent with at least a first
post-operation constraint; guaranteeing that the first operation
has no effect on the source data if the step of checking determines
that the result of that first operation on the source data is not
logically consistent with the first post-operation constraint; and,
completing the effect on the source data by the first operation if
and only if the step of checking determines that the result of that
operation is consistent with the first post-operation
constraint.
25. A method as in claim 24 wherein the first post-operation
constraint is among a plurality of source data;
26. A method as in claim 24 wherein the first post-operation
constraint is on data having a plurality of data structures.
27. A method as in claim 24 wherein the step of guaranteeing has a
result that is equivalent to the first operation having no effect
on the source data and is independent of the result of other
operations logically implied by the derived expression.
28. A computer implemented method for accessing and updating data
in a database comprising: specifying a plurality of membership
abstractions, each corresponding to a member of a set of data
types; defining a derived data type as comprising at least a
combination of at least two members of the set of data types;
deriving a derived membership abstraction for the derived data type
as comprising both the plurality of membership abstractions, and a
set of operators corresponding to the combination and comprising at
least a first operator; storing the derived membership abstraction
in association with a first symbolic reference to the derived data
type, and each of the plurality of membership abstractions in
association with at least one symbolic reference to that membership
abstraction's corresponding data type; and, modifying the derived
membership abstraction responsive to a change in at least one of
the set of data types, the plurality of membership abstractions,
and the combination.
29. A method as in claim 28 wherein the first operator corresponds
to one member of a set of operators consisting of a logical
operator, a relational operator, and a set operator.
30. A method as in claim 28 wherein at least one of the derived
data type and a member of the set of data types is a table column's
type.
31. A method as in claim 28 wherein at least one of the derived
data type and a member of the set of data types is one member of a
set consisting of a table's type and a relation's type.
32. A method as in claim 28 wherein at least one of the derived
data type and a member of the set of data types is a non-tabular
type.
33. A method as in claim 28 wherein at least one of the plurality
of membership abstractions and the derived membership abstraction
is a member of a set consisting of a logical predicate and a
relation predicate.
34. A method as in claim 28 wherein at least one of the plurality
of membership abstractions and the derived membership abstraction
is denoted by a symbolic name.
35. A method as in claim 28 wherein the first operator corresponds
to a computational procedure.
36. A method as in claim 35 wherein the computational procedure
produces at least one member of a set of results consisting of
summarized data and aggregated data.
37. A data processing system comprising: a processor for performing
operations; a storage means for storing any of expressions,
operations, data, data references, membership abstractions, and
metadata; means for accepting a expression comprising at least a
first data reference to a first derived data and an operation on
the first derived data; means for selecting a first derived
membership abstraction associated with the first data reference;
means for decomposing the first derived membership abstraction into
a decomposed derived membership abstraction, said decomposed
derived membership abstraction comprising a set of source data
references to source data, a set of operations on the source data,
and a set of constraints; means for forming a derived expression by
modifying the expression according to and incorporating elements of
the decomposed derived membership abstraction, and being logically
equivalent to the expression; and, means for performing at least a
first operation in the set of operations on the source data as
specified by and according to the derived expression.
38. An apparatus comprising machine-readable program code recorded
on recordable media, the program code comprising instructions for
controlling the operation of at least a first data processing
system on which it executes to perform the following steps:
accepting a expression comprising at least a first data reference
to a first derived data and an operation on the first derived data;
selecting a first derived membership abstraction associated with
the first data reference; decomposing the first derived membership
abstraction into a decomposed derived membership abstraction, said
decomposed derived membership abstraction comprising a set of
source data references to source data, a set of operations on the
source data, and a set of constraints; forming a derived expression
by modifying the expression according to and incorporating elements
of the decomposed derived membership abstraction, and being
logically equivalent to the expression; and, performing at least a
first operation in the set of operations on the source data as
specified by and according to the derived expression.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims benefit of priority of, and is a
division of, U.S. patent application Ser. No. 11/649,089, filed on
Dec. 31, 2006, which is a continuation-in-part of Ser. No.
10/114,609, filed Apr. 2, 2002, now U.S. Pat. No. 7,263,512. This
application is filed to continue the prosecution, separately, of
the invention described in the claims 1-38 below, and expressly
incorporates both below and by reference all of the original
application's specification and drawings.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
[0002] Not Applicable
DESCRIPTION OF ATTACHED APPENDIX
[0003] Not Applicable
* * * * *