Вопрос к знатокам баз данных!
Требуется разработать базу данных "мини-футбольный турнир". На этапе проектирования возникла большая загвоздка, которую по-человечески решить пока не получается. Проблема состоит в следующем. На мини-футбольном турнире каждая команда сыграет несколько игр. Перед каждой игрой, каждая команда обязана заполнять заявку на игру, куда вносятся максимум 12 футболистов с каждой стороны. Для удобства было принято решение разделить таблицу с составами гостей и таблицу с составами хозяев. В эти таблицы заносятся данные обо всех участниках всех сыгранных на данный момент игр, т. е сначала идут 12 человек одной команды, потом идут 12 человек другой команды, затем 12 человек третьей команды, а затем может быть ситуация, что снова играет первая команда и мы должны занести их в таблицу опять. У каждой игры есть свой уникальный номер - шифр игры. Ну так вот проблема в следующем - какой выставить первичный ключ для таблиц с составами? Шифр игрока нельзя, т. к. за турнир они сыграют более 1 раза, следовательно и в этой таблице будут фигурировать более 1 раза, а первичное поле дублироваться не должно. Шифр команды, шифр игры тоже нельзя поставить, по тем же причинам.
У кого-нибудь есть светлые идеи? Можно конечно обычный счетчик поставить в качестве первичного поля, но тогда это как-то по-дилетантски будет.. . хранить в бд арифметическую прогрессию, которая нигде и никак не используется.. . не подходит.. . а ничего другого пока в голову не приходит!