Automated referential integrity maintenance
First Claim
1. A method of providing referential integrity in a data architecture, the data architecture including a plurality of data elements, wherein certain of the data elements are linked to other of the data elements, the method comprising:
- providing the ability for a first data element to depend from and be linked to a second data element;
providing the ability for the first data element to also depend from and be linked to a third data element;
when a given data element is to be deleted, checking to see if the given data element has other data elements depending from the given data element;
if the given data element has other data elements depending therefrom, deleting the dependent data elements if the dependent data elements are not dependent on other data elements; and
if the given data element has other data elements depending therefrom and the dependent data elements are dependent on other data elements, determining if the dependent nature of the dependent data element to the given data elements is a true bind or is a link reference;
wherein the first data element is only stored in one location, the storage being associated with the second data element, with only a referential link between the first data element and the third data element.
2 Assignments
0 Petitions
Accused Products
Abstract
A technique for maintaining referential integrity between data records in any data architecture in which only a single copy is kept of any particular data record. The technique includes providing the ability to bind a data record to a parent data record by storing the data record in a manner associated with the parent record. If the data record then is bound to other parent data records, a link reference is used that is stored in an attribute of the data record, rather than associating another copy of the data record with the second parent data record. It is possible to bind any data record to any other data record, so circular relationships can be created. In addition, there are special methods used when a data record is to be deleted to make sure that all parents or children of that data record are considered, in order to update bind information or delete the children as may be appropriate.
53 Citations
20 Claims
-
1. A method of providing referential integrity in a data architecture, the data architecture including a plurality of data elements, wherein certain of the data elements are linked to other of the data elements, the method comprising:
-
providing the ability for a first data element to depend from and be linked to a second data element;
providing the ability for the first data element to also depend from and be linked to a third data element;
when a given data element is to be deleted, checking to see if the given data element has other data elements depending from the given data element;
if the given data element has other data elements depending therefrom, deleting the dependent data elements if the dependent data elements are not dependent on other data elements; and
if the given data element has other data elements depending therefrom and the dependent data elements are dependent on other data elements, determining if the dependent nature of the dependent data element to the given data elements is a true bind or is a link reference;
wherein the first data element is only stored in one location, the storage being associated with the second data element, with only a referential link between the first data element and the third data element. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
if the dependent nature of the dependent data element to the given data element is a true bind, changing the storage of the dependent data element to a storage associated with one of the other data elements to which the dependent data element is dependent.
-
-
8. A method as defined in claim 7, further including:
determining if the dependent data element is also dependent on data elements in addition to the one to which the dependent data element now has associated storage.
-
9. A method as defined in claim 8, further including:
if the dependent data element is also dependent on data elements in addition to the one to which the dependent data element now has associated storage, updating linking information related thereto.
-
10. A data architecture comprising:
-
a plurality of data elements including a first data element, a second data element, and a third data element, wherein certain of the data elements are linked to other of the data elements;
the first data element depending from and linked to a second data element;
the first data element depending from and linked to a third data element;
wherein the first data element is only stored in one location, the storage being associated with the second data element, with only a referential link between the first data element and the third data element;
when a given data element is to be deleted, checking to see if the given data element has other data elements depending from the given data element;
if the given data element has other data elements depending therefrom, deleting the dependent data elements if the dependent data elements are not dependent on other data elements;
if the given data element has other data elements depending therefrom and the dependent data elements are dependent on other data elements, determining if the dependent nature of the dependent data element to the given data elements is a true bind or is a link reference; and
if the dependent nature of the dependent data element to the given data element is a true bind, changing the storage of the dependent data element to a storage associated with one of the other data elements to which the dependent data element is dependent. - View Dependent Claims (11, 12, 13, 14)
determining if the dependent data element is also dependent on data elements in addition to the one to which the dependent data element now has associated storage; and
if the dependent data element is also dependent on data elements in addition to the one to which the dependent data element now has associated storage, updating linking information related thereto.
-
-
15. A computer program product embodied on a propagating signal, comprising:
-
computer program devices readable by a data processor coupled to receive the propagating signal for providing referential integrity in a data architecture, the data architecture including a plurality of data elements, wherein certain of the data elements are linked to other of the data elements, the computer program devices including;
first program code devices configured to cause the data processor to provide the ability for a first data element to depend from and be linked to a second data element;
second program code devices configured to cause the data processor to provide the ability for the first data element to also depend from and be linked to a third data element;
third program code devices configured to cause the data processor to allow the first data element to only be stored in one location, the storage being associated with the second data element, with only a referential link between the first data element and the third data element;
fourth program code devices configured when a given data element is to be deleted to cause the processor to check to see if the given data element has other data elements depending from the given data element;
fifth program code devices configured if the given data element has other data elements depending therefrom to cause the processor to delete the dependent data elements if the dependent data elements are not dependent on other data elements; and
sixth program code device configured if the given data element has other data elements depending therefrom and the dependent data elements are dependent on other data elements to cause the processor to determine if the dependent nature of the dependent data element to the given data elements is a true bind or is a link reference. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A method of maintaining profile information in a distributed computing environment, the method comprising:
-
providing a first profile with an ability to be referentially linked to other profiles and to have a single true bind to one other profile as indicated in an attribute element of the first profile;
providing a second profile with an ability to be referentially linked to other profiles and to have a single true bind to one other profile as indicated in an attribute element of the second profile; and
providing a third profile with an ability to be referentially linked to other profiles and to have a single true bind to one other profile as indicated in an attribute element of the third profile;
wherein the attribute of the first profile indicates a true bind to the second profile and the first profile is stored in a single location associated with the second data element and the attribute of the first profile indicates only a referential link between the first data element and the third data element and further wherein a later deleting of the second profile includes changing the single storage location of the first profile to a storage associated with another profile to which the first profile is determined dependent.
-
Specification