В ООБД при сравнении двух объектов между собой различают идентичность и эквивалентность объектов.
Определение идентичности
Два объекта являются идентичными, если их идентификаторы совпадают. Поскольку в системе не может быть двух объектов с одинаковыми идентификаторами, это означает, что это один и тот же объект, на который ссылаются с двух разных мест. Идентичность обозначается так: 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.