OID. Качество "уникальный объект".
Понятие "уникальный объектный идентификатор" (OID) является одним из основных в СОК. Как уже говорилось, именно OID, являясь единственным критерием позволяющим отличить один объект от другого, используется в объектных системах для организации доступа к объектам. Любому объекту oi на всем протяжении его жизни соответствует одно уникальное и неизменное значение OIDi . Множество возможных значений OID образует домен DOID. Следует отметить, что понятие OID служит для описания логической организации данных, то есть относится к логической уровню СОК. Рассмотрим, что же представляет из себя OID с концептуальной точки зрения.
Как уже говорилось, качество может рассматриваться как обобщение (суперпозиция) многих качеств. Вот еще один пример этого. В базе данных подержанных автомобилей состояние конкретных экземпляров определяется словами "отличное", "среднее" и т.п. Таким образом "состояние автомобиля" является качеством, которое может приобретать некоторое значение. Для того, что бы оценить состояние реального автомобиля, необходимо узнать его пробег, внешний вид и множество других параметров, так или иначе описывающих этот автомобиль Другими словами качество "состояние" является обобщением многих других качеств.
Можно предположить, что в БД подержанных автомобилей храниться информация о множестве автомобилей, состояние которых можно описывается значением "хорошее". В этом качестве все эти автомобили являются неразличимыми. Можно также предположить, что существует несколько автомобилей неразличимых по совокупности всех хранимых в БД качеств (модель, цвет, год выпуска, пробег и т.д.), т.е. вся хранящаяся в БД информация о них будет абсолютно идентичной. Но дело в том, что у реальных вещей значение всех качеств не могут быть абсолютно одинаковы - ведь они воспринимаются нами как разные вещи, т.е. взаимодействуют с другими вещами (в том числе и с нашими органами чувств) по-разному. Значения некоторых качеств этих вещей обязательно должны быть различными - а иначе мы не могли бы утверждать, что это разные вещи.
Однако при создании модели интересующей нас предметной области мы не описываем все присущие вещам качества - это не нужно и, наверное, невозможно, а среди тех, которые мы описали, может и не быть тех качеств, которые показывают, что две вещи действительно являются разными. В нашем примере такими качествами может быть точное время, когда эти "одинаковые" (по данным сохраняемым в БД) автомобили были собраны, или их точные координаты в пространстве. Нам не нужно описывать эти качества и сохранять их точные значения. Здесь важно другое - то, что эти значения, а также значения некоторых других (неважно каких) качеств описываемых вещей обязательно будут различными, что отражает тот факт, что это разные вещи. Таким образом, нужно хранить информацию о различия между любыми вещами, об их уникальности.
Речь идет о качестве, являющемся таким обобщением всех качеств объекта реального мира, которое позволяет однозначно отличить этот объект от других объектов. Это качество можно назвать "уникальный объект". Важнейшей особенностью этого качества является то, что оно присуще любому объекту, что позволяет однозначно отличить этот объект от любого другого (это соответствует утверждению о том, что именно качества являются критерием сравнения объектов). Невозможно сказать что-либо определенное о самом этом значении и о его структуре, однако одно несомненно - для того, что бы отличить один объект от другого, мы должны использовать именно его.
Подобно любому другому, качество "уникальный объект" обладает реляционной природой. Множество значений этого качества можно рассматривать как отношение QOID. Каждому объекту Oi, идентифицируемому соответствующим OIDi, в модели "объект-качество" соответствует один и только один кортеж отношения QOID. Таким образом ранее описанный домен DOID, являющийся множеством возможных значений уникальных идентификаторов объектов, может и должен рассматриваться как домен, на котором определен атрибут отношения QOID , являющийся первичный ключ этого отношения.