Method for accessing and updating data in a database using membership abstractions and logical representations

McGoveran; David O.

Patent Application Summary

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 Number20100023551 12/587209
Document ID /
Family ID46328476
Filed Date2010-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

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed