Я составляю план базы данных, и меня немного смущает нормализация ко второй нормальной форме. Меня также беспокоит большое количество столбцов, и я не могу правильно понять, что с ними делать.
Это моя таблица, на которой я сосредоточен MatchDetails
:
Идея 1
Player_ID
- это уникальный первичный ключ для другой таблицы Users
. MatchID
- это уникальный первичный ключ для таблицы Matches
. Отношения между Матчами и Игроками многогранны.
Будет ли это работать как составной ключ? В том смысле, что 1 игрок мог принять участие в конкретном матче только один раз? Имеют ли столбцы справа от MatchID
функциональную зависимость от составного ключа в том смысле, что они уникальны для этого составного ключа?
Идея 2
В этом примере Participation_ID
- это уникальный первичный ключ для таблицы, поскольку может быть несколько экземпляров одного и того же Player_ID
и одного и того же MatchID
для различных комбинаций игроков и совпадений.
В этом примере я бы предположил, что этот столбец находится во второй нормальной форме, потому что существует только один первичный ключ, а значения соответствия уникальны и, следовательно, функционально зависимы? Я немного запутался в функциональной зависимости, несмотря на то, что пытался прочитать об этом здесь.
Ну и еще одна мелочь ...
Последнее, в чем я немного сомневаюсь, - это огромное количество столбцов. Вся информация справа от MatchID
- это подробности о том, КАК игрок (Player_ID
) выступил в матче (MatchID
). Должны ли они быть в другой таблице?
Ссылка на другие таблицы, если вы хотите увидеть макет на данный момент: https://i.imgur.com/52ax04g.png
Не обращайте внимания на то, что у MatchID нет символа подчеркивания, а у другого идентификатора есть. Это только тарифный план Excel!