Разработка прототипа системы управления объектно-ориентированной базой данных



Идентичность и эквивалентность


В ООБД при сравнении двух объектов между собой различают идентичность и эквивалентность объектов.

Определение идентичности

 Два объекта являются идентичными, если их идентификаторы совпадают. Поскольку в системе не может быть двух объектов с одинаковыми идентификаторами, это означает, что это один и тот же объект, на который ссылаются с двух разных мест. Идентичность обозначается так: o1

º o2.

Определение  N-эквивалентности

Пусть 0-эквивалентность (обозначается »0) то же самое, что проверка идентичности º. Тогда для любых двух объектов o1, o2ÎO, o1 и o2  n-эквивалентны (обозначается o1 »n o2) для  n > 0, если:

Существует атомарный объект c, такой, что значение(o1) = значение(o2) и их поведения идентичны;

Существует объект-агрегат c, такой, что FID каждого поля с присутствует в o1

и o2, а также верно обратное: FID каждого поля o1 (o2) присутствует в c,

значение(o1)=[A1 : x1, …, Am : xm] и значение(o2)=[A1 : y1, …, Am : ym], и при этом

xi  »n-1  yi для 1£ i £ n; или

Существует объект-условие c, такой, что значение(o1) = <x1,  x2,  x3> и значение(o2) = <y1,  y2,  y3> и xi  »n-1  yi для 1£ i £ 3; или

Существует объект-множество c, такой, что значение(o1) = {x1, …,  xl} и значение(o2) 

= {y1, …,  ym}  и  l = m  и  для каждого xi(yj) существует один yj(xi) : xi »n-1  yj для 1£ i,j £ l; или

Существует объект-список c, такой, что значение(o1) = (x1, …,  xl) и значение(o2) = (y1, …,  ym)  и  l = m  и  xi »n-1  yi для 1£ i £ l.

Два объекта называются эквивалентными (o1 » o2) тогда и только тогда, когда

o1 »n o2

для некоторого  n > 0.




Содержание  Назад  Вперед