当然可以双主键做外键;在Oracle可以这样
Create Table DATA_ROLES(
  ROLENO    VARCHAR2(4),
  ITEMNO    VARCHAR2(8),
  Constraint I_SKILL_ROLENO Primary Key (ROLENO,ITEMNO)
);
Create Table DATA_ROLE_SKILL(
  ROLENO    VARCHAR2(4),
  ITEMNO    VARCHAR2(8),
  Constraint I_SKILL_ROLENO Foreign Key (ROLENO,ITEMNO)
     References DATA_ROLES(ROLENO,ITEMNO)
);