• Foreign keys, as you have found out, need to reference a candidate key in the referenced table.

    If your design is such that the subset of attributes you wish to "FK to" do not uniquely identify a row in the referenced table (i.e., the subset does not form a candidate key), then this points toward a normalization issue. I would look to see if there is a meaningful set of predicates that could be represented by decomposing the table into two or more new tables, one of which has as its candidate key the subset you're interested in. Then "FK to" that table.

    HTH,

    TroyK

    Edited to add: As others have pointed out, if the attribute(s) of interest that you wish to "FK to" are, in fact, uniquely identifying, simply declare that uniqueness constraint and then you can declare the FK.