eu tenho uma mesa
CREATE TABLE (game, team, player, position);
Se eu criar um índice único em (game, player, position)
recebo uma mesa onde no mesmo jogo, o mesmo jogador não pode jogar na mesma posição para os dois times. Isso é útil, mas ainda é possível que alguém insira uma linha onde o mesmo jogador jogue em duas posições diferentes, uma em cada equipe.
É possível escrever algum tipo de índice ou restrição única que impossibilite o mesmo jogador de jogar pelas duas equipes em um jogo?
Você pode usar uma restrição EXCLUDE :
Você vai querer colocar a coluna != no final da lista de colunas, caso contrário, aplicar a restrição será mais lento.