Я начинаю разрабатывать приложение, в котором пользователь может создавать ставки. Учитывая следующую схему
TABLE Player
PlayerID PRIMARY KEY
PlayerName
(...)
TABLE Bet
BetID PRIMARY KEY
BetName
(...)
TABLE plays_in
BetID
PlayerID
PRIMARY KEY(BetID, PlayerID)
FOREIGN KEY BetID
FOREIGN KEY PlayerID
Можно ли каким-либо образом определить уникальность для (BetName, PlayerID), чтобы ставка могла иметь одно и то же имя несколько раз, но только один раз для игрока? Это означает, что определенный игрок может участвовать только один раз в ставке с именем "MyFirstBet"? Я не хочу определять имя ставки в качестве первичного ключа или уникального, потому что любой другой игрок, который не будет играть эту ставку с игроком выше, должен иметь возможность одновременно называть свою ставку "MyFirstBet". Если это возможно, я также хочу избежать создания дополнительной таблицы. Является ли это проблемой для решения в коде, а не в СУБД?