Thus, object identity ensures that an object can always be uniquely identified, thereby
automatically providing entity integrity (see Section 3.3.2). In fact, as object identity ensures uniqueness system-wide, it provides a stronger constraint than the relational data model’s entity integrity, which requires only uniqueness within a relation. In addition,objects can contain, or refer to, other objects using object identity. However, for each referenced OID in the system there should always be an object present that corresponds to the OID, that is, there should be no dangling references. For example, in the DreamHome case study, we have the relationship Branch Has Staff. If we embed each branch object in the related staff object, then we encounter the problems of information redundancy and update anomalies discussed in Section 13.2. However, if we instead embed the OID of the branch object in the related staff object, then there continues to be only one instance of each branch object in the system and consistency can be maintained more easily. In this way, objects can be shared and OIDs can be used to maintain referential integrity (see Section 3.3.3). We discuss referential integrity in OODBMSs in Section 25.6.2.