我正在尝试确定一组唯一标识Account_Nameinfo_T中一行的字段。 Oracle BRM不使用约束,因此我无法以这种方式确定它。有谁知道这些领域?更好的是,有没有人知道如何为BRM中的其他表确定这个?
(显然SO中没有Oracle-Brm标签)。
答案 0 :(得分:2)
OBJ_ID0和REC_ID的组合是唯一标识ACCOUNT_NAMEINFO_T表中行的内容。
如果此表格的REC_ID通常为1或2(我相信1是BILLING,2是SERVICE)。
Oracle BRM中的主要表(例如ACCOUNT_T,EVENT_T,CONFIG_T)由POID_ID0唯一标识。
所有子表都由OBJ_ID0(当表映射到PIN_FLD_SUBSTRUCT时)或OBJ_ID0和REC_ID的组合(当表映射到PIN_FLD_ARRAY时)唯一标识。
答案 1 :(得分:1)
只需在@Pavel Chernikov提供的(好的)答案中添加更多信息。
通常,BRM将类的定义存储在3个数据字典表(即DD_OBJECTS_T
,DD_FIELDS_T
和DD_OBJECTS_FIELDS_T
)中,但是您应该使用开发人员中心的类浏览器来拥有方便的图形视图。
此外,BRM文档(在BRM文档-参考-数据库参考-可存储的类定义下)具有有关类定义的大量信息。
例如,我们可以看看/account
类:
ACCOUNT_T
PIN_FLD_NAMEINFO
映射到表ACCOUNT_NAMEINFO_T
ACCOUNT_NAMEINFO_T
中的记录将由这对夫妇唯一标识
OBJ_ID0
,可以认为是POID_ID0
中相应记录的ACCOUNT_T
(*)的外键REC_ID
,称为元素ID,用于区分ACCOUNT_NAMEINFO_T
中相同记录的ACCOUNT_T
中可能的多个记录数组
PIN_FLD_NAMEINFO
:帐户的联系信息。该数组包含任意数量的联系人,并包含联系人类型的说明。 除计费联系人(1)和邮寄联系人(2)之外,元素ID并不重要。元素ID的3-100保留。
REC_ID2
:例如,在同一数组PIN_FLD_PHONES
中的数组PIN_FLD_NAMEINFO
映射到表{{ 1}},其中记录将由三元组(ACCOUNT_PHONES_T
,OBJ_ID0
,REC_ID
)唯一标识(*)请注意,POID通常由4个元素组成:
REC_ID2
)POID_ID0
)POID_TYPE
)POID_DB
)但是,对于单数据库安装以及为了便于讨论,我们可以假定ID足以在给定表中唯一地标识一条记录。