Lets start with the design. The focus is on 2 one on one relations where a person chooses a trip or a phone (as a bribe).

This is translated to the following scheme

Data modeller did generate 2 FK for each relation. I expected only 1 FK per relation, in the Person table so a trigger can check on the XOR of the arc constraint. This scheme is not what i imagined as a solution. What if we have these 2 records?
Person.p_id = 1 AND Person.t_id =2
trip.t_id = 2 AND trip.p_id =3
There is nothing to prevent this from happening, consistency down the drain... And even then, what would this accomplish that one set of relations cant do?